[INFO] cloning repository https://github.com/alessandrome/YAEmulator-Rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/alessandrome/YAEmulator-Rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falessandrome%2FYAEmulator-Rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falessandrome%2FYAEmulator-Rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 185abf3533921c3e6e1f3234fee31a3bc4103d4b
[INFO] checking alessandrome/YAEmulator-Rust against try#987a165cfab916796a8315782b83ac460a651ce2 for pr-145262
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falessandrome%2FYAEmulator-Rust" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/alessandrome/YAEmulator-Rust
[INFO] finished tweaking git repo https://github.com/alessandrome/YAEmulator-Rust
[INFO] tweaked toml for git repo https://github.com/alessandrome/YAEmulator-Rust written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/alessandrome/YAEmulator-Rust on toolchain 987a165cfab916796a8315782b83ac460a651ce2
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+987a165cfab916796a8315782b83ac460a651ce2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/alessandrome/YAEmulator-Rust 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" "+987a165cfab916796a8315782b83ac460a651ce2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+987a165cfab916796a8315782b83ac460a651ce2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 01a2a9282b9c840d438c19b7d07340fc5b243a7b8c7785a8c92d8809a552955e
[INFO] running `Command { std: "docker" "start" "-a" "01a2a9282b9c840d438c19b7d07340fc5b243a7b8c7785a8c92d8809a552955e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "01a2a9282b9c840d438c19b7d07340fc5b243a7b8c7785a8c92d8809a552955e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "01a2a9282b9c840d438c19b7d07340fc5b243a7b8c7785a8c92d8809a552955e", kill_on_drop: false }`
[INFO] [stdout] 01a2a9282b9c840d438c19b7d07340fc5b243a7b8c7785a8c92d8809a552955e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+987a165cfab916796a8315782b83ac460a651ce2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d11bc3d0d4cb5a6178c9a44e33774b42e5462413ad25bdfeb65f5b38865cfee5
[INFO] running `Command { std: "docker" "start" "-a" "d11bc3d0d4cb5a6178c9a44e33774b42e5462413ad25bdfeb65f5b38865cfee5", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.79
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling autocfg v1.2.0
[INFO] [stderr]    Compiling libc v0.2.161
[INFO] [stderr]     Checking bitflags v2.5.0
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]    Compiling libm v0.2.8
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling rustix v0.38.37
[INFO] [stderr]     Checking linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling thiserror v1.0.58
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]     Checking pin-project-lite v0.2.14
[INFO] [stderr]     Checking libloading v0.8.3
[INFO] [stderr]    Compiling cc v1.0.90
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]     Checking downcast-rs v1.2.0
[INFO] [stderr]     Checking arrayvec v0.7.4
[INFO] [stderr]    Compiling memchr v2.7.2
[INFO] [stderr]     Checking scoped-tls v1.0.1
[INFO] [stderr]    Compiling cfg_aliases v0.1.1
[INFO] [stderr]     Checking zerocopy v0.7.32
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking raw-window-handle v0.6.0
[INFO] [stderr]     Checking ttf-parser v0.20.0
[INFO] [stderr]    Compiling siphasher v0.3.11
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling phf_shared v0.11.2
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling crc32fast v1.4.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]     Checking futures-sink v0.3.30
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]    Compiling palette v0.7.5
[INFO] [stderr]     Checking allocator-api2 v0.2.16
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling wayland-sys v0.31.1
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]     Checking smol_str v0.2.1
[INFO] [stderr]     Checking miniz_oxide v0.7.2
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]    Compiling slotmap v1.0.7
[INFO] [stderr]    Compiling lock_api v0.4.11
[INFO] [stderr]    Compiling quick-xml v0.31.0
[INFO] [stderr]     Checking futures-io v0.3.30
[INFO] [stderr]     Checking futures-task v0.3.30
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]    Compiling syn v2.0.58
[INFO] [stderr]     Checking fast-srgb8 v1.0.0
[INFO] [stderr]     Checking as-raw-xcb-connection v1.0.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.9
[INFO] [stderr]     Checking fdeflate v0.3.4
[INFO] [stderr]     Checking web-time v0.2.4
[INFO] [stderr]     Checking strict-num v0.1.1
[INFO] [stderr]     Checking xkeysym v0.2.0
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]     Checking memmap2 v0.9.4
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking arrayref v0.3.7
[INFO] [stderr]     Checking x11rb-protocol v0.13.0
[INFO] [stderr]    Compiling smithay-client-toolkit v0.18.1
[INFO] [stderr]    Compiling phf_generator v0.11.2
[INFO] [stderr]     Checking xcursor v0.3.5
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]     Checking roxmltree v0.19.0
[INFO] [stderr]     Checking xxhash-rust v0.8.10
[INFO] [stderr]     Checking cursor-icon v1.1.0
[INFO] [stderr]     Checking glam v0.25.0
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]     Checking flate2 v1.0.28
[INFO] [stderr]     Checking hashbrown v0.14.3
[INFO] [stderr]     Checking png v0.17.13
[INFO] [stderr]     Checking memmap2 v0.8.0
[INFO] [stderr]     Checking ttf-parser v0.19.2
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]    Compiling khronos-egl v6.0.0
[INFO] [stderr]     Checking yazi v0.1.6
[INFO] [stderr]    Compiling wayland-backend v0.3.3
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]    Compiling wayland-scanner v0.31.1
[INFO] [stderr]     Checking fontconfig-parser v0.5.6
[INFO] [stderr]     Checking euclid v0.22.9
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking unicode-ccc v0.1.2
[INFO] [stderr]     Checking unicode-properties v0.1.1
[INFO] [stderr]     Checking equivalent v1.0.1
[INFO] [stderr]    Compiling ash v0.37.3+1.3.251
[INFO] [stderr]    Compiling cfg_aliases v0.2.0
[INFO] [stderr]     Checking unicode-width v0.1.11
[INFO] [stderr]     Checking unicode-script v0.5.6
[INFO] [stderr]     Checking unicode-bidi-mirroring v0.1.0
[INFO] [stderr]     Checking zeno v0.2.3
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking indexmap v2.2.6
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]    Compiling wgpu-hal v0.19.3
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking gpu-descriptor-types v0.1.2
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking libloading v0.7.4
[INFO] [stderr]     Checking self_cell v1.0.3
[INFO] [stderr]     Checking unicode-linebreak v0.1.5
[INFO] [stderr]     Checking unicode-segmentation v1.11.0
[INFO] [stderr]     Checking unicode-xid v0.2.4
[INFO] [stderr]    Compiling drm-sys v0.6.1
[INFO] [stderr]     Checking hexf-parse v0.2.1
[INFO] [stderr]     Checking unicode-bidi v0.3.15
[INFO] [stderr]     Checking rangemap v1.5.1
[INFO] [stderr]     Checking sys-locale v0.3.1
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]     Checking gpu-descriptor v0.2.4
[INFO] [stderr]    Compiling wgpu-core v0.19.3
[INFO] [stderr]     Checking wgpu-types v0.19.2
[INFO] [stderr]     Checking glow v0.13.1
[INFO] [stderr]     Checking linux-raw-sys v0.6.4
[INFO] [stderr]     Checking profiling v1.0.15
[INFO] [stderr]    Compiling drm-fourcc v2.2.0
[INFO] [stderr]     Checking renderdoc-sys v1.1.0
[INFO] [stderr]     Checking owned_ttf_parser v0.20.0
[INFO] [stderr]    Compiling wgpu v0.19.3
[INFO] [stderr]     Checking half v2.4.0
[INFO] [stderr]     Checking lyon_geom v1.0.5
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.8
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking svg_fmt v0.4.2
[INFO] [stderr]     Checking ab_glyph v0.2.23
[INFO] [stderr]    Compiling softbuffer v0.4.1
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling proc-macro2-diagnostics v0.10.1
[INFO] [stderr]     Checking float_next_after v1.0.0
[INFO] [stderr]     Checking etagere v0.2.10
[INFO] [stderr]     Checking lru v0.12.3
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]     Checking fastrand v2.0.2
[INFO] [stderr]    Compiling either v1.10.0
[INFO] [stderr]     Checking guillotiere v0.6.2
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking kurbo v0.10.4
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling winit v0.29.15
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]     Checking fontdb v0.15.0
[INFO] [stderr]     Checking utf8parse v0.2.1
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking lyon_path v1.0.4
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]     Checking anstyle-parse v0.2.3
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking anstyle v1.0.6
[INFO] [stderr]     Checking anstyle-query v1.0.2
[INFO] [stderr]     Checking colorchoice v1.0.0
[INFO] [stderr]     Checking aliasable v0.1.3
[INFO] [stderr]    Compiling winit v0.30.0
[INFO] [stderr]     Checking anstream v0.6.13
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]     Checking clap_lex v0.7.0
[INFO] [stderr]     Checking dpi v0.1.1
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking lyon_algorithms v1.0.4
[INFO] [stderr]     Checking lyon_tessellation v1.0.13
[INFO] [stderr]     Checking clap_builder v4.5.2
[INFO] [stderr]     Checking signal-hook-mio v0.2.4
[INFO] [stderr]     Checking lyon v1.0.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.58
[INFO] [stderr]    Compiling bytemuck_derive v1.6.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling phf_macros v0.11.2
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling palette_derive v0.7.5
[INFO] [stderr]    Compiling ctor v0.2.7
[INFO] [stderr]    Compiling clap_derive v4.5.4
[INFO] [stderr]    Compiling ouroboros_macro v0.18.3
[INFO] [stderr]     Checking phf v0.11.2
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking bytemuck v1.15.0
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking naga v0.19.2
[INFO] [stderr]     Checking font-types v0.5.2
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking rustybuzz v0.11.0
[INFO] [stderr]     Checking tiny-xlib v0.2.2
[INFO] [stderr]     Checking read-fonts v0.19.0
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking ouroboros v0.18.3
[INFO] [stderr]     Checking clap v4.5.4
[INFO] [stderr]     Checking polling v3.6.0
[INFO] [stderr]     Checking drm-ffi v0.7.1
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking drm v0.11.1
[INFO] [stderr]     Checking calloop v0.12.4
[INFO] [stderr]     Checking wayland-client v0.31.2
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]     Checking wayland-protocols v0.31.2
[INFO] [stderr]     Checking calloop-wayland-source v0.2.0
[INFO] [stderr]     Checking wayland-cursor v0.31.1
[INFO] [stderr]     Checking swash v0.1.15
[INFO] [stderr]     Checking iced_core v0.12.3
[INFO] [stderr]     Checking iced_futures v0.12.0
[INFO] [stderr]     Checking iced_style v0.12.1
[INFO] [stderr]     Checking iced_runtime v0.12.1
[INFO] [stderr]     Checking x11rb v0.13.0
[INFO] [stderr]     Checking wayland-protocols-wlr v0.2.0
[INFO] [stderr]     Checking wayland-protocols-plasma v0.2.0
[INFO] [stderr]     Checking cosmic-text v0.10.0
[INFO] [stderr]     Checking smithay-clipboard v0.7.1
[INFO] [stderr]     Checking sctk-adwaita v0.8.1
[INFO] [stderr]     Checking sctk-adwaita v0.9.0
[INFO] [stderr]     Checking clipboard_x11 v0.4.2
[INFO] [stderr]     Checking clipboard_wayland v0.2.2
[INFO] [stderr]     Checking window_clipboard v0.4.1
[INFO] [stderr]     Checking iced_graphics v0.12.1
[INFO] [stderr]     Checking iced_tiny_skia v0.12.1
[INFO] [stderr]     Checking iced_winit v0.12.2
[INFO] [stderr]     Checking glyphon v0.5.0
[INFO] [stderr]     Checking iced_wgpu v0.12.1
[INFO] [stderr]     Checking iced_renderer v0.12.1
[INFO] [stderr]     Checking iced_widget v0.12.3
[INFO] [stderr]     Checking iced v0.12.1
[INFO] [stderr]     Checking YAEmulator v0.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::time`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `winit`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use winit;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]   --> src/GB.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::time::Instant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GB`
[INFO] [stdout]  --> src/GB/CPU/registers/core.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::{GB, mask_flag_enum_default_impl, default_enum_u8_bit_ops};
[INFO] [stdout]   |             ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::GB::debug_print`
[INFO] [stdout]  --> src/GB/CPU/registers/core.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::GB::debug_print;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `WRAM_ADDRESS` and `WRAM_SIZE`
[INFO] [stdout]  --> src/GB/CPU/registers/core.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::GB::memory::{WRAM_ADDRESS, WRAM_SIZE};
[INFO] [stdout]   |                         ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `falling_edge as utils`
[INFO] [stdout]  --> src/GB/CPU/registers/timer.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::utils::{falling_edge as utils, falling_edge};
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/GB/CPU/registers/timer.rs:80:16
[INFO] [stdout]    |
[INFO] [stdout] 80 |             if (self.tima == 0xFF) {
[INFO] [stdout]    |                ^                 ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 80 -             if (self.tima == 0xFF) {
[INFO] [stdout] 80 +             if self.tima == 0xFF {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/GB/CPU.rs:157:27
[INFO] [stdout]     |
[INFO] [stdout] 157 |                     match (instruction) {
[INFO] [stdout]     |                           ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 157 -                     match (instruction) {
[INFO] [stdout] 157 +                     match instruction {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/GB/CPU.rs:290:19
[INFO] [stdout]     |
[INFO] [stdout] 290 |             match (tac & timer::TACMask::TimerClock) {
[INFO] [stdout]     |                   ^                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 290 -             match (tac & timer::TACMask::TimerClock) {
[INFO] [stdout] 290 +             match tac & timer::TACMask::TimerClock {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::mask_flag_enum_default_impl`
[INFO] [stdout]  --> src/GB/PPU.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::mask_flag_enum_default_impl;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io`
[INFO] [stdout]  --> src/GB/cartridge.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{fmt, io};
[INFO] [stdout]   |                ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::string::FromUtf8Error`
[INFO] [stdout]   --> src/GB/cartridge.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::string::FromUtf8Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::GB::CPU::registers::core::Registers`
[INFO] [stdout]   --> src/GB/cartridge.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::GB::CPU::registers::core::Registers;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/GB/input.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/GB/input.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KeyCode` and `PhysicalKey`
[INFO] [stdout]  --> src/GB/input.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use winit::{keyboard::{KeyCode, PhysicalKey}};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RAM`, `UseMemory`, and `addresses`
[INFO] [stdout]  --> src/GB/input.rs:6:25
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::GB::memory::{addresses, RAM, UseMemory};
[INFO] [stdout]   |                         ^^^^^^^^^  ^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::GB::debug_print`
[INFO] [stdout]  --> src/GB/instructions.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::GB::debug_print;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Flags`
[INFO] [stdout]  --> src/GB/instructions.rs:8:49
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::GB::CPU::registers::core::{FlagBits, Flags};
[INFO] [stdout]   |                                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/GB/instructions.rs:61:18
[INFO] [stdout]    |
[INFO] [stdout] 61 |         flags |= (FlagBits::C as u8);
[INFO] [stdout]    |                  ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 61 -         flags |= (FlagBits::C as u8);
[INFO] [stdout] 61 +         flags |= FlagBits::C as u8;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/GB/instructions.rs:67:18
[INFO] [stdout]    |
[INFO] [stdout] 67 |         flags |= (FlagBits::Z as u8);
[INFO] [stdout]    |                  ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 67 -         flags |= (FlagBits::Z as u8);
[INFO] [stdout] 67 +         flags |= FlagBits::Z as u8;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/GB/instructions.rs:218:16
[INFO] [stdout]     |
[INFO] [stdout] 218 |             if (cpu.registers.get_bc() != 0) {
[INFO] [stdout]     |                ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 218 -             if (cpu.registers.get_bc() != 0) {
[INFO] [stdout] 218 +             if cpu.registers.get_bc() != 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RAM`
[INFO] [stdout]  --> src/GB/memory/BIOS.rs:3:41
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::GB::memory::{Length, Memory, RAM};
[INFO] [stdout]   |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/GB/memory.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deref`
[INFO] [stdout]  --> src/GB/memory.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::ops::{Deref, DerefMut};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GBInputButtonsBits` and `GBInputDPadBits`
[INFO] [stdout]   --> src/GB/memory.rs:17:46
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::GB::input::{GBInputSelectionBits, GBInputButtonsBits, GBInputDPadBits};
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/GB/memory.rs:144:20
[INFO] [stdout]     |
[INFO] [stdout] 144 |                 if (return_val & GBInputSelectionBits::Buttons == 0 && return_val & GBInputSelectionBits::DPad == 0) {
[INFO] [stdout]     |                    ^                                                                                               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 144 -                 if (return_val & GBInputSelectionBits::Buttons == 0 && return_val & GBInputSelectionBits::DPad == 0) {
[INFO] [stdout] 144 +                 if return_val & GBInputSelectionBits::Buttons == 0 && return_val & GBInputSelectionBits::DPad == 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/gui.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/gui.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alignment`, `Button`, `Column`, `Row`, and `Scrollable`
[INFO] [stdout]  --> src/gui.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use iced::{widget::{Column, Text, Row, Scrollable, Button}, Element, Command, Alignment};
[INFO] [stdout]   |                     ^^^^^^        ^^^  ^^^^^^^^^^  ^^^^^^                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `button`, `scrollable`, and `text`
[INFO] [stdout]  --> src/gui.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | use iced::{widget::{column, button, text, row, scrollable}};
[INFO] [stdout]   |                             ^^^^^^  ^^^^       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `iced::widget::keyed::column`
[INFO] [stdout]  --> src/gui.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use iced::widget::keyed::column;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Axis` and `Pane`
[INFO] [stdout]  --> src/gui.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use iced::widget::pane_grid::{Axis, Pane};
[INFO] [stdout]   |                               ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PaneGrid` and `self`
[INFO] [stdout]  --> src/gui.rs:7:31
[INFO] [stdout]   |
[INFO] [stdout] 7 | use iced::widget::pane_grid::{self, PaneGrid};
[INFO] [stdout]   |                               ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `container` and `responsive`
[INFO] [stdout]  --> src/gui.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 | use iced::widget::{container, responsive};
[INFO] [stdout]   |                    ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Theme` and `self`
[INFO] [stdout]  --> src/gui.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 | use iced::theme::{self, Theme};
[INFO] [stdout]   |                   ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instruction`
[INFO] [stdout]   --> src/gui.rs:11:31
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::GB::instructions::{Instruction};
[INFO] [stdout]    |                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RAM`
[INFO] [stdout]   --> src/gui.rs:12:25
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::GB::memory::{RAM};
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BitAnd`
[INFO] [stdout]  --> src/utils.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::{BitAnd, Shl};
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::GB::instructions::Instruction`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::GB::instructions::Instruction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::GB::PPU::tile::Tile`
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::GB::PPU::tile::Tile;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CPU_CLOCK_SPEED`
[INFO] [stdout]   --> src/main.rs:26:20
[INFO] [stdout]    |
[INFO] [stdout] 26 | use GB::CPU::{CPU, CPU_CLOCK_SPEED};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]   --> src/main.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     'running: loop {
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_labels)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `winit`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use winit;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]   --> src/GB.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::time::Instant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GB`
[INFO] [stdout]  --> src/GB/CPU/registers/core.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::{GB, mask_flag_enum_default_impl, default_enum_u8_bit_ops};
[INFO] [stdout]   |             ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::GB::debug_print`
[INFO] [stdout]  --> src/GB/CPU/registers/core.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::GB::debug_print;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `WRAM_ADDRESS` and `WRAM_SIZE`
[INFO] [stdout]  --> src/GB/CPU/registers/core.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::GB::memory::{WRAM_ADDRESS, WRAM_SIZE};
[INFO] [stdout]   |                         ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `falling_edge as utils`
[INFO] [stdout]  --> src/GB/CPU/registers/timer.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::utils::{falling_edge as utils, falling_edge};
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/GB/CPU/registers/timer.rs:80:16
[INFO] [stdout]    |
[INFO] [stdout] 80 |             if (self.tima == 0xFF) {
[INFO] [stdout]    |                ^                 ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 80 -             if (self.tima == 0xFF) {
[INFO] [stdout] 80 +             if self.tima == 0xFF {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/GB/CPU.rs:157:27
[INFO] [stdout]     |
[INFO] [stdout] 157 |                     match (instruction) {
[INFO] [stdout]     |                           ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 157 -                     match (instruction) {
[INFO] [stdout] 157 +                     match instruction {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/GB/CPU.rs:290:19
[INFO] [stdout]     |
[INFO] [stdout] 290 |             match (tac & timer::TACMask::TimerClock) {
[INFO] [stdout]     |                   ^                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 290 -             match (tac & timer::TACMask::TimerClock) {
[INFO] [stdout] 290 +             match tac & timer::TACMask::TimerClock {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::mask_flag_enum_default_impl`
[INFO] [stdout]  --> src/GB/PPU.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::mask_flag_enum_default_impl;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::GB::PPU::oam::attributes_masks::AttributesMasks`
[INFO] [stdout]   --> src/GB/PPU/oam.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     use crate::GB::PPU::oam::attributes_masks::AttributesMasks;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io`
[INFO] [stdout]  --> src/GB/cartridge.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{fmt, io};
[INFO] [stdout]   |                ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::string::FromUtf8Error`
[INFO] [stdout]   --> src/GB/cartridge.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::string::FromUtf8Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::GB::CPU::registers::core::Registers`
[INFO] [stdout]   --> src/GB/cartridge.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::GB::CPU::registers::core::Registers;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/GB/input.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/GB/input.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KeyCode` and `PhysicalKey`
[INFO] [stdout]  --> src/GB/input.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use winit::{keyboard::{KeyCode, PhysicalKey}};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RAM`, `UseMemory`, and `addresses`
[INFO] [stdout]  --> src/GB/input.rs:6:25
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::GB::memory::{addresses, RAM, UseMemory};
[INFO] [stdout]   |                         ^^^^^^^^^  ^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `test_call`
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1922:14
[INFO] [stdout]      |
[INFO] [stdout] 1922 | macro_rules! test_call {
[INFO] [stdout]      |              ^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::GB::memory`
[INFO] [stdout]  --> src/GB/instructions/test_subset.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::GB::memory;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `USER_PROGRAM_ADDRESS`
[INFO] [stdout]  --> src/GB/instructions/test_subset.rs:5:41
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::GB::memory::{UseMemory, RAM, USER_PROGRAM_ADDRESS, WRAM_ADDRESS};
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::GB::debug_print`
[INFO] [stdout]  --> src/GB/instructions.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::GB::debug_print;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Flags`
[INFO] [stdout]  --> src/GB/instructions.rs:8:49
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::GB::CPU::registers::core::{FlagBits, Flags};
[INFO] [stdout]   |                                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/GB/instructions.rs:61:18
[INFO] [stdout]    |
[INFO] [stdout] 61 |         flags |= (FlagBits::C as u8);
[INFO] [stdout]    |                  ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 61 -         flags |= (FlagBits::C as u8);
[INFO] [stdout] 61 +         flags |= FlagBits::C as u8;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/GB/instructions.rs:67:18
[INFO] [stdout]    |
[INFO] [stdout] 67 |         flags |= (FlagBits::Z as u8);
[INFO] [stdout]    |                  ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 67 -         flags |= (FlagBits::Z as u8);
[INFO] [stdout] 67 +         flags |= FlagBits::Z as u8;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/GB/instructions.rs:218:16
[INFO] [stdout]     |
[INFO] [stdout] 218 |             if (cpu.registers.get_bc() != 0) {
[INFO] [stdout]     |                ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 218 -             if (cpu.registers.get_bc() != 0) {
[INFO] [stdout] 218 +             if cpu.registers.get_bc() != 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RAM`
[INFO] [stdout]  --> src/GB/memory/BIOS.rs:3:41
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::GB::memory::{Length, Memory, RAM};
[INFO] [stdout]   |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/GB/memory.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deref`
[INFO] [stdout]  --> src/GB/memory.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::ops::{Deref, DerefMut};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GBInputButtonsBits` and `GBInputDPadBits`
[INFO] [stdout]   --> src/GB/memory.rs:17:46
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::GB::input::{GBInputSelectionBits, GBInputButtonsBits, GBInputDPadBits};
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/GB/memory.rs:144:20
[INFO] [stdout]     |
[INFO] [stdout] 144 |                 if (return_val & GBInputSelectionBits::Buttons == 0 && return_val & GBInputSelectionBits::DPad == 0) {
[INFO] [stdout]     |                    ^                                                                                               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 144 -                 if (return_val & GBInputSelectionBits::Buttons == 0 && return_val & GBInputSelectionBits::DPad == 0) {
[INFO] [stdout] 144 +                 if return_val & GBInputSelectionBits::Buttons == 0 && return_val & GBInputSelectionBits::DPad == 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/gui.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/gui.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alignment`, `Button`, `Column`, `Row`, and `Scrollable`
[INFO] [stdout]  --> src/gui.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use iced::{widget::{Column, Text, Row, Scrollable, Button}, Element, Command, Alignment};
[INFO] [stdout]   |                     ^^^^^^        ^^^  ^^^^^^^^^^  ^^^^^^                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `button`, `scrollable`, and `text`
[INFO] [stdout]  --> src/gui.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | use iced::{widget::{column, button, text, row, scrollable}};
[INFO] [stdout]   |                             ^^^^^^  ^^^^       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `iced::widget::keyed::column`
[INFO] [stdout]  --> src/gui.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use iced::widget::keyed::column;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Axis` and `Pane`
[INFO] [stdout]  --> src/gui.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use iced::widget::pane_grid::{Axis, Pane};
[INFO] [stdout]   |                               ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PaneGrid` and `self`
[INFO] [stdout]  --> src/gui.rs:7:31
[INFO] [stdout]   |
[INFO] [stdout] 7 | use iced::widget::pane_grid::{self, PaneGrid};
[INFO] [stdout]   |                               ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `container` and `responsive`
[INFO] [stdout]  --> src/gui.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 | use iced::widget::{container, responsive};
[INFO] [stdout]   |                    ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Theme` and `self`
[INFO] [stdout]  --> src/gui.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 | use iced::theme::{self, Theme};
[INFO] [stdout]   |                   ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instruction`
[INFO] [stdout]   --> src/gui.rs:11:31
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::GB::instructions::{Instruction};
[INFO] [stdout]    |                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RAM`
[INFO] [stdout]   --> src/gui.rs:12:25
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::GB::memory::{RAM};
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BitAnd`
[INFO] [stdout]  --> src/utils.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::{BitAnd, Shl};
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CPU`
[INFO] [stdout]  --> src/tests.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::GB::CPU::{CPU};
[INFO] [stdout]   |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::GB::instructions::Instruction`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::GB::instructions::Instruction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::GB::PPU::tile::Tile`
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::GB::PPU::tile::Tile;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CPU_CLOCK_SPEED`
[INFO] [stdout]   --> src/main.rs:26:20
[INFO] [stdout]    |
[INFO] [stdout] 26 | use GB::CPU::{CPU, CPU_CLOCK_SPEED};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]   --> src/main.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     'running: loop {
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_labels)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cpu`
[INFO] [stdout]   --> src/GB/instructions.rs:88:41
[INFO] [stdout]    |
[INFO] [stdout] 88 |         execute: |opcode: &Instruction, cpu: &mut CPU| -> u64 {
[INFO] [stdout]    |                                         ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pre_l`
[INFO] [stdout]    --> src/GB/instructions.rs:216:17
[INFO] [stdout]     |
[INFO] [stdout] 216 |             let pre_l = cpu.registers.get_l();
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_pre_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `byte`
[INFO] [stdout]    --> src/GB/instructions.rs:317:17
[INFO] [stdout]     |
[INFO] [stdout] 317 |             let byte = cpu.fetch_next();
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pre_l`
[INFO] [stdout]    --> src/GB/instructions.rs:446:17
[INFO] [stdout]     |
[INFO] [stdout] 446 |             let pre_l = cpu.registers.get_l();
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_pre_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pre_l`
[INFO] [stdout]    --> src/GB/instructions.rs:679:17
[INFO] [stdout]     |
[INFO] [stdout] 679 |             let pre_l = cpu.registers.get_l();
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_pre_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pre_l`
[INFO] [stdout]    --> src/GB/instructions.rs:919:17
[INFO] [stdout]     |
[INFO] [stdout] 919 |             let pre_l = cpu.registers.get_l();
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_pre_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cpu`
[INFO] [stdout]     --> src/GB/instructions.rs:1624:41
[INFO] [stdout]      |
[INFO] [stdout] 1624 |         execute: |opcode: &Instruction, cpu: &mut CPU| -> u64 {
[INFO] [stdout]      |                                         ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]     --> src/GB/instructions.rs:3015:19
[INFO] [stdout]      |
[INFO] [stdout] 3015 |         execute: |opcode: &Instruction, cpu: &mut CPU| -> u64 {
[INFO] [stdout]      |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::GB::memory::Length`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::GB::memory::Length;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/GB/memory.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> src/main.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{Read, stdout, Write};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/GB/CPU/registers/timer.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |             _ => unreachable!(),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/GB/CPU/registers/timer.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |             Self::M256 => 9,  // 4096 Hz
[INFO] [stdout]    |             ---------- matches some of the same values
[INFO] [stdout] 36 |             Self::M4 => 3,  // 262144 Hz
[INFO] [stdout]    |             -------- matches some of the same values
[INFO] [stdout] 37 |             Self::M16 => 5,  // 65536 Hz
[INFO] [stdout]    |             --------- matches some of the same values
[INFO] [stdout] 38 |             Self::M64 => 7,  // 16384 Hz
[INFO] [stdout]    |             --------- matches some of the same values
[INFO] [stdout] 39 |             _ => unreachable!(),
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `old_tma`
[INFO] [stdout]   --> src/GB/CPU/registers/timer.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let old_tma = self.tma;
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_tma`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `cycles` is never read
[INFO] [stdout]    --> src/GB/CPU.rs:150:17
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 cycles = self.interrupt_routine();
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `div_overflow`
[INFO] [stdout]    --> src/GB/CPU.rs:277:27
[INFO] [stdout]     |
[INFO] [stdout] 277 |             let (new_div, div_overflow) = memory_mut.read(memory::registers::DIV).overflowing_add(cycles);
[INFO] [stdout]     |                           ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_div_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `mode_cycles` is never read
[INFO] [stdout]    --> src/GB/CPU.rs:289:21
[INFO] [stdout]     |
[INFO] [stdout] 289 |             let mut mode_cycles: u64 = 0;
[INFO] [stdout]     |                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/PPU/tile.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let mut concat_s = s.clone();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scy`
[INFO] [stdout]    --> src/GB/PPU.rs:100:17
[INFO] [stdout]     |
[INFO] [stdout] 100 |             let scy = self.read_memory(addresses::SCY_ADDRESS as u16) as usize;
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_scy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pixel_set` is never read
[INFO] [stdout]    --> src/GB/PPU.rs:139:41
[INFO] [stdout]     |
[INFO] [stdout] 139 | ...                   pixel_set = true;
[INFO] [stdout]     |                       ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bank`
[INFO] [stdout]    --> src/GB/PPU.rs:336:13
[INFO] [stdout]     |
[INFO] [stdout] 336 |         let bank = bank % 2;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_bank`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tile_bank`
[INFO] [stdout]    --> src/GB/PPU.rs:358:13
[INFO] [stdout]     |
[INFO] [stdout] 358 |         let tile_bank = tile_bank % 2;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tile_bank`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `oam_bank`
[INFO] [stdout]    --> src/GB/PPU.rs:359:13
[INFO] [stdout]     |
[INFO] [stdout] 359 |         let oam_bank = oam_bank % 2;
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_oam_bank`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/cartridge.rs:167:21
[INFO] [stdout]     |
[INFO] [stdout] 167 |                 let mut bank_selection: usize = (value as usize) & 0b0000_0011; // 2 Bits addressing
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/input.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let mut gb_map = GBInputMapping::new();
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/GB/instructions.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut half_carry_flag = (FlagBits::H as u8) & flags != 0;
[INFO] [stdout]    |         ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `return_val` is never read
[INFO] [stdout]    --> src/GB/memory.rs:128:17
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let mut return_val: u8 = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ie`
[INFO] [stdout]    --> src/GB/memory.rs:196:13
[INFO] [stdout]     |
[INFO] [stdout] 196 |         let ie = self.read(registers::IE);
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_ie`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/GB.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut ram = RAM::new(Rc::clone(&inputs_ref));
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inputs`
[INFO] [stdout]    --> src/GB.rs:265:13
[INFO] [stdout]     |
[INFO] [stdout] 265 |         let inputs = input::GBInput {
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_inputs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ended`
[INFO] [stdout]   --> src/main.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let mut ended = false;
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_ended`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/main.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let mut i: u16 = 0;
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cb`
[INFO] [stdout]   --> src/main.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let mut cb = false;
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_cb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame_duration`
[INFO] [stdout]   --> src/main.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let frame_duration = Duration::from_millis(33);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frame_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cycle_duration`
[INFO] [stdout]   --> src/main.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let cycle_duration = Duration::from_nanos(238);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cycle_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed`
[INFO] [stdout]    --> src/main.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |         let elapsed = start.elapsed();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lines_to_print`
[INFO] [stdout]    --> src/main.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let lines_to_print = 10;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lines_to_print`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let mut ended = false;
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let mut i: u16 = 0;
[INFO] [stdout]    |         ----^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let mut cb = false;
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:162:13
[INFO] [stdout]     |
[INFO] [stdout] 162 |     let mut i: u32 = 0;
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `cb` is never read
[INFO] [stdout]    --> src/main.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let mut cb = false;
[INFO] [stdout]     |             ^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cycles`
[INFO] [stdout]    --> src/main.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout] 164 |     let mut cycles = 0;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cycles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `debug_i`
[INFO] [stdout]    --> src/main.rs:165:13
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let mut debug_i = 142268;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_debug_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `s_ins` is never read
[INFO] [stdout]    --> src/main.rs:204:29
[INFO] [stdout]     |
[INFO] [stdout] 204 | ...                   s_ins = ins.name.to_string();
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/main.rs:210:29
[INFO] [stdout]     |
[INFO] [stdout] 210 |                         for j in read_bytes as u8..ins.size {
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/main.rs:253:13
[INFO] [stdout]     |
[INFO] [stdout] 253 |         for j in read_bytes as u8..3 {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:162:9
[INFO] [stdout]     |
[INFO] [stdout] 162 |     let mut i: u32 = 0;
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 164 |     let mut cycles = 0;
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:165:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let mut debug_i = 142268;
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |         let mut memory_borrowed = gb.memory.borrow();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:175:13
[INFO] [stdout]     |
[INFO] [stdout] 175 |         let mut opt_ins = CPU::decode(opcode, false);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CartridgeType` is more private than the item `Cartridge::get_cartridge_type`
[INFO] [stdout]    --> src/GB/cartridge.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn get_cartridge_type(code: u8) -> CartridgeType {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `Cartridge::get_cartridge_type` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `CartridgeType` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/GB/cartridge.rs:34:1
[INFO] [stdout]     |
[INFO] [stdout]  34 | enum CartridgeType {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CartridgeType` is more private than the item `Cartridge::get_cartridge_type_string`
[INFO] [stdout]    --> src/GB/cartridge.rs:225:5
[INFO] [stdout]     |
[INFO] [stdout] 225 |     pub fn get_cartridge_type_string(code: &CartridgeType) -> String {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `Cartridge::get_cartridge_type_string` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `CartridgeType` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/GB/cartridge.rs:34:1
[INFO] [stdout]     |
[INFO] [stdout]  34 | enum CartridgeType {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CartridgeType` is more private than the item `Cartridge::get_cart_type`
[INFO] [stdout]    --> src/GB/cartridge.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 276 |     pub fn get_cart_type(&self) -> CartridgeType {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `Cartridge::get_cart_type` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `CartridgeType` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/GB/cartridge.rs:34:1
[INFO] [stdout]     |
[INFO] [stdout]  34 | enum CartridgeType {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `debug_print` is never used
[INFO] [stdout]   --> src/GB.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn debug_print(_args: std::fmt::Arguments) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FRAME_TIME` is never used
[INFO] [stdout]   --> src/GB.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const FRAME_TIME: f64 = 1_f64 / 60_f64;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bios` is never read
[INFO] [stdout]   --> src/GB.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct GB {
[INFO] [stdout]    |            -- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub bios: BIOS,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `boot`, `press_dpad`, `get_bios`, and `cpu_interrupt_type` are never used
[INFO] [stdout]    --> src/GB.rs:90:12
[INFO] [stdout]     |
[INFO] [stdout]  49 | impl GB {
[INFO] [stdout]     | ------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub fn boot(&mut self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn press_dpad(&mut self, dpad: GBInputDPadBits, pressed: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn get_bios(&self) -> &BIOS {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub fn cpu_interrupt_type(&self) -> interrupts::InterruptFlagsMask {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIVIDER_FREQUENCY` is never used
[INFO] [stdout]   --> src/GB/CPU.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const DIVIDER_FREQUENCY: u64 = 16384; // Divider Update Frequency in Hz
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `load` is never used
[INFO] [stdout]    --> src/GB/CPU.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl CPU {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn load(&mut self, data: &Vec<u8>) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Flags` is never constructed
[INFO] [stdout]   --> src/GB/CPU/registers/core.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct Flags {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/GB/CPU/registers/core.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | impl Flags {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 67 |     pub fn new(z: bool, n: bool, h: bool, c: bool) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `inc_pc`, `set_af`, `get_negative_flag`, `get_half_carry_flag`, and `get_flags` are never used
[INFO] [stdout]    --> src/GB/CPU/registers/core.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout]  90 | impl Registers {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn inc_pc(&mut self) -> u16 {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn set_af(&mut self, val: u16) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     get_set_flag!(get_negative_flag, set_negative_flag, N);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 147 |     get_set_flag!(get_half_carry_flag, set_half_carry_flag, H);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 148 |     get_set_flag!(get_carry_flag, set_carry_flag, C);
[INFO] [stdout] 149 |     pub fn get_flags(&self) -> Flags {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `get_set_flag` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `M256_CLOCK_CYCLES` is never used
[INFO] [stdout]  --> src/GB/CPU/registers/timer.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const M256_CLOCK_CYCLES: u64 = 256;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `M4_CLOCK_CYCLES` is never used
[INFO] [stdout]  --> src/GB/CPU/registers/timer.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const M4_CLOCK_CYCLES: u64 = 4;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `M16_CLOCK_CYCLES` is never used
[INFO] [stdout]  --> src/GB/CPU/registers/timer.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const M16_CLOCK_CYCLES: u64 = 16;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `M64_CLOCK_CYCLES` is never used
[INFO] [stdout]  --> src/GB/CPU/registers/timer.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const M64_CLOCK_CYCLES: u64 = 64;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TimerRegisters` is never constructed
[INFO] [stdout]   --> src/GB/CPU/registers/timer.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct TimerRegisters {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/GB/CPU/registers/timer.rs:63:12
[INFO] [stdout]     |
[INFO] [stdout]  62 | impl TimerRegisters {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  63 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  73 |     pub fn tick(&mut self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn div(&self) -> u8 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn reset_div(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn is_tma_active(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn tima(&self) -> u8 {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn tma(&self) -> u8 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn tac(&self) -> u8 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn set_tma(&mut self, val: u8) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn set_tima(&mut self, val: u8) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn set_tac_info(&mut self, enabled: bool, clock_mode: TACClock) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn set_tac(&mut self, val: u8) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `M64_CLOCK_MODE` is never used
[INFO] [stdout]   --> src/GB/CPU/timer.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const M64_CLOCK_MODE: u8 = 0b11;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/GB/PPU.rs:262:12
[INFO] [stdout]     |
[INFO] [stdout]  59 | impl PPU {
[INFO] [stdout]     | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 262 |     pub fn get_bg(&self) -> Vec<Tile> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 335 |     pub fn get_tile_map(&self, bank: u8) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |     pub fn get_oam_tile_map(&self, oam_bank: u8, tile_bank: u8) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     pub fn get_bg_map(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 398 |     ppu_get_set_flag_bit!(get_bg_win_enabled_flag, set_bg_win_enabled_flag, LCDC, LCDCMasks::BgWinEnabled);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 399 |     ppu_get_set_flag_bit!(get_obj_enabled_flag, set_obj_enabled_flag, LCDC, LCDCMasks::ObjEnabled);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 400 |     ppu_get_set_flag_bit!(get_obj_size_flag, set_obj_size_flag, LCDC, LCDCMasks::ObjSize);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 401 |     ppu_get_set_flag_bit!(get_bg_tile_map_area_flag, set_bg_tile_map_area_flag, LCDC, LCDCMasks::BgTileMapArea);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 402 |     ppu_get_set_flag_bit!(get_bg_win_tiles_area_flag, set_bg_win_tiles_area_flag, LCDC, LCDCMasks::BgWinTilesArea);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 403 |     ppu_get_set_flag_bit!(get_win_enabled_flag, set_win_enabled_flag, LCDC, LCDCMasks::WinEnabled);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 404 |     ppu_get_set_flag_bit!(get_win_tile_map_area_flag, set_win_tile_map_area_flag, LCDC, LCDCMasks::WinTileMapArea);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 405 |     ppu_get_set_flag_bit!(get_lcd_enabled_flag, set_lcd_enabled_flag, LCDC, LCDCMasks::LcdEnabled);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `ppu_get_set_flag_bit` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HBLANK_DOTS_END` is never used
[INFO] [stdout]   --> src/GB/PPU.rs:81:15
[INFO] [stdout]    |
[INFO] [stdout] 81 |         const HBLANK_DOTS_END: usize = HBLANK_DOTS_START + constants::HBLANK_MIN_DOTS - 1;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PALETTE_ADDRESS` is never used
[INFO] [stdout]  --> src/GB/PPU/addresses.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const PALETTE_ADDRESS: usize = 0xFF47;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OBP0_ADDRESS` is never used
[INFO] [stdout]   --> src/GB/PPU/addresses.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const OBP0_ADDRESS: usize = 0xFF48;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OBP1_ADDRESS` is never used
[INFO] [stdout]   --> src/GB/PPU/addresses.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const OBP1_ADDRESS: usize = 0xFF49;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WY_ADDRESS` is never used
[INFO] [stdout]   --> src/GB/PPU/addresses.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const WY_ADDRESS: usize = 0xFF4A;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WX_ADDRESS` is never used
[INFO] [stdout]   --> src/GB/PPU/addresses.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const WX_ADDRESS: usize = 0xFF4B;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BG_DATA_2_ADDRESS` is never used
[INFO] [stdout]   --> src/GB/PPU/addresses.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const BG_DATA_2_ADDRESS: usize = 0x9C00;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OAM_AREA_ADDRESS` is never used
[INFO] [stdout]   --> src/GB/PPU/addresses.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const OAM_AREA_ADDRESS: usize = OAM_ADDRESS;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SCREEN_DOTS` is never used
[INFO] [stdout]  --> src/GB/PPU/constants.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const SCREEN_DOTS: usize = LINE_DOTS * SCREEN_HEIGHT;
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DRAW_LINE_MIN_DOTS` is never used
[INFO] [stdout]   --> src/GB/PPU/constants.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const DRAW_LINE_MIN_DOTS: usize = 168;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HBLANK_MIN_DOTS` is never used
[INFO] [stdout]   --> src/GB/PPU/constants.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const HBLANK_MIN_DOTS: usize = LINE_DOTS - SCAN_OAM_DOTS - DRAW_LINE_MAX_DOTS;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HBLANK_MAX_DOTS` is never used
[INFO] [stdout]   --> src/GB/PPU/constants.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const HBLANK_MAX_DOTS: usize = LINE_DOTS - SCAN_OAM_DOTS - DRAW_LINE_MIN_DOTS;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VBLANK_DOTS` is never used
[INFO] [stdout]   --> src/GB/PPU/constants.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const VBLANK_DOTS: usize = LINE_DOTS * VBLANK_LINES;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FRAME_DOTS` is never used
[INFO] [stdout]   --> src/GB/PPU/constants.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const FRAME_DOTS: usize = SCREEN_DOTS + VBLANK_DOTS;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_SPRITE_ON_SCREEN` is never used
[INFO] [stdout]   --> src/GB/PPU/constants.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const MAX_SPRITE_ON_SCREEN: usize = 40;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAP_TILES` is never used
[INFO] [stdout]   --> src/GB/PPU/constants.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const MAP_TILES: usize = MAP_ROW_TILES * MAP_LINES;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAP_PIXELS` is never used
[INFO] [stdout]   --> src/GB/PPU/constants.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const MAP_PIXELS: usize = MAP_TILES * TILE_WIDTH * TILE_HEIGHT;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `GbPalette` is never used
[INFO] [stdout]   --> src/GB/PPU/tile.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum GbPalette {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RGBPalette` is never used
[INFO] [stdout]   --> src/GB/PPU/tile.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum RGBPalette {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `get_printable_id_map`, `palette_id_map_to_printable_id_map`, and `append_tile_id_map_to_string` are never used
[INFO] [stdout]    --> src/GB/PPU/tile.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout]  67 | impl Tile {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn get_printable_id_map(&self, doubled: bool) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn palette_id_map_to_printable_id_map(array_map: &[GbPaletteId; 8 * 8], doubled: bool) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn append_tile_id_map_to_string(&self, s: &String, doubled: bool) -> Result<String, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_oam_bytes` is never used
[INFO] [stdout]   --> src/GB/PPU/oam.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl OAM {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn get_oam_bytes(&self) -> (u8, u8, u8, u8) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_ram_banks_number`, `get_rom_size`, `get_ram_size`, and `get_cart_type` are never used
[INFO] [stdout]    --> src/GB/cartridge.rs:188:12
[INFO] [stdout]     |
[INFO] [stdout]  66 | impl Cartridge {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn get_ram_banks_number(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub fn get_rom_size(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |     pub fn get_ram_size(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn get_cart_type(&self) -> CartridgeType {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOGO` is never used
[INFO] [stdout]  --> src/GB/cartridge/addresses.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const LOGO: usize = 0x0104;
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TITLE_NEW_SIZE` is never used
[INFO] [stdout]  --> src/GB/cartridge/addresses.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const TITLE_NEW_SIZE: usize = 12; // Oldest Cartridge 16 Bytes, Newer 12
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MANUFACTURER_CODE` is never used
[INFO] [stdout]  --> src/GB/cartridge/addresses.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const MANUFACTURER_CODE: usize = 0x013F; // 4 Bytes
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NEW_LICENSE_CODE` is never used
[INFO] [stdout]  --> src/GB/cartridge/addresses.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const NEW_LICENSE_CODE: usize = 0x0144;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SGB_FLAG` is never used
[INFO] [stdout]   --> src/GB/cartridge/addresses.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const SGB_FLAG: usize = 0x0146;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RAM_SIZE` is never used
[INFO] [stdout]   --> src/GB/cartridge/addresses.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const RAM_SIZE: usize = 0x0149;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DESTINATION_CODE` is never used
[INFO] [stdout]   --> src/GB/cartridge/addresses.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const DESTINATION_CODE: usize = 0x014A;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OLD_LICENSE_CODE` is never used
[INFO] [stdout]   --> src/GB/cartridge/addresses.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const OLD_LICENSE_CODE: usize = 0x014B; // If 0x33 Check on New License Code Address
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROM_VERSION` is never used
[INFO] [stdout]   --> src/GB/cartridge/addresses.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const ROM_VERSION: usize = 0x014C;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_CHECKSUM` is never used
[INFO] [stdout]   --> src/GB/cartridge/addresses.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const HEADER_CHECKSUM: usize = 0x014D;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLOBAL_CHECKSUM` is never used
[INFO] [stdout]   --> src/GB/cartridge/addresses.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const GLOBAL_CHECKSUM: usize = 0x014E; // 16 Bit (Big Endian)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MBC_RAM_ENABLE_ADDRESS` is never used
[INFO] [stdout]   --> src/GB/cartridge/addresses.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const MBC_RAM_ENABLE_ADDRESS: (usize, usize) = (0x0, 0x2000); // Range [start, end) -> end not included
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MBC_RAM_ENABLE_ADDRESS_START` is never used
[INFO] [stdout]   --> src/GB/cartridge/addresses.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const MBC_RAM_ENABLE_ADDRESS_START: usize = MBC_RAM_ENABLE_ADDRESS.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MBC_RAM_ENABLE_ADDRESS_END` is never used
[INFO] [stdout]   --> src/GB/cartridge/addresses.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const MBC_RAM_ENABLE_ADDRESS_END: usize = MBC_RAM_ENABLE_ADDRESS.1 - 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MBC_ROM_BANK_SELECTION_ADDRESS` is never used
[INFO] [stdout]   --> src/GB/cartridge/addresses.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const MBC_ROM_BANK_SELECTION_ADDRESS: (usize, usize) = (0x2000, 0x4000); // Range [start, end) -> end not included
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MBC_ROM_BANK_SELECTION_ADDRESS_START` is never used
[INFO] [stdout]   --> src/GB/cartridge/addresses.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const MBC_ROM_BANK_SELECTION_ADDRESS_START: usize = MBC_ROM_BANK_SELECTION_ADDRESS.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MBC_ROM_BANK_SELECTION_ADDRESS_END` is never used
[INFO] [stdout]   --> src/GB/cartridge/addresses.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const MBC_ROM_BANK_SELECTION_ADDRESS_END: usize = MBC_ROM_BANK_SELECTION_ADDRESS.1 - 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GB_A_BUTTON` is never used
[INFO] [stdout]   --> src/GB/input.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const GB_A_BUTTON: u32 = 0x00;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GB_B_BUTTON` is never used
[INFO] [stdout]   --> src/GB/input.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const GB_B_BUTTON: u32 = 0x01;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GB_START_BUTTON` is never used
[INFO] [stdout]   --> src/GB/input.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const GB_START_BUTTON: u32 = 0x02;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GB_SELECT_BUTTON` is never used
[INFO] [stdout]   --> src/GB/input.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const GB_SELECT_BUTTON: u32 = 0x03;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GB_UP_BUTTON` is never used
[INFO] [stdout]   --> src/GB/input.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const GB_UP_BUTTON: u32 = 0x04;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GB_DOWN_BUTTON` is never used
[INFO] [stdout]   --> src/GB/input.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const GB_DOWN_BUTTON: u32 = 0x05;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GB_LEFT_BUTTON` is never used
[INFO] [stdout]   --> src/GB/input.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const GB_LEFT_BUTTON: u32 = 0x06;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GB_RIGHT_BUTTON` is never used
[INFO] [stdout]   --> src/GB/input.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const GB_RIGHT_BUTTON: u32 = 0x07;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GBInputMapping` is never constructed
[INFO] [stdout]   --> src/GB/input.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | struct GBInputMapping {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/GB/input.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | impl GBInputMapping {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 60 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InputMapping` is never constructed
[INFO] [stdout]    --> src/GB/input.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | struct InputMapping {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `set_mapping`, and `get_key_code` are never used
[INFO] [stdout]    --> src/GB/input.rs:127:12
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl InputMapping {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 127 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn set_mapping(&mut self, input_code: u32, key_code: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn get_key_code(&self, input_code: u32) -> Option<&u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `flags` is never read
[INFO] [stdout]   --> src/GB/instructions.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Instruction {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub flags: &'static [FlagBits],
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Instruction` 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/GB/instructions.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Instruction {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 23 |     pub fn new(opcode: u8) -> Option<&'static Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RST_INSTRUCTIONS` is never used
[INFO] [stdout]   --> src/GB/memory.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const RST_INSTRUCTIONS: usize = 0x0000; // Location in memory for RST instructions (not used on emulation)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CARTRIDGE_HEADER_ADDRESS` is never used
[INFO] [stdout]   --> src/GB/memory.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const CARTRIDGE_HEADER_ADDRESS: usize = 0x0100; // Location for ROM metadata (as name) (not used on emulation)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USER_PROGRAM_ADDRESS` is never used
[INFO] [stdout]   --> src/GB/memory.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const USER_PROGRAM_ADDRESS: usize = 0x0150; // Location User Program (not used on emulation)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WRAM_ADDRESS` is never used
[INFO] [stdout]   --> src/GB/memory.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const WRAM_ADDRESS: usize = 0xC000; // Working memory
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OAM_RAM_ADDRESS` is never used
[INFO] [stdout]   --> src/GB/memory.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const OAM_RAM_ADDRESS: usize = 0xFE00; // Up to 40 Display Object Data (512B)
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INTERNAL_RAM_ADDRESS` is never used
[INFO] [stdout]   --> src/GB/memory.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const INTERNAL_RAM_ADDRESS: usize = 0xFF00; // Instruction Registers & Flags
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HRAM_ADDRESS` is never used
[INFO] [stdout]   --> src/GB/memory.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const HRAM_ADDRESS: usize = 0xFF80; // High memory 127B (Memory w/ direct access from CPU)
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RST_MEM_SIZE` is never used
[INFO] [stdout]   --> src/GB/memory.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const RST_MEM_SIZE: usize = CARTRIDGE_HEADER_ADDRESS - RST_INSTRUCTIONS;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CARTRIDGE_HEADER_SIZE` is never used
[INFO] [stdout]   --> src/GB/memory.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const CARTRIDGE_HEADER_SIZE: usize = USER_PROGRAM_ADDRESS - CARTRIDGE_HEADER_ADDRESS;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USER_PROGRAM_MEM_SIZE` is never used
[INFO] [stdout]   --> src/GB/memory.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const USER_PROGRAM_MEM_SIZE: usize = VRAM_ADDRESS - USER_PROGRAM_ADDRESS;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WRAM_SIZE` is never used
[INFO] [stdout]   --> src/GB/memory.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const WRAM_SIZE: usize = 0x2000;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HRAM_SIZE` is never used
[INFO] [stdout]   --> src/GB/memory.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const HRAM_SIZE: usize = 127;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Length` is never used
[INFO] [stdout]    --> src/GB/memory.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub trait Length {
[INFO] [stdout]     |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/GB/memory.rs:181:12
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl RAM {
[INFO] [stdout]     | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 181 |     pub fn read_vec(&self, start_address: u16, length: u16) -> &[u8] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub fn boot_load(&mut self, bios: &BIOS::BIOS) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn get_enabled_interrupts(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     read_ram_space!(read_wram, WRAM_ADDRESS);
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout] 200 |     read_ram_space!(read_vram, VRAM_ADDRESS);
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout] 201 |     read_ram_space!(read_hram, HRAM_ADDRESS);
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout] 202 |     read_ram_space!(read_user_program, USER_PROGRAM_ADDRESS);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 203 |
[INFO] [stdout] 204 |     write_ram_space!(write_wram, WRAM_ADDRESS);
[INFO] [stdout]     |                      ^^^^^^^^^^
[INFO] [stdout] 205 |     write_ram_space!(write_vram, VRAM_ADDRESS);
[INFO] [stdout]     |                      ^^^^^^^^^^
[INFO] [stdout] 206 |     write_ram_space!(write_hram, HRAM_ADDRESS);
[INFO] [stdout]     |                      ^^^^^^^^^^
[INFO] [stdout] 207 |     write_ram_space!(write_user_program, USER_PROGRAM_ADDRESS);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `read_ram_space` which comes from the expansion of the macro `write_ram_space` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/GB/memory/registers.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct MemoryRegisters {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 33 |     pub p1: u8,
[INFO] [stdout] 34 |     pub sb: u8,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 35 |     pub sc: u8,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 36 |     pub div: u8,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 37 |     pub tima: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 38 |     pub tma: u8,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 39 |     pub tac: u8,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 40 |     pub interrupt_flag: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 41 |     pub ie: u8,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 42 |     pub lcdc: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 43 |     pub lcd_stat: u8,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 44 |     pub scy: u8,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 45 |     pub scx: u8,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub dma: u8,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 49 |     pub bgp: u8,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 50 |     pub obp0: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 51 |     pub obp1: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 52 |     pub wy: u8,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 53 |     pub wx: u8,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INTERRUPT_RST_TABLE_ADDRESS` is never used
[INFO] [stdout]  --> src/GB/memory/addresses.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const INTERRUPT_RST_TABLE_ADDRESS: usize = 0x00;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INTERRUPT_RST_TABLE_SIZE` is never used
[INFO] [stdout]  --> src/GB/memory/addresses.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const INTERRUPT_RST_TABLE_SIZE: usize = 0x100;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROM_ADDRESS` is never used
[INFO] [stdout]  --> src/GB/memory/addresses.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const ROM_ADDRESS: usize = 0x00;
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROM_SIZE` is never used
[INFO] [stdout]  --> src/GB/memory/addresses.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const ROM_SIZE: usize = 0x8000;
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROM_DATA_ADDRESS` is never used
[INFO] [stdout]   --> src/GB/memory/addresses.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const ROM_DATA_ADDRESS: usize = 0x00;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROM_DATA_SIZE` is never used
[INFO] [stdout]   --> src/GB/memory/addresses.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const ROM_DATA_SIZE: usize = 0x50;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROM_PROGRAM_ADDRESS` is never used
[INFO] [stdout]   --> src/GB/memory/addresses.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const ROM_PROGRAM_ADDRESS: usize = 0x150;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROM_PROGRAM_SIZE` is never used
[INFO] [stdout]   --> src/GB/memory/addresses.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const ROM_PROGRAM_SIZE: usize = ROM_SIZE - ROM_PROGRAM_ADDRESS;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VRAM_ADDRESS` is never used
[INFO] [stdout]   --> src/GB/memory/addresses.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const VRAM_ADDRESS: usize = 0x8000;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VRAM_SIZE` is never used
[INFO] [stdout]   --> src/GB/memory/addresses.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const VRAM_SIZE: usize = 0x2000; // 8KiB
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WRAM_ADDRESS` is never used
[INFO] [stdout]   --> src/GB/memory/addresses.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const WRAM_ADDRESS: usize = 0xC000; // 8KB Working RAM (normal used RAM mounted on GB)
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WRAM_SIZE` is never used
[INFO] [stdout]   --> src/GB/memory/addresses.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const WRAM_SIZE: usize = 0x2000; // 8KB Working RAM (normal used RAM mounted on GB)
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ECHO_WRAM_ADDRESS` is never used
[INFO] [stdout]   --> src/GB/memory/addresses.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const ECHO_WRAM_ADDRESS: usize = 0xE000; // Use Prohibited
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ECHO_WRAM_SIZE` is never used
[INFO] [stdout]   --> src/GB/memory/addresses.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const ECHO_WRAM_SIZE: usize = OAM_AREA_ADDRESS - ECHO_WRAM_ADDRESS; // Use Prohibited
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROHIBITED_AREA_ADDRESS` is never used
[INFO] [stdout]   --> src/GB/memory/addresses.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const PROHIBITED_AREA_ADDRESS: usize = 0xFEA0; // Prohibited by GB documents
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROHIBITED_AREA_SIZE` is never used
[INFO] [stdout]   --> src/GB/memory/addresses.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const PROHIBITED_AREA_SIZE: usize = IO_REGISTERS_ADDRESS - PROHIBITED_AREA_ADDRESS; // Prohibited by GB documents
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IO_REGISTERS_ADDRESS` is never used
[INFO] [stdout]   --> src/GB/memory/addresses.rs:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub const IO_REGISTERS_ADDRESS: usize = 0xFF00; // I/O Mapped
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IO_REGISTERS_SIZE` is never used
[INFO] [stdout]   --> src/GB/memory/addresses.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const IO_REGISTERS_SIZE: usize = 0x80;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HRAM_ADDRESS` is never used
[INFO] [stdout]   --> src/GB/memory/addresses.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub const HRAM_ADDRESS: usize = 0xFF80; // High-RAM - High Speed memory zone, not locked during oam transfer ops
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HRAM_SIZE` is never used
[INFO] [stdout]   --> src/GB/memory/addresses.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const HRAM_SIZE: usize = 127; // 127 Bytes of HRAM
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INTERRUPT_ENABLED_ADDRESS` is never used
[INFO] [stdout]   --> src/GB/memory/addresses.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const INTERRUPT_ENABLED_ADDRESS: usize = 0xFFFF; // High-RAM - High Speed memory zone, not locked during oam transfer ops
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SB` is never used
[INFO] [stdout]  --> src/GB/memory/addresses/io.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const SB: usize = 0xFF01;
[INFO] [stdout]   |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SC` is never used
[INFO] [stdout]  --> src/GB/memory/addresses/io.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const SC: usize = 0xFF02;
[INFO] [stdout]   |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIV` is never used
[INFO] [stdout]  --> src/GB/memory/addresses/io.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const DIV: usize = registers::DIV as usize;
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TIMA` is never used
[INFO] [stdout]  --> src/GB/memory/addresses/io.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const TIMA: usize = registers::TIMA as usize;
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TMA` is never used
[INFO] [stdout]  --> src/GB/memory/addresses/io.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const TMA: usize = registers::TMA as usize;
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IE` is never used
[INFO] [stdout]  --> src/GB/memory/addresses/interrupt.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const IE: usize = registers::IE as usize;
[INFO] [stdout]   |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read` is never used
[INFO] [stdout]   --> src/GB/memory/BIOS.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl BIOS {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn read(&self, address: u16) -> u8 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MainWindow` is never constructed
[INFO] [stdout]   --> src/gui.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct MainWindow {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Message` is never used
[INFO] [stdout]   --> src/gui.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum Message {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `title`, `update`, and `view` are never used
[INFO] [stdout]   --> src/gui.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl MainWindow {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 28 |     pub fn new(gb: GB) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn title(&self) -> String {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn update(&mut self, message: Message) -> Command<Message> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn view(&self) -> Element<Message> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `falling_edge` is never used
[INFO] [stdout]  --> src/utils.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn falling_edge<T, B>(old_value: T, new_value: T, bit: B) -> bool
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `GB` should have a snake case name
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | mod GB;
[INFO] [stdout]    |     ^^ help: convert the identifier to snake case: `gb`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `CPU` should have a snake case name
[INFO] [stdout]   --> src/GB.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub mod CPU;
[INFO] [stdout]    |         ^^^ help: convert the identifier to snake case: `cpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `PPU` should have a snake case name
[INFO] [stdout]   --> src/GB.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub mod PPU;
[INFO] [stdout]    |         ^^^ help: convert the identifier to snake case: `ppu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/GB.rs:73:17
[INFO] [stdout]    |
[INFO] [stdout] 73 |                 rom.load_bios(&bios);
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 73 |                 let _ = rom.load_bios(&bios);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `BIOS` should have a snake case name
[INFO] [stdout]  --> src/GB/memory.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod BIOS;
[INFO] [stdout]   |         ^^^^ help: convert the identifier to snake case: `bios`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/gui.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn view(&self) -> Element<Message> {
[INFO] [stdout]    |                 ^^^^^     ---------------- the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn view(&self) -> Element<'_, Message> {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cpu`
[INFO] [stdout]   --> src/GB/instructions.rs:88:41
[INFO] [stdout]    |
[INFO] [stdout] 88 |         execute: |opcode: &Instruction, cpu: &mut CPU| -> u64 {
[INFO] [stdout]    |                                         ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pre_l`
[INFO] [stdout]    --> src/GB/instructions.rs:216:17
[INFO] [stdout]     |
[INFO] [stdout] 216 |             let pre_l = cpu.registers.get_l();
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_pre_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `byte`
[INFO] [stdout]    --> src/GB/instructions.rs:317:17
[INFO] [stdout]     |
[INFO] [stdout] 317 |             let byte = cpu.fetch_next();
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pre_l`
[INFO] [stdout]    --> src/GB/instructions.rs:446:17
[INFO] [stdout]     |
[INFO] [stdout] 446 |             let pre_l = cpu.registers.get_l();
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_pre_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pre_l`
[INFO] [stdout]    --> src/GB/instructions.rs:679:17
[INFO] [stdout]     |
[INFO] [stdout] 679 |             let pre_l = cpu.registers.get_l();
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_pre_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pre_l`
[INFO] [stdout]    --> src/GB/instructions.rs:919:17
[INFO] [stdout]     |
[INFO] [stdout] 919 |             let pre_l = cpu.registers.get_l();
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_pre_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cpu`
[INFO] [stdout]     --> src/GB/instructions.rs:1624:41
[INFO] [stdout]      |
[INFO] [stdout] 1624 |         execute: |opcode: &Instruction, cpu: &mut CPU| -> u64 {
[INFO] [stdout]      |                                         ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]     --> src/GB/instructions.rs:3015:19
[INFO] [stdout]      |
[INFO] [stdout] 3015 |         execute: |opcode: &Instruction, cpu: &mut CPU| -> u64 {
[INFO] [stdout]      |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::GB::memory::Length`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::GB::memory::Length;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/GB/memory.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> src/main.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{Read, stdout, Write};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/GB/CPU/registers/timer.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |             _ => unreachable!(),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/GB/CPU/registers/timer.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |             Self::M256 => 9,  // 4096 Hz
[INFO] [stdout]    |             ---------- matches some of the same values
[INFO] [stdout] 36 |             Self::M4 => 3,  // 262144 Hz
[INFO] [stdout]    |             -------- matches some of the same values
[INFO] [stdout] 37 |             Self::M16 => 5,  // 65536 Hz
[INFO] [stdout]    |             --------- matches some of the same values
[INFO] [stdout] 38 |             Self::M64 => 7,  // 16384 Hz
[INFO] [stdout]    |             --------- matches some of the same values
[INFO] [stdout] 39 |             _ => unreachable!(),
[INFO] [stdout]    |             ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `old_tma`
[INFO] [stdout]   --> src/GB/CPU/registers/timer.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let old_tma = self.tma;
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_tma`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `cycles` is never read
[INFO] [stdout]    --> src/GB/CPU.rs:150:17
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 cycles = self.interrupt_routine();
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `div_overflow`
[INFO] [stdout]    --> src/GB/CPU.rs:277:27
[INFO] [stdout]     |
[INFO] [stdout] 277 |             let (new_div, div_overflow) = memory_mut.read(memory::registers::DIV).overflowing_add(cycles);
[INFO] [stdout]     |                           ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_div_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `mode_cycles` is never read
[INFO] [stdout]    --> src/GB/CPU.rs:289:21
[INFO] [stdout]     |
[INFO] [stdout] 289 |             let mut mode_cycles: u64 = 0;
[INFO] [stdout]     |                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/GB/PPU/tests.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let mut mem = create_memory!();
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/GB/PPU/tests.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let mut mem = create_memory!();
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/PPU/tests.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let mut mem = create_memory!();
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/PPU/tile.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let mut concat_s = s.clone();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scy`
[INFO] [stdout]    --> src/GB/PPU.rs:100:17
[INFO] [stdout]     |
[INFO] [stdout] 100 |             let scy = self.read_memory(addresses::SCY_ADDRESS as u16) as usize;
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_scy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pixel_set` is never read
[INFO] [stdout]    --> src/GB/PPU.rs:139:41
[INFO] [stdout]     |
[INFO] [stdout] 139 | ...                   pixel_set = true;
[INFO] [stdout]     |                       ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bank`
[INFO] [stdout]    --> src/GB/PPU.rs:336:13
[INFO] [stdout]     |
[INFO] [stdout] 336 |         let bank = bank % 2;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_bank`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tile_bank`
[INFO] [stdout]    --> src/GB/PPU.rs:358:13
[INFO] [stdout]     |
[INFO] [stdout] 358 |         let tile_bank = tile_bank % 2;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tile_bank`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `oam_bank`
[INFO] [stdout]    --> src/GB/PPU.rs:359:13
[INFO] [stdout]     |
[INFO] [stdout] 359 |         let oam_bank = oam_bank % 2;
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_oam_bank`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/cartridge.rs:167:21
[INFO] [stdout]     |
[INFO] [stdout] 167 |                 let mut bank_selection: usize = (value as usize) & 0b0000_0011; // 2 Bits addressing
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/input.rs:130:13
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let mut gb_map = GBInputMapping::new();
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2231:9
[INFO] [stdout]      |
[INFO] [stdout] 2231 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:131:21
[INFO] [stdout]      |
[INFO] [stdout]  131 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2249 | test_ld_r16_imm16!(0x01, test_0x01_ld_bc_imm16, set_bc, get_bc, get_b, get_c);
[INFO] [stdout]      | ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r16_imm16` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:209:21
[INFO] [stdout]      |
[INFO] [stdout]  209 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2250 | test_ld_ar16_r8!(0x02, test_0x02_ld__bc__a, set_bc, get_bc, set_a, get_a);
[INFO] [stdout]      | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_ar16_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:396:21
[INFO] [stdout]      |
[INFO] [stdout]  396 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2251 | test_inc_r16!(0x03, test_0x03_inc_bc, set_bc, get_bc, get_b, get_c);
[INFO] [stdout]      | ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_inc_r16` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:496:21
[INFO] [stdout]      |
[INFO] [stdout]  496 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2252 | test_inc_r8!(0x04, test_0x04_inc_b, set_b, get_b);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_inc_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:535:21
[INFO] [stdout]      |
[INFO] [stdout]  535 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2253 | test_dec_r8!(0x05, test_0x05_dec_b, set_b, get_b);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_dec_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:559:21
[INFO] [stdout]      |
[INFO] [stdout]  559 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2253 | test_dec_r8!(0x05, test_0x05_dec_b, set_b, get_b);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_dec_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:182:21
[INFO] [stdout]      |
[INFO] [stdout]  182 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2254 | test_ld_r8_imm8!(0x06, test_0x06_ld_b_imm8, set_b, get_b);
[INFO] [stdout]      | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2260:9
[INFO] [stdout]      |
[INFO] [stdout] 2260 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2285:9
[INFO] [stdout]      |
[INFO] [stdout] 2285 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:734:21
[INFO] [stdout]      |
[INFO] [stdout]  734 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2298 | test_add_r16_r16!(0x09, test_0x09_add_hl_bc, set_hl, get_hl, set_bc, get_bc);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_add_r16_r16` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2302:9
[INFO] [stdout]      |
[INFO] [stdout] 2302 |     let mut test_value_1: u8 = 0xBD;
[INFO] [stdout]      |         ----^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2303:9
[INFO] [stdout]      |
[INFO] [stdout] 2303 |     let mut test_address_1: u16 = WRAM_ADDRESS as u16 + 0x0128;
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2304:9
[INFO] [stdout]      |
[INFO] [stdout] 2304 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:445:21
[INFO] [stdout]      |
[INFO] [stdout]  445 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2318 | test_dec_r16!(0x0B, test_0x0b_dec_bc, set_bc, get_bc, get_b, get_c);
[INFO] [stdout]      | ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_dec_r16` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:496:21
[INFO] [stdout]      |
[INFO] [stdout]  496 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2319 | test_inc_r8!(0x0C, test_0x0c_inc_c, set_c, get_c);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_inc_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:535:21
[INFO] [stdout]      |
[INFO] [stdout]  535 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2320 | test_dec_r8!(0x0D, test_0x0d_dec_c, set_c, get_c);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_dec_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:559:21
[INFO] [stdout]      |
[INFO] [stdout]  559 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2320 | test_dec_r8!(0x0D, test_0x0d_dec_c, set_c, get_c);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_dec_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:182:21
[INFO] [stdout]      |
[INFO] [stdout]  182 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2321 | test_ld_r8_imm8!(0x0E, test_0x0e_ld_c_imm8, set_c, get_c);
[INFO] [stdout]      | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2327:9
[INFO] [stdout]      |
[INFO] [stdout] 2327 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:131:21
[INFO] [stdout]      |
[INFO] [stdout]  131 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2352 | test_ld_r16_imm16!(0x11, test_0x11_ld_de_imm16, set_de, get_de, get_d, get_e);
[INFO] [stdout]      | ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r16_imm16` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:209:21
[INFO] [stdout]      |
[INFO] [stdout]  209 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2353 | test_ld_ar16_r8!(0x12, test_0x12_ld__de__a, set_de, get_de, set_a, get_a);
[INFO] [stdout]      | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_ar16_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:396:21
[INFO] [stdout]      |
[INFO] [stdout]  396 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2354 | test_inc_r16!(0x13, test_0x13_inc_de, set_de, get_de, get_d, get_e);
[INFO] [stdout]      | ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_inc_r16` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:496:21
[INFO] [stdout]      |
[INFO] [stdout]  496 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2355 | test_inc_r8!(0x14, test_0x14_inc_d, set_d, get_d);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_inc_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:535:21
[INFO] [stdout]      |
[INFO] [stdout]  535 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2356 | test_dec_r8!(0x15, test_0x15_dec_d, set_d, get_d);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_dec_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:559:21
[INFO] [stdout]      |
[INFO] [stdout]  559 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2356 | test_dec_r8!(0x15, test_0x15_dec_d, set_d, get_d);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_dec_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:182:21
[INFO] [stdout]      |
[INFO] [stdout]  182 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2357 | test_ld_r8_imm8!(0x16, test_0x16_ld_d_imm8, set_d, get_d);
[INFO] [stdout]      | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2363:9
[INFO] [stdout]      |
[INFO] [stdout] 2363 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2386:9
[INFO] [stdout]      |
[INFO] [stdout] 2386 |     let mut test_value: i8 = -50;
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2387:9
[INFO] [stdout]      |
[INFO] [stdout] 2387 |     let mut start_address: i16 = 0x0350;
[INFO] [stdout]      |         ----^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2388:9
[INFO] [stdout]      |
[INFO] [stdout] 2388 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2390:9
[INFO] [stdout]      |
[INFO] [stdout] 2390 |     let mut program: Vec<u8> = vec![0x18, test_value as u8];
[INFO] [stdout]      |         ----^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2395:9
[INFO] [stdout]      |
[INFO] [stdout] 2395 |     let mut cycles = cpu.execute_next();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2399:9
[INFO] [stdout]      |
[INFO] [stdout] 2399 |     let mut test_value: i8 = 11;
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2400:9
[INFO] [stdout]      |
[INFO] [stdout] 2400 |     let mut start_address: i16 = 0x0350;
[INFO] [stdout]      |         ----^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2401:9
[INFO] [stdout]      |
[INFO] [stdout] 2401 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2403:9
[INFO] [stdout]      |
[INFO] [stdout] 2403 |     let mut program: Vec<u8> = vec![0x18, test_value as u8];
[INFO] [stdout]      |         ----^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2408:9
[INFO] [stdout]      |
[INFO] [stdout] 2408 |     let mut cycles = cpu.execute_next();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:734:21
[INFO] [stdout]      |
[INFO] [stdout]  734 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2413 | test_add_r16_r16!(0x19, test_0x19_add_hl_de, set_hl, get_hl, set_de, get_de);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_add_r16_r16` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2417:9
[INFO] [stdout]      |
[INFO] [stdout] 2417 |     let mut test_value_1: u8 = 0xBD;
[INFO] [stdout]      |         ----^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2418:9
[INFO] [stdout]      |
[INFO] [stdout] 2418 |     let mut test_address_1: u16 = WRAM_ADDRESS as u16 + 0x0128;
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2419:9
[INFO] [stdout]      |
[INFO] [stdout] 2419 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:445:21
[INFO] [stdout]      |
[INFO] [stdout]  445 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2433 | test_dec_r16!(0x1B, test_0x1b_dec_de, set_de, get_de, get_d, get_e);
[INFO] [stdout]      | ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_dec_r16` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:496:21
[INFO] [stdout]      |
[INFO] [stdout]  496 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2434 | test_inc_r8!(0x1C, test_0x1c_inc_e, set_e, get_e);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_inc_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:535:21
[INFO] [stdout]      |
[INFO] [stdout]  535 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2435 | test_dec_r8!(0x1D, test_0x1d_dec_e, set_e, get_e);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_dec_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:559:21
[INFO] [stdout]      |
[INFO] [stdout]  559 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2435 | test_dec_r8!(0x1D, test_0x1d_dec_e, set_e, get_e);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_dec_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:182:21
[INFO] [stdout]      |
[INFO] [stdout]  182 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2436 | test_ld_r8_imm8!(0x1E, test_0x1e_ld_e_imm8, set_e, get_e);
[INFO] [stdout]      | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2442:9
[INFO] [stdout]      |
[INFO] [stdout] 2442 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2465:9
[INFO] [stdout]      |
[INFO] [stdout] 2465 |     let mut test_value: i8 = -50;
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2466:9
[INFO] [stdout]      |
[INFO] [stdout] 2466 |     let mut start_address: i16 = 0x0350;
[INFO] [stdout]      |         ----^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2467:9
[INFO] [stdout]      |
[INFO] [stdout] 2467 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2469:9
[INFO] [stdout]      |
[INFO] [stdout] 2469 |     let mut program: Vec<u8> = vec![0x20, test_value as u8];
[INFO] [stdout]      |         ----^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2475:9
[INFO] [stdout]      |
[INFO] [stdout] 2475 |     let mut cycles = cpu.execute_next();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2487:9
[INFO] [stdout]      |
[INFO] [stdout] 2487 |     let mut test_value: i8 = 11;
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2488:9
[INFO] [stdout]      |
[INFO] [stdout] 2488 |     let mut start_address: i16 = 0x0350;
[INFO] [stdout]      |         ----^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2489:9
[INFO] [stdout]      |
[INFO] [stdout] 2489 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2491:9
[INFO] [stdout]      |
[INFO] [stdout] 2491 |     let mut program: Vec<u8> = vec![0x20, test_value as u8];
[INFO] [stdout]      |         ----^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:131:21
[INFO] [stdout]      |
[INFO] [stdout]  131 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2513 | test_ld_r16_imm16!(0x21, test_0x21_ld_hl_imm16, set_hl, get_hl, get_h, get_l);
[INFO] [stdout]      | ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r16_imm16` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2519:9
[INFO] [stdout]      |
[INFO] [stdout] 2519 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:396:21
[INFO] [stdout]      |
[INFO] [stdout]  396 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2533 | test_inc_r16!(0x23, test_0x23_inc_hl, set_hl, get_hl, get_h, get_l);
[INFO] [stdout]      | ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_inc_r16` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:496:21
[INFO] [stdout]      |
[INFO] [stdout]  496 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2534 | test_inc_r8!(0x24, test_0x24_inc_h, set_h, get_h);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_inc_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:535:21
[INFO] [stdout]      |
[INFO] [stdout]  535 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2535 | test_dec_r8!(0x25, test_0x25_dec_h, set_h, get_h);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_dec_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:559:21
[INFO] [stdout]      |
[INFO] [stdout]  559 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2535 | test_dec_r8!(0x25, test_0x25_dec_h, set_h, get_h);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_dec_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:182:21
[INFO] [stdout]      |
[INFO] [stdout]  182 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2536 | test_ld_r8_imm8!(0x26, test_0x26_ld_h_imm8, set_h, get_h);
[INFO] [stdout]      | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2545:9
[INFO] [stdout]      |
[INFO] [stdout] 2545 |     let mut test_value: i8 = -50;
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2546:9
[INFO] [stdout]      |
[INFO] [stdout] 2546 |     let mut start_address: i16 = 0x0350;
[INFO] [stdout]      |         ----^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2547:9
[INFO] [stdout]      |
[INFO] [stdout] 2547 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2549:9
[INFO] [stdout]      |
[INFO] [stdout] 2549 |     let mut program: Vec<u8> = vec![0x28, test_value as u8];
[INFO] [stdout]      |         ----^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2555:9
[INFO] [stdout]      |
[INFO] [stdout] 2555 |     let mut cycles = cpu.execute_next();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2559:9
[INFO] [stdout]      |
[INFO] [stdout] 2559 |     let mut test_value: i8 = 11;
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2560:9
[INFO] [stdout]      |
[INFO] [stdout] 2560 |     let mut start_address: i16 = 0x0350;
[INFO] [stdout]      |         ----^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2561:9
[INFO] [stdout]      |
[INFO] [stdout] 2561 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2563:9
[INFO] [stdout]      |
[INFO] [stdout] 2563 |     let mut program: Vec<u8> = vec![0x28, test_value as u8];
[INFO] [stdout]      |         ----^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2588:9
[INFO] [stdout]      |
[INFO] [stdout] 2588 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2647:9
[INFO] [stdout]      |
[INFO] [stdout] 2647 |     let mut test_value_1: u8 = 0xBD;
[INFO] [stdout]      |         ----^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2648:9
[INFO] [stdout]      |
[INFO] [stdout] 2648 |     let mut test_address_1: u16 = WRAM_ADDRESS as u16 + 0x0128;
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2649:9
[INFO] [stdout]      |
[INFO] [stdout] 2649 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:445:21
[INFO] [stdout]      |
[INFO] [stdout]  445 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2663 | test_dec_r16!(0x2B, test_0x2b_dec_hl, set_hl, get_hl, get_h, get_l);
[INFO] [stdout]      | ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_dec_r16` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:496:21
[INFO] [stdout]      |
[INFO] [stdout]  496 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2664 | test_inc_r8!(0x2C, test_0x2c_inc_l, set_l, get_l);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_inc_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:535:21
[INFO] [stdout]      |
[INFO] [stdout]  535 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2665 | test_dec_r8!(0x2D, test_0x2d_dec_l, set_l, get_l);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_dec_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:559:21
[INFO] [stdout]      |
[INFO] [stdout]  559 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2665 | test_dec_r8!(0x2D, test_0x2d_dec_l, set_l, get_l);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_dec_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:182:21
[INFO] [stdout]      |
[INFO] [stdout]  182 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2666 | test_ld_r8_imm8!(0x2E, test_0x2e_ld_l_imm8, set_l, get_l);
[INFO] [stdout]      | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2672:9
[INFO] [stdout]      |
[INFO] [stdout] 2672 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2678:9
[INFO] [stdout]      |
[INFO] [stdout] 2678 |     let mut cycles = cpu.execute_next();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2690:9
[INFO] [stdout]      |
[INFO] [stdout] 2690 |     let mut test_value: i8 = -50;
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2691:9
[INFO] [stdout]      |
[INFO] [stdout] 2691 |     let mut start_address: i16 = 0x0350;
[INFO] [stdout]      |         ----^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2692:9
[INFO] [stdout]      |
[INFO] [stdout] 2692 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2694:9
[INFO] [stdout]      |
[INFO] [stdout] 2694 |     let mut program: Vec<u8> = vec![0x30, test_value as u8];
[INFO] [stdout]      |         ----^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2700:9
[INFO] [stdout]      |
[INFO] [stdout] 2700 |     let mut cycles = cpu.execute_next();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2704:9
[INFO] [stdout]      |
[INFO] [stdout] 2704 |     let mut test_value: i8 = 11;
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2705:9
[INFO] [stdout]      |
[INFO] [stdout] 2705 |     let mut start_address: i16 = 0x0350;
[INFO] [stdout]      |         ----^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2706:9
[INFO] [stdout]      |
[INFO] [stdout] 2706 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2708:9
[INFO] [stdout]      |
[INFO] [stdout] 2708 |     let mut program: Vec<u8> = vec![0x30, test_value as u8];
[INFO] [stdout]      |         ----^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:156:21
[INFO] [stdout]      |
[INFO] [stdout]  156 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2730 | test_ld_r16_imm16!(0x31, test_0x31_ld_sp_imm16, set_sp, get_sp);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r16_imm16` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2736:9
[INFO] [stdout]      |
[INFO] [stdout] 2736 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:420:21
[INFO] [stdout]      |
[INFO] [stdout]  420 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2750 | test_inc_r16!(0x33, test_0x33_inc_sp, set_sp, get_sp);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_inc_r16` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `cycle` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2776:5
[INFO] [stdout]      |
[INFO] [stdout] 2776 |     cycle = cpu.execute_next();
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `cycle` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2788:5
[INFO] [stdout]      |
[INFO] [stdout] 2788 |     cycle = cpu.execute_next();
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2757:9
[INFO] [stdout]      |
[INFO] [stdout] 2757 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `cycle` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2819:5
[INFO] [stdout]      |
[INFO] [stdout] 2819 |     cycle = cpu.execute_next();
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `cycle` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2831:5
[INFO] [stdout]      |
[INFO] [stdout] 2831 |     cycle = cpu.execute_next();
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `cycle` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2843:5
[INFO] [stdout]      |
[INFO] [stdout] 2843 |     cycle = cpu.execute_next();
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2800:9
[INFO] [stdout]      |
[INFO] [stdout] 2800 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2855:9
[INFO] [stdout]      |
[INFO] [stdout] 2855 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2877:9
[INFO] [stdout]      |
[INFO] [stdout] 2877 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2892:9
[INFO] [stdout]      |
[INFO] [stdout] 2892 |     let mut test_value: i8 = -50;
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2893:9
[INFO] [stdout]      |
[INFO] [stdout] 2893 |     let mut start_address: i16 = 0x0350;
[INFO] [stdout]      |         ----^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2894:9
[INFO] [stdout]      |
[INFO] [stdout] 2894 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2896:9
[INFO] [stdout]      |
[INFO] [stdout] 2896 |     let mut program: Vec<u8> = vec![0x38, test_value as u8];
[INFO] [stdout]      |         ----^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2902:9
[INFO] [stdout]      |
[INFO] [stdout] 2902 |     let mut cycles = cpu.execute_next();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2906:9
[INFO] [stdout]      |
[INFO] [stdout] 2906 |     let mut test_value: i8 = 11;
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2907:9
[INFO] [stdout]      |
[INFO] [stdout] 2907 |     let mut start_address: i16 = 0x0350;
[INFO] [stdout]      |         ----^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2908:9
[INFO] [stdout]      |
[INFO] [stdout] 2908 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2910:9
[INFO] [stdout]      |
[INFO] [stdout] 2910 |     let mut program: Vec<u8> = vec![0x38, test_value as u8];
[INFO] [stdout]      |         ----^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:734:21
[INFO] [stdout]      |
[INFO] [stdout]  734 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2932 | test_add_r16_r16!(0x39, test_0x39_add_hl_sp, set_hl, get_hl, set_sp, get_sp);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_add_r16_r16` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2936:9
[INFO] [stdout]      |
[INFO] [stdout] 2936 |     let mut test_value_1: u8 = 0xBD;
[INFO] [stdout]      |         ----^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2937:9
[INFO] [stdout]      |
[INFO] [stdout] 2937 |     let mut test_address_1: u16 = WRAM_ADDRESS as u16 + 0x0128;
[INFO] [stdout]      |         ----^^^^^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2938:9
[INFO] [stdout]      |
[INFO] [stdout] 2938 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:470:21
[INFO] [stdout]      |
[INFO] [stdout]  470 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2952 | test_dec_r16!(0x3B, test_0x3b_dec_sp, set_sp, get_sp);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_dec_r16` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:496:21
[INFO] [stdout]      |
[INFO] [stdout]  496 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2953 | test_inc_r8!(0x3C, test_0x3c_inc_a, set_a, get_a);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_inc_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:535:21
[INFO] [stdout]      |
[INFO] [stdout]  535 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2954 | test_dec_r8!(0x3D, test_0x3d_dec_a, set_a, get_a);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_dec_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:559:21
[INFO] [stdout]      |
[INFO] [stdout]  559 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2954 | test_dec_r8!(0x3D, test_0x3d_dec_a, set_a, get_a);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_dec_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:182:21
[INFO] [stdout]      |
[INFO] [stdout]  182 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2955 | test_ld_r8_imm8!(0x3E, test_0x3e_ld_a_imm8, set_a, get_a);
[INFO] [stdout]      | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2960:9
[INFO] [stdout]      |
[INFO] [stdout] 2960 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:53:21
[INFO] [stdout]      |
[INFO] [stdout]   53 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2984 | test_ld_r8!(0x40, test_0x40_ld_b_b, set_b, get_b);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2985 | test_ld_r8!(0x41, test_0x41_ld_b_c, set_b, get_b, set_c, get_c);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2986 | test_ld_r8!(0x42, test_0x42_ld_b_d, set_b, get_b, set_d, get_d);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2987 | test_ld_r8!(0x43, test_0x43_ld_b_e, set_b, get_b, set_e, get_e);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2988 | test_ld_r8!(0x44, test_0x44_ld_b_h, set_b, get_b, set_h, get_h);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2989 | test_ld_r8!(0x45, test_0x45_ld_b_l, set_b, get_b, set_l, get_l);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:302:21
[INFO] [stdout]      |
[INFO] [stdout]  302 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2990 | test_ld_ar16!(0x46, test_0x46_ld_b__hl_, set_b, get_b, set_hl, get_hl);
[INFO] [stdout]      | ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_ar16` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2991 | test_ld_r8!(0x47, test_0x47_ld_b_a, set_b, get_b, set_a, get_a);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2994 | test_ld_r8!(0x48, test_0x48_ld_b_c, set_c, get_c, set_b, get_b);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:53:21
[INFO] [stdout]      |
[INFO] [stdout]   53 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2995 | test_ld_r8!(0x49, test_0x49_ld_c_c, set_c, get_c);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2996 | test_ld_r8!(0x4A, test_0x4a_ld_c_d, set_c, get_c, set_d, get_d);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2997 | test_ld_r8!(0x4B, test_0x4b_ld_c_e, set_c, get_c, set_e, get_e);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2998 | test_ld_r8!(0x4C, test_0x4c_ld_c_h, set_c, get_c, set_h, get_h);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 2999 | test_ld_r8!(0x4D, test_0x4d_ld_c_l, set_c, get_c, set_l, get_l);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:302:21
[INFO] [stdout]      |
[INFO] [stdout]  302 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3000 | test_ld_ar16!(0x4E, test_0x4e_ld_c__hl_, set_c, get_c, set_hl, get_hl);
[INFO] [stdout]      | ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_ar16` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3001 | test_ld_r8!(0x4F, test_0x4f_ld_c_a, set_c, get_c, set_a, get_a);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3004 | test_ld_r8!(0x50, test_0x50_ld_d_b, set_d, get_d, set_b, get_b);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3005 | test_ld_r8!(0x51, test_0x51_ld_d_c, set_d, get_d, set_c, get_c);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:53:21
[INFO] [stdout]      |
[INFO] [stdout]   53 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3006 | test_ld_r8!(0x52, test_0x52_ld_d_d, set_d, get_d);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3007 | test_ld_r8!(0x53, test_0x53_ld_d_e, set_d, get_d, set_e, get_e);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3008 | test_ld_r8!(0x54, test_0x54_ld_d_h, set_d, get_d, set_h, get_h);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3009 | test_ld_r8!(0x55, test_0x55_ld_d_l, set_d, get_d, set_l, get_l);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:302:21
[INFO] [stdout]      |
[INFO] [stdout]  302 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3010 | test_ld_ar16!(0x56, test_0x56_ld_d__hl_, set_d, get_d, set_hl, get_hl);
[INFO] [stdout]      | ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_ar16` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3011 | test_ld_r8!(0x57, test_0x57_ld_d_a, set_d, get_d, set_a, get_a);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3014 | test_ld_r8!(0x58, test_0x58_ld_e_b, set_e, get_e, set_b, get_b);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3015 | test_ld_r8!(0x59, test_0x59_ld_e_c, set_e, get_e, set_c, get_c);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3016 | test_ld_r8!(0x5A, test_0x5a_ld_e_d, set_e, get_e, set_d, get_d);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:53:21
[INFO] [stdout]      |
[INFO] [stdout]   53 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3017 | test_ld_r8!(0x5B, test_0x5b_ld_e_e, set_e, get_e);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3018 | test_ld_r8!(0x5C, test_0x5c_ld_e_h, set_e, get_e, set_h, get_h);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3019 | test_ld_r8!(0x5D, test_0x5d_ld_e_l, set_e, get_e, set_l, get_l);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:302:21
[INFO] [stdout]      |
[INFO] [stdout]  302 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3020 | test_ld_ar16!(0x5E, test_0x5e_ld_e__hl_, set_e, get_e, set_hl, get_hl);
[INFO] [stdout]      | ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_ar16` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3021 | test_ld_r8!(0x5F, test_0x5f_ld_e_a, set_e, get_e, set_a, get_a);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3024 | test_ld_r8!(0x60, test_0x60_ld_h_b, set_h, get_h, set_b, get_b);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3025 | test_ld_r8!(0x61, test_0x61_ld_h_c, set_h, get_h, set_c, get_c);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3026 | test_ld_r8!(0x62, test_0x62_ld_h_d, set_h, get_h, set_d, get_d);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3027 | test_ld_r8!(0x63, test_0x63_ld_h_e, set_h, get_h, set_e, get_e);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:53:21
[INFO] [stdout]      |
[INFO] [stdout]   53 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3028 | test_ld_r8!(0x64, test_0x64_ld_h_h, set_h, get_h);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3029 | test_ld_r8!(0x65, test_0x65_ld_h_l, set_h, get_h, set_l, get_l);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:3034:9
[INFO] [stdout]      |
[INFO] [stdout] 3034 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3051 | test_ld_r8!(0x67, test_0x67_ld_h_a, set_h, get_h, set_a, get_a);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3054 | test_ld_r8!(0x68, test_0x68_ld_l_b, set_l, get_l, set_b, get_b);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3055 | test_ld_r8!(0x69, test_0x69_ld_l_c, set_l, get_l, set_c, get_c);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3056 | test_ld_r8!(0x6A, test_0x6a_ld_l_d, set_l, get_l, set_d, get_d);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3057 | test_ld_r8!(0x6B, test_0x6b_ld_l_e, set_l, get_l, set_e, get_e);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3058 | test_ld_r8!(0x6C, test_0x6c_ld_l_h, set_l, get_l, set_h, get_h);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:53:21
[INFO] [stdout]      |
[INFO] [stdout]   53 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3059 | test_ld_r8!(0x6D, test_0x6d_ld_l_l, set_l, get_l);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:3064:9
[INFO] [stdout]      |
[INFO] [stdout] 3064 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3081 | test_ld_r8!(0x6F, test_0x6f_ld_l_a, set_l, get_l, set_a, get_a);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:209:21
[INFO] [stdout]      |
[INFO] [stdout]  209 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3084 | test_ld_ar16_r8!(0x70, test_0x70_ld__hl__b, set_hl, get_hl, set_b, get_b);
[INFO] [stdout]      | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_ar16_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:209:21
[INFO] [stdout]      |
[INFO] [stdout]  209 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3085 | test_ld_ar16_r8!(0x71, test_0x71_ld__hl__c, set_hl, get_hl, set_c, get_c);
[INFO] [stdout]      | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_ar16_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:209:21
[INFO] [stdout]      |
[INFO] [stdout]  209 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3086 | test_ld_ar16_r8!(0x72, test_0x72_ld__hl__d, set_hl, get_hl, set_d, get_d);
[INFO] [stdout]      | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_ar16_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:209:21
[INFO] [stdout]      |
[INFO] [stdout]  209 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3087 | test_ld_ar16_r8!(0x73, test_0x73_ld__hl__e, set_hl, get_hl, set_e, get_e);
[INFO] [stdout]      | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_ar16_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:3093:9
[INFO] [stdout]      |
[INFO] [stdout] 3093 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:3119:9
[INFO] [stdout]      |
[INFO] [stdout] 3119 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:209:21
[INFO] [stdout]      |
[INFO] [stdout]  209 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3143 | test_ld_ar16_r8!(0x77, test_0x77_ld__hl__a, set_hl, get_hl, set_a, get_a);
[INFO] [stdout]      | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_ar16_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3146 | test_ld_r8!(0x78, test_0x78_ld_a_b, set_a, get_a, set_b, get_b);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3147 | test_ld_r8!(0x79, test_0x79_ld_a_c, set_a, get_a, set_c, get_c);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3148 | test_ld_r8!(0x7A, test_0x7a_ld_a_d, set_a, get_a, set_d, get_d);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3149 | test_ld_r8!(0x7B, test_0x7b_ld_a_e, set_a, get_a, set_e, get_e);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3150 | test_ld_r8!(0x7C, test_0x7c_ld_a_h, set_a, get_a, set_h, get_h);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:27:21
[INFO] [stdout]      |
[INFO] [stdout]   27 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3151 | test_ld_r8!(0x7D, test_0x7d_ld_a_l, set_a, get_a, set_l, get_l);
[INFO] [stdout]      | --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:302:21
[INFO] [stdout]      |
[INFO] [stdout]  302 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3152 | test_ld_ar16!(0x7E, test_0x7e_ld_a__hl_, set_a, get_a, set_hl, get_hl);
[INFO] [stdout]      | ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_ar16` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:53:21
[INFO] [stdout]      |
[INFO] [stdout]   53 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3153 | test_ld_r8!(0x7F, test_0x7f_ld_a_a, set_a, get_a);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:590:21
[INFO] [stdout]      |
[INFO] [stdout]  590 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3156 | test_add_r8_r8!(0x80, test_0x80_add_a_b, set_a, get_a, set_b, get_b);
[INFO] [stdout]      | -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_add_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:590:21
[INFO] [stdout]      |
[INFO] [stdout]  590 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3157 | test_add_r8_r8!(0x81, test_0x81_add_a_c, set_a, get_a, set_c, get_c);
[INFO] [stdout]      | -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_add_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:590:21
[INFO] [stdout]      |
[INFO] [stdout]  590 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3158 | test_add_r8_r8!(0x82, test_0x82_add_a_d, set_a, get_a, set_d, get_d);
[INFO] [stdout]      | -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_add_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:590:21
[INFO] [stdout]      |
[INFO] [stdout]  590 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3159 | test_add_r8_r8!(0x83, test_0x83_add_a_e, set_a, get_a, set_e, get_e);
[INFO] [stdout]      | -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_add_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:590:21
[INFO] [stdout]      |
[INFO] [stdout]  590 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3160 | test_add_r8_r8!(0x84, test_0x84_add_a_h, set_a, get_a, set_h, get_h);
[INFO] [stdout]      | -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_add_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:590:21
[INFO] [stdout]      |
[INFO] [stdout]  590 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3161 | test_add_r8_r8!(0x85, test_0x85_add_a_l, set_a, get_a, set_l, get_l);
[INFO] [stdout]      | -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_add_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:3168:9
[INFO] [stdout]      |
[INFO] [stdout] 3168 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:3246:9
[INFO] [stdout]      |
[INFO] [stdout] 3246 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:806:21
[INFO] [stdout]      |
[INFO] [stdout]  806 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3304 | test_adc_r8_r8!(0x88, test_0x88_adc_a_b__c_off, set_a, get_a, set_b, get_b, false);
[INFO] [stdout]      | ---------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_adc_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:806:21
[INFO] [stdout]      |
[INFO] [stdout]  806 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3305 | test_adc_r8_r8!(0x88, test_0x88_adc_a_b__c_on, set_a, get_a, set_b, get_b, true);
[INFO] [stdout]      | -------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_adc_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:806:21
[INFO] [stdout]      |
[INFO] [stdout]  806 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3306 | test_adc_r8_r8!(0x89, test_0x89_adc_a_c__c_off, set_a, get_a, set_c, get_c, false);
[INFO] [stdout]      | ---------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_adc_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:806:21
[INFO] [stdout]      |
[INFO] [stdout]  806 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3307 | test_adc_r8_r8!(0x89, test_0x89_adc_a_c__c_on, set_a, get_a, set_c, get_c, true);
[INFO] [stdout]      | -------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_adc_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:806:21
[INFO] [stdout]      |
[INFO] [stdout]  806 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3308 | test_adc_r8_r8!(0x8A, test_0x8a_adc_a_d__c_off, set_a, get_a, set_d, get_d, false);
[INFO] [stdout]      | ---------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_adc_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:806:21
[INFO] [stdout]      |
[INFO] [stdout]  806 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3309 | test_adc_r8_r8!(0x8A, test_0x8a_adc_a_d__c_on, set_a, get_a, set_d, get_d, true);
[INFO] [stdout]      | -------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_adc_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:806:21
[INFO] [stdout]      |
[INFO] [stdout]  806 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3310 | test_adc_r8_r8!(0x8B, test_0x8b_adc_a_e__c_off, set_a, get_a, set_e, get_e, false);
[INFO] [stdout]      | ---------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_adc_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:806:21
[INFO] [stdout]      |
[INFO] [stdout]  806 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3311 | test_adc_r8_r8!(0x8B, test_0x8b_adc_a_e__c_on, set_a, get_a, set_e, get_e, true);
[INFO] [stdout]      | -------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_adc_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:806:21
[INFO] [stdout]      |
[INFO] [stdout]  806 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3312 | test_adc_r8_r8!(0x8C, test_0x8c_adc_a_h__c_off, set_a, get_a, set_h, get_h, false);
[INFO] [stdout]      | ---------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_adc_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:806:21
[INFO] [stdout]      |
[INFO] [stdout]  806 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3313 | test_adc_r8_r8!(0x8C, test_0x8c_adc_a_h__c_on, set_a, get_a, set_h, get_h, true);
[INFO] [stdout]      | -------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_adc_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:806:21
[INFO] [stdout]      |
[INFO] [stdout]  806 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3314 | test_adc_r8_r8!(0x8D, test_0x8d_adc_a_l__c_off, set_a, get_a, set_l, get_l, false);
[INFO] [stdout]      | ---------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_adc_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:806:21
[INFO] [stdout]      |
[INFO] [stdout]  806 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3315 | test_adc_r8_r8!(0x8D, test_0x8d_adc_a_l__c_on, set_a, get_a, set_l, get_l, true);
[INFO] [stdout]      | -------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_adc_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:3323:9
[INFO] [stdout]      |
[INFO] [stdout] 3323 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:3405:9
[INFO] [stdout]      |
[INFO] [stdout] 3405 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:3485:9
[INFO] [stdout]      |
[INFO] [stdout] 3485 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:3550:9
[INFO] [stdout]      |
[INFO] [stdout] 3550 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:655:21
[INFO] [stdout]      |
[INFO] [stdout]  655 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3612 | test_sub_r8_r8!(0x90, test_0x90_sub_a_b, set_a, get_a, set_b, get_b);
[INFO] [stdout]      | -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_sub_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:655:21
[INFO] [stdout]      |
[INFO] [stdout]  655 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3613 | test_sub_r8_r8!(0x91, test_0x91_sub_a_c, set_a, get_a, set_c, get_c);
[INFO] [stdout]      | -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_sub_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:655:21
[INFO] [stdout]      |
[INFO] [stdout]  655 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3614 | test_sub_r8_r8!(0x92, test_0x92_sub_a_d, set_a, get_a, set_d, get_d);
[INFO] [stdout]      | -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_sub_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:655:21
[INFO] [stdout]      |
[INFO] [stdout]  655 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3615 | test_sub_r8_r8!(0x93, test_0x93_sub_a_e, set_a, get_a, set_e, get_e);
[INFO] [stdout]      | -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_sub_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:655:21
[INFO] [stdout]      |
[INFO] [stdout]  655 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3616 | test_sub_r8_r8!(0x94, test_0x94_sub_a_h, set_a, get_a, set_h, get_h);
[INFO] [stdout]      | -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_sub_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:655:21
[INFO] [stdout]      |
[INFO] [stdout]  655 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3617 | test_sub_r8_r8!(0x95, test_0x95_sub_a_l, set_a, get_a, set_l, get_l);
[INFO] [stdout]      | -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_sub_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:3624:9
[INFO] [stdout]      |
[INFO] [stdout] 3624 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:3631:9
[INFO] [stdout]      |
[INFO] [stdout] 3631 |     let mut cycles = cpu.execute_next();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:3650:9
[INFO] [stdout]      |
[INFO] [stdout] 3650 |     let mut cycles = cpu.execute_next();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:3670:9
[INFO] [stdout]      |
[INFO] [stdout] 3670 |     let mut cycles = cpu.execute_next();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:3689:9
[INFO] [stdout]      |
[INFO] [stdout] 3689 |     let mut cycles = cpu.execute_next();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:3708:9
[INFO] [stdout]      |
[INFO] [stdout] 3708 |     let mut cycles = cpu.execute_next();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:3724:9
[INFO] [stdout]      |
[INFO] [stdout] 3724 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:875:21
[INFO] [stdout]      |
[INFO] [stdout]  875 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3754 | test_sbc_r8_r8!(0x98, test_0x98_sbc_a_b__c_off, set_a, get_a, set_b, get_b, false);
[INFO] [stdout]      | ---------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_sbc_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:875:21
[INFO] [stdout]      |
[INFO] [stdout]  875 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3755 | test_sbc_r8_r8!(0x98, test_0x98_sbc_a_b__c_on, set_a, get_a, set_b, get_b, true);
[INFO] [stdout]      | -------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_sbc_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:875:21
[INFO] [stdout]      |
[INFO] [stdout]  875 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3756 | test_sbc_r8_r8!(0x99, test_0x99_sbc_a_c__c_off, set_a, get_a, set_c, get_c, false);
[INFO] [stdout]      | ---------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_sbc_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:875:21
[INFO] [stdout]      |
[INFO] [stdout]  875 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3757 | test_sbc_r8_r8!(0x99, test_0x99_sbc_a_c__c_on, set_a, get_a, set_c, get_c, true);
[INFO] [stdout]      | -------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_sbc_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:875:21
[INFO] [stdout]      |
[INFO] [stdout]  875 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3758 | test_sbc_r8_r8!(0x9A, test_0x9a_sbc_a_d__c_off, set_a, get_a, set_d, get_d, false);
[INFO] [stdout]      | ---------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_sbc_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:875:21
[INFO] [stdout]      |
[INFO] [stdout]  875 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3759 | test_sbc_r8_r8!(0x9A, test_0x9a_sbc_a_d__c_on, set_a, get_a, set_d, get_d, true);
[INFO] [stdout]      | -------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_sbc_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:875:21
[INFO] [stdout]      |
[INFO] [stdout]  875 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3760 | test_sbc_r8_r8!(0x9B, test_0x9b_sbc_a_e__c_off, set_a, get_a, set_e, get_e, false);
[INFO] [stdout]      | ---------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_sbc_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:875:21
[INFO] [stdout]      |
[INFO] [stdout]  875 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3761 | test_sbc_r8_r8!(0x9B, test_0x9b_sbc_a_e__c_on, set_a, get_a, set_e, get_e, true);
[INFO] [stdout]      | -------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_sbc_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:875:21
[INFO] [stdout]      |
[INFO] [stdout]  875 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3762 | test_sbc_r8_r8!(0x9C, test_0x9c_sbc_a_h__c_off, set_a, get_a, set_h, get_h, false);
[INFO] [stdout]      | ---------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_sbc_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:875:21
[INFO] [stdout]      |
[INFO] [stdout]  875 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3763 | test_sbc_r8_r8!(0x9C, test_0x9c_sbc_a_h__c_on, set_a, get_a, set_h, get_h, true);
[INFO] [stdout]      | -------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_sbc_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:875:21
[INFO] [stdout]      |
[INFO] [stdout]  875 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3764 | test_sbc_r8_r8!(0x9D, test_0x9d_sbc_a_l__c_off, set_a, get_a, set_l, get_l, false);
[INFO] [stdout]      | ---------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_sbc_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:875:21
[INFO] [stdout]      |
[INFO] [stdout]  875 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 3765 | test_sbc_r8_r8!(0x9D, test_0x9d_sbc_a_l__c_on, set_a, get_a, set_l, get_l, true);
[INFO] [stdout]      | -------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_sbc_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:3772:9
[INFO] [stdout]      |
[INFO] [stdout] 3772 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:3854:9
[INFO] [stdout]      |
[INFO] [stdout] 3854 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:3934:9
[INFO] [stdout]      |
[INFO] [stdout] 3934 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:3969:9
[INFO] [stdout]      |
[INFO] [stdout] 3969 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1132:21
[INFO] [stdout]      |
[INFO] [stdout] 1132 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4001 | test_and_a_r8!(0xA0, test_0xa0_and_a_b, set_b, get_b);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_and_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1138:21
[INFO] [stdout]      |
[INFO] [stdout] 1138 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4001 | test_and_a_r8!(0xA0, test_0xa0_and_a_b, set_b, get_b);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_and_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1152:21
[INFO] [stdout]      |
[INFO] [stdout] 1152 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4001 | test_and_a_r8!(0xA0, test_0xa0_and_a_b, set_b, get_b);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_and_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1132:21
[INFO] [stdout]      |
[INFO] [stdout] 1132 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4002 | test_and_a_r8!(0xA1, test_0xa1_and_a_c, set_c, get_c);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_and_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1138:21
[INFO] [stdout]      |
[INFO] [stdout] 1138 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4002 | test_and_a_r8!(0xA1, test_0xa1_and_a_c, set_c, get_c);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_and_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1152:21
[INFO] [stdout]      |
[INFO] [stdout] 1152 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4002 | test_and_a_r8!(0xA1, test_0xa1_and_a_c, set_c, get_c);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_and_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1132:21
[INFO] [stdout]      |
[INFO] [stdout] 1132 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4003 | test_and_a_r8!(0xA2, test_0xa2_and_a_d, set_d, get_d);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_and_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1138:21
[INFO] [stdout]      |
[INFO] [stdout] 1138 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4003 | test_and_a_r8!(0xA2, test_0xa2_and_a_d, set_d, get_d);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_and_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1152:21
[INFO] [stdout]      |
[INFO] [stdout] 1152 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4003 | test_and_a_r8!(0xA2, test_0xa2_and_a_d, set_d, get_d);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_and_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1132:21
[INFO] [stdout]      |
[INFO] [stdout] 1132 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4004 | test_and_a_r8!(0xA3, test_0xa3_and_a_e, set_e, get_e);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_and_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1138:21
[INFO] [stdout]      |
[INFO] [stdout] 1138 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4004 | test_and_a_r8!(0xA3, test_0xa3_and_a_e, set_e, get_e);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_and_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1152:21
[INFO] [stdout]      |
[INFO] [stdout] 1152 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4004 | test_and_a_r8!(0xA3, test_0xa3_and_a_e, set_e, get_e);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_and_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1132:21
[INFO] [stdout]      |
[INFO] [stdout] 1132 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4005 | test_and_a_r8!(0xA4, test_0xa4_and_a_h, set_h, get_h);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_and_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1138:21
[INFO] [stdout]      |
[INFO] [stdout] 1138 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4005 | test_and_a_r8!(0xA4, test_0xa4_and_a_h, set_h, get_h);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_and_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1152:21
[INFO] [stdout]      |
[INFO] [stdout] 1152 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4005 | test_and_a_r8!(0xA4, test_0xa4_and_a_h, set_h, get_h);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_and_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1132:21
[INFO] [stdout]      |
[INFO] [stdout] 1132 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4006 | test_and_a_r8!(0xA5, test_0xa5_and_a_l, set_l, get_l);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_and_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1138:21
[INFO] [stdout]      |
[INFO] [stdout] 1138 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4006 | test_and_a_r8!(0xA5, test_0xa5_and_a_l, set_l, get_l);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_and_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1152:21
[INFO] [stdout]      |
[INFO] [stdout] 1152 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4006 | test_and_a_r8!(0xA5, test_0xa5_and_a_l, set_l, get_l);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_and_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1167:21
[INFO] [stdout]      |
[INFO] [stdout] 1167 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4007 | test_and_a_r8!(0xA6, test_0xa6_and_a__hl_, hl);
[INFO] [stdout]      | ---------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_and_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1204:21
[INFO] [stdout]      |
[INFO] [stdout] 1204 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4008 | test_and_a_r8!(0xA7, test_0xa7_and_a_a, a);
[INFO] [stdout]      | ------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_and_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1209:21
[INFO] [stdout]      |
[INFO] [stdout] 1209 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4008 | test_and_a_r8!(0xA7, test_0xa7_and_a_a, a);
[INFO] [stdout]      | ------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_and_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1220:21
[INFO] [stdout]      |
[INFO] [stdout] 1220 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4008 | test_and_a_r8!(0xA7, test_0xa7_and_a_a, a);
[INFO] [stdout]      | ------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_and_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1270:21
[INFO] [stdout]      |
[INFO] [stdout] 1270 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4011 | test_xor_a_r8!(0xA8, test_0xa8_xor_a_b, set_b, get_b);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1276:21
[INFO] [stdout]      |
[INFO] [stdout] 1276 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4011 | test_xor_a_r8!(0xA8, test_0xa8_xor_a_b, set_b, get_b);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1290:21
[INFO] [stdout]      |
[INFO] [stdout] 1290 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4011 | test_xor_a_r8!(0xA8, test_0xa8_xor_a_b, set_b, get_b);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1304:21
[INFO] [stdout]      |
[INFO] [stdout] 1304 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4011 | test_xor_a_r8!(0xA8, test_0xa8_xor_a_b, set_b, get_b);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1270:21
[INFO] [stdout]      |
[INFO] [stdout] 1270 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4012 | test_xor_a_r8!(0xA9, test_0xa9_xor_a_c, set_c, get_c);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1276:21
[INFO] [stdout]      |
[INFO] [stdout] 1276 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4012 | test_xor_a_r8!(0xA9, test_0xa9_xor_a_c, set_c, get_c);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1290:21
[INFO] [stdout]      |
[INFO] [stdout] 1290 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4012 | test_xor_a_r8!(0xA9, test_0xa9_xor_a_c, set_c, get_c);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1304:21
[INFO] [stdout]      |
[INFO] [stdout] 1304 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4012 | test_xor_a_r8!(0xA9, test_0xa9_xor_a_c, set_c, get_c);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1270:21
[INFO] [stdout]      |
[INFO] [stdout] 1270 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4013 | test_xor_a_r8!(0xAA, test_0xaa_xor_a_d, set_d, get_d);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1276:21
[INFO] [stdout]      |
[INFO] [stdout] 1276 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4013 | test_xor_a_r8!(0xAA, test_0xaa_xor_a_d, set_d, get_d);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1290:21
[INFO] [stdout]      |
[INFO] [stdout] 1290 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4013 | test_xor_a_r8!(0xAA, test_0xaa_xor_a_d, set_d, get_d);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1304:21
[INFO] [stdout]      |
[INFO] [stdout] 1304 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4013 | test_xor_a_r8!(0xAA, test_0xaa_xor_a_d, set_d, get_d);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1270:21
[INFO] [stdout]      |
[INFO] [stdout] 1270 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4014 | test_xor_a_r8!(0xAB, test_0xab_xor_a_e, set_e, get_e);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1276:21
[INFO] [stdout]      |
[INFO] [stdout] 1276 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4014 | test_xor_a_r8!(0xAB, test_0xab_xor_a_e, set_e, get_e);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1290:21
[INFO] [stdout]      |
[INFO] [stdout] 1290 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4014 | test_xor_a_r8!(0xAB, test_0xab_xor_a_e, set_e, get_e);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1304:21
[INFO] [stdout]      |
[INFO] [stdout] 1304 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4014 | test_xor_a_r8!(0xAB, test_0xab_xor_a_e, set_e, get_e);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1270:21
[INFO] [stdout]      |
[INFO] [stdout] 1270 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4015 | test_xor_a_r8!(0xAC, test_0xac_xor_a_h, set_h, get_h);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1276:21
[INFO] [stdout]      |
[INFO] [stdout] 1276 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4015 | test_xor_a_r8!(0xAC, test_0xac_xor_a_h, set_h, get_h);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1290:21
[INFO] [stdout]      |
[INFO] [stdout] 1290 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4015 | test_xor_a_r8!(0xAC, test_0xac_xor_a_h, set_h, get_h);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1304:21
[INFO] [stdout]      |
[INFO] [stdout] 1304 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4015 | test_xor_a_r8!(0xAC, test_0xac_xor_a_h, set_h, get_h);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1270:21
[INFO] [stdout]      |
[INFO] [stdout] 1270 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4016 | test_xor_a_r8!(0xAD, test_0xad_xor_a_l, set_l, get_l);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1276:21
[INFO] [stdout]      |
[INFO] [stdout] 1276 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4016 | test_xor_a_r8!(0xAD, test_0xad_xor_a_l, set_l, get_l);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1290:21
[INFO] [stdout]      |
[INFO] [stdout] 1290 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4016 | test_xor_a_r8!(0xAD, test_0xad_xor_a_l, set_l, get_l);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1304:21
[INFO] [stdout]      |
[INFO] [stdout] 1304 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4016 | test_xor_a_r8!(0xAD, test_0xad_xor_a_l, set_l, get_l);
[INFO] [stdout]      | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1319:21
[INFO] [stdout]      |
[INFO] [stdout] 1319 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4017 | test_xor_a_r8!(0xAE, test_0xae_xor_a__hl_, hl);
[INFO] [stdout]      | ---------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1370:21
[INFO] [stdout]      |
[INFO] [stdout] 1370 |                 let mut test_value_1: u8 = 0b0110_1001;
[INFO] [stdout]      |                     ----^^^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4018 | test_xor_a_r8!(0xAF, test_0xaf_xor_a_a, a);
[INFO] [stdout]      | ------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1371:21
[INFO] [stdout]      |
[INFO] [stdout] 1371 |                 let mut expected_value: u8 = 0x0;
[INFO] [stdout]      |                     ----^^^^^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4018 | test_xor_a_r8!(0xAF, test_0xaf_xor_a_a, a);
[INFO] [stdout]      | ------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1372:21
[INFO] [stdout]      |
[INFO] [stdout] 1372 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4018 | test_xor_a_r8!(0xAF, test_0xaf_xor_a_a, a);
[INFO] [stdout]      | ------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1377:21
[INFO] [stdout]      |
[INFO] [stdout] 1377 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4018 | test_xor_a_r8!(0xAF, test_0xaf_xor_a_a, a);
[INFO] [stdout]      | ------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1440:21
[INFO] [stdout]      |
[INFO] [stdout] 1440 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4021 | test_or_a_r8!(0xB0, test_0xb0_or_a_b, set_b, get_b);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1446:21
[INFO] [stdout]      |
[INFO] [stdout] 1446 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4021 | test_or_a_r8!(0xB0, test_0xb0_or_a_b, set_b, get_b);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1460:21
[INFO] [stdout]      |
[INFO] [stdout] 1460 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4021 | test_or_a_r8!(0xB0, test_0xb0_or_a_b, set_b, get_b);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1474:21
[INFO] [stdout]      |
[INFO] [stdout] 1474 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4021 | test_or_a_r8!(0xB0, test_0xb0_or_a_b, set_b, get_b);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1488:21
[INFO] [stdout]      |
[INFO] [stdout] 1488 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4021 | test_or_a_r8!(0xB0, test_0xb0_or_a_b, set_b, get_b);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1440:21
[INFO] [stdout]      |
[INFO] [stdout] 1440 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4022 | test_or_a_r8!(0xB1, test_0xb1_or_a_c, set_c, get_c);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1446:21
[INFO] [stdout]      |
[INFO] [stdout] 1446 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4022 | test_or_a_r8!(0xB1, test_0xb1_or_a_c, set_c, get_c);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1460:21
[INFO] [stdout]      |
[INFO] [stdout] 1460 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4022 | test_or_a_r8!(0xB1, test_0xb1_or_a_c, set_c, get_c);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1474:21
[INFO] [stdout]      |
[INFO] [stdout] 1474 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4022 | test_or_a_r8!(0xB1, test_0xb1_or_a_c, set_c, get_c);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1488:21
[INFO] [stdout]      |
[INFO] [stdout] 1488 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4022 | test_or_a_r8!(0xB1, test_0xb1_or_a_c, set_c, get_c);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1440:21
[INFO] [stdout]      |
[INFO] [stdout] 1440 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4023 | test_or_a_r8!(0xB2, test_0xb2_or_a_d, set_d, get_d);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1446:21
[INFO] [stdout]      |
[INFO] [stdout] 1446 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4023 | test_or_a_r8!(0xB2, test_0xb2_or_a_d, set_d, get_d);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1460:21
[INFO] [stdout]      |
[INFO] [stdout] 1460 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4023 | test_or_a_r8!(0xB2, test_0xb2_or_a_d, set_d, get_d);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1474:21
[INFO] [stdout]      |
[INFO] [stdout] 1474 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4023 | test_or_a_r8!(0xB2, test_0xb2_or_a_d, set_d, get_d);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1488:21
[INFO] [stdout]      |
[INFO] [stdout] 1488 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4023 | test_or_a_r8!(0xB2, test_0xb2_or_a_d, set_d, get_d);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1440:21
[INFO] [stdout]      |
[INFO] [stdout] 1440 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4024 | test_or_a_r8!(0xB3, test_0xb3_or_a_e, set_e, get_e);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1446:21
[INFO] [stdout]      |
[INFO] [stdout] 1446 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4024 | test_or_a_r8!(0xB3, test_0xb3_or_a_e, set_e, get_e);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1460:21
[INFO] [stdout]      |
[INFO] [stdout] 1460 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4024 | test_or_a_r8!(0xB3, test_0xb3_or_a_e, set_e, get_e);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1474:21
[INFO] [stdout]      |
[INFO] [stdout] 1474 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4024 | test_or_a_r8!(0xB3, test_0xb3_or_a_e, set_e, get_e);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1488:21
[INFO] [stdout]      |
[INFO] [stdout] 1488 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4024 | test_or_a_r8!(0xB3, test_0xb3_or_a_e, set_e, get_e);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1440:21
[INFO] [stdout]      |
[INFO] [stdout] 1440 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4025 | test_or_a_r8!(0xB4, test_0xb4_or_a_h, set_h, get_h);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1446:21
[INFO] [stdout]      |
[INFO] [stdout] 1446 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4025 | test_or_a_r8!(0xB4, test_0xb4_or_a_h, set_h, get_h);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1460:21
[INFO] [stdout]      |
[INFO] [stdout] 1460 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4025 | test_or_a_r8!(0xB4, test_0xb4_or_a_h, set_h, get_h);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1474:21
[INFO] [stdout]      |
[INFO] [stdout] 1474 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4025 | test_or_a_r8!(0xB4, test_0xb4_or_a_h, set_h, get_h);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1488:21
[INFO] [stdout]      |
[INFO] [stdout] 1488 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4025 | test_or_a_r8!(0xB4, test_0xb4_or_a_h, set_h, get_h);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1440:21
[INFO] [stdout]      |
[INFO] [stdout] 1440 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4026 | test_or_a_r8!(0xB5, test_0xb5_or_a_l, set_l, get_l);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1446:21
[INFO] [stdout]      |
[INFO] [stdout] 1446 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4026 | test_or_a_r8!(0xB5, test_0xb5_or_a_l, set_l, get_l);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1460:21
[INFO] [stdout]      |
[INFO] [stdout] 1460 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4026 | test_or_a_r8!(0xB5, test_0xb5_or_a_l, set_l, get_l);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1474:21
[INFO] [stdout]      |
[INFO] [stdout] 1474 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4026 | test_or_a_r8!(0xB5, test_0xb5_or_a_l, set_l, get_l);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1488:21
[INFO] [stdout]      |
[INFO] [stdout] 1488 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4026 | test_or_a_r8!(0xB5, test_0xb5_or_a_l, set_l, get_l);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1503:21
[INFO] [stdout]      |
[INFO] [stdout] 1503 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4027 | test_or_a_r8!(0xB6, test_0xb6_or_a__hl_, hl);
[INFO] [stdout]      | -------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1572:21
[INFO] [stdout]      |
[INFO] [stdout] 1572 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4028 | test_or_a_r8!(0xB7, test_0xb7_or_a_a, a);
[INFO] [stdout]      | ---------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1577:21
[INFO] [stdout]      |
[INFO] [stdout] 1577 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4028 | test_or_a_r8!(0xB7, test_0xb7_or_a_a, a);
[INFO] [stdout]      | ---------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1588:21
[INFO] [stdout]      |
[INFO] [stdout] 1588 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4028 | test_or_a_r8!(0xB7, test_0xb7_or_a_a, a);
[INFO] [stdout]      | ---------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `expected_value` is assigned to, but never used
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1663:25
[INFO] [stdout]      |
[INFO] [stdout] 1663 |                 let mut expected_value: u8 = test_value_1.wrapping_sub(test_value_2);
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4031 | test_cp_a_r8!(0xB8, test_0xb8_cp_a_b, set_b, get_b);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_expected_value` instead
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1679:17
[INFO] [stdout]      |
[INFO] [stdout] 1679 |                 expected_value = 0x00;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4031 | test_cp_a_r8!(0xB8, test_0xb8_cp_a_b, set_b, get_b);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1693:17
[INFO] [stdout]      |
[INFO] [stdout] 1693 |                 expected_value = 0x0F;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4031 | test_cp_a_r8!(0xB8, test_0xb8_cp_a_b, set_b, get_b);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1707:17
[INFO] [stdout]      |
[INFO] [stdout] 1707 |                 expected_value = test_value_1.wrapping_sub(test_value_2);
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4031 | test_cp_a_r8!(0xB8, test_0xb8_cp_a_b, set_b, get_b);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1721:17
[INFO] [stdout]      |
[INFO] [stdout] 1721 |                 expected_value = 0xFF;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4031 | test_cp_a_r8!(0xB8, test_0xb8_cp_a_b, set_b, get_b);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1664:21
[INFO] [stdout]      |
[INFO] [stdout] 1664 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4031 | test_cp_a_r8!(0xB8, test_0xb8_cp_a_b, set_b, get_b);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `expected_value` is assigned to, but never used
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1663:25
[INFO] [stdout]      |
[INFO] [stdout] 1663 |                 let mut expected_value: u8 = test_value_1.wrapping_sub(test_value_2);
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4032 | test_cp_a_r8!(0xB9, test_0xb9_cp_a_c, set_c, get_c);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_expected_value` instead
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1679:17
[INFO] [stdout]      |
[INFO] [stdout] 1679 |                 expected_value = 0x00;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4032 | test_cp_a_r8!(0xB9, test_0xb9_cp_a_c, set_c, get_c);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1693:17
[INFO] [stdout]      |
[INFO] [stdout] 1693 |                 expected_value = 0x0F;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4032 | test_cp_a_r8!(0xB9, test_0xb9_cp_a_c, set_c, get_c);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1707:17
[INFO] [stdout]      |
[INFO] [stdout] 1707 |                 expected_value = test_value_1.wrapping_sub(test_value_2);
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4032 | test_cp_a_r8!(0xB9, test_0xb9_cp_a_c, set_c, get_c);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1721:17
[INFO] [stdout]      |
[INFO] [stdout] 1721 |                 expected_value = 0xFF;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4032 | test_cp_a_r8!(0xB9, test_0xb9_cp_a_c, set_c, get_c);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1664:21
[INFO] [stdout]      |
[INFO] [stdout] 1664 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4032 | test_cp_a_r8!(0xB9, test_0xb9_cp_a_c, set_c, get_c);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `expected_value` is assigned to, but never used
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1663:25
[INFO] [stdout]      |
[INFO] [stdout] 1663 |                 let mut expected_value: u8 = test_value_1.wrapping_sub(test_value_2);
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4033 | test_cp_a_r8!(0xBA, test_0xba_cp_a_d, set_d, get_d);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_expected_value` instead
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1679:17
[INFO] [stdout]      |
[INFO] [stdout] 1679 |                 expected_value = 0x00;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4033 | test_cp_a_r8!(0xBA, test_0xba_cp_a_d, set_d, get_d);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1693:17
[INFO] [stdout]      |
[INFO] [stdout] 1693 |                 expected_value = 0x0F;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4033 | test_cp_a_r8!(0xBA, test_0xba_cp_a_d, set_d, get_d);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1707:17
[INFO] [stdout]      |
[INFO] [stdout] 1707 |                 expected_value = test_value_1.wrapping_sub(test_value_2);
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4033 | test_cp_a_r8!(0xBA, test_0xba_cp_a_d, set_d, get_d);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1721:17
[INFO] [stdout]      |
[INFO] [stdout] 1721 |                 expected_value = 0xFF;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4033 | test_cp_a_r8!(0xBA, test_0xba_cp_a_d, set_d, get_d);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1664:21
[INFO] [stdout]      |
[INFO] [stdout] 1664 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4033 | test_cp_a_r8!(0xBA, test_0xba_cp_a_d, set_d, get_d);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `expected_value` is assigned to, but never used
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1663:25
[INFO] [stdout]      |
[INFO] [stdout] 1663 |                 let mut expected_value: u8 = test_value_1.wrapping_sub(test_value_2);
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4034 | test_cp_a_r8!(0xBB, test_0xbb_cp_a_e, set_e, get_e);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_expected_value` instead
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1679:17
[INFO] [stdout]      |
[INFO] [stdout] 1679 |                 expected_value = 0x00;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4034 | test_cp_a_r8!(0xBB, test_0xbb_cp_a_e, set_e, get_e);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1693:17
[INFO] [stdout]      |
[INFO] [stdout] 1693 |                 expected_value = 0x0F;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4034 | test_cp_a_r8!(0xBB, test_0xbb_cp_a_e, set_e, get_e);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1707:17
[INFO] [stdout]      |
[INFO] [stdout] 1707 |                 expected_value = test_value_1.wrapping_sub(test_value_2);
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4034 | test_cp_a_r8!(0xBB, test_0xbb_cp_a_e, set_e, get_e);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1721:17
[INFO] [stdout]      |
[INFO] [stdout] 1721 |                 expected_value = 0xFF;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4034 | test_cp_a_r8!(0xBB, test_0xbb_cp_a_e, set_e, get_e);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1664:21
[INFO] [stdout]      |
[INFO] [stdout] 1664 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4034 | test_cp_a_r8!(0xBB, test_0xbb_cp_a_e, set_e, get_e);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `expected_value` is assigned to, but never used
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1663:25
[INFO] [stdout]      |
[INFO] [stdout] 1663 |                 let mut expected_value: u8 = test_value_1.wrapping_sub(test_value_2);
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4035 | test_cp_a_r8!(0xBC, test_0xbc_cp_a_h, set_h, get_h);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_expected_value` instead
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1679:17
[INFO] [stdout]      |
[INFO] [stdout] 1679 |                 expected_value = 0x00;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4035 | test_cp_a_r8!(0xBC, test_0xbc_cp_a_h, set_h, get_h);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1693:17
[INFO] [stdout]      |
[INFO] [stdout] 1693 |                 expected_value = 0x0F;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4035 | test_cp_a_r8!(0xBC, test_0xbc_cp_a_h, set_h, get_h);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1707:17
[INFO] [stdout]      |
[INFO] [stdout] 1707 |                 expected_value = test_value_1.wrapping_sub(test_value_2);
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4035 | test_cp_a_r8!(0xBC, test_0xbc_cp_a_h, set_h, get_h);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1721:17
[INFO] [stdout]      |
[INFO] [stdout] 1721 |                 expected_value = 0xFF;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4035 | test_cp_a_r8!(0xBC, test_0xbc_cp_a_h, set_h, get_h);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1664:21
[INFO] [stdout]      |
[INFO] [stdout] 1664 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4035 | test_cp_a_r8!(0xBC, test_0xbc_cp_a_h, set_h, get_h);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `expected_value` is assigned to, but never used
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1663:25
[INFO] [stdout]      |
[INFO] [stdout] 1663 |                 let mut expected_value: u8 = test_value_1.wrapping_sub(test_value_2);
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4036 | test_cp_a_r8!(0xBD, test_0xbd_cp_a_l, set_l, get_l);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_expected_value` instead
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1679:17
[INFO] [stdout]      |
[INFO] [stdout] 1679 |                 expected_value = 0x00;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4036 | test_cp_a_r8!(0xBD, test_0xbd_cp_a_l, set_l, get_l);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1693:17
[INFO] [stdout]      |
[INFO] [stdout] 1693 |                 expected_value = 0x0F;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4036 | test_cp_a_r8!(0xBD, test_0xbd_cp_a_l, set_l, get_l);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1707:17
[INFO] [stdout]      |
[INFO] [stdout] 1707 |                 expected_value = test_value_1.wrapping_sub(test_value_2);
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4036 | test_cp_a_r8!(0xBD, test_0xbd_cp_a_l, set_l, get_l);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1721:17
[INFO] [stdout]      |
[INFO] [stdout] 1721 |                 expected_value = 0xFF;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4036 | test_cp_a_r8!(0xBD, test_0xbd_cp_a_l, set_l, get_l);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1664:21
[INFO] [stdout]      |
[INFO] [stdout] 1664 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4036 | test_cp_a_r8!(0xBD, test_0xbd_cp_a_l, set_l, get_l);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `expected_value` is assigned to, but never used
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1740:25
[INFO] [stdout]      |
[INFO] [stdout] 1740 |                 let mut expected_value: u8 = test_value_1.wrapping_sub(test_value_2);
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4037 | test_cp_a_r8!(0xBE, test_0xbe_cp_a__hl_, hl);
[INFO] [stdout]      | -------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_expected_value` instead
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1758:17
[INFO] [stdout]      |
[INFO] [stdout] 1758 |                 expected_value = 0x00;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4037 | test_cp_a_r8!(0xBE, test_0xbe_cp_a__hl_, hl);
[INFO] [stdout]      | -------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1774:17
[INFO] [stdout]      |
[INFO] [stdout] 1774 |                 expected_value = 0x0F;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4037 | test_cp_a_r8!(0xBE, test_0xbe_cp_a__hl_, hl);
[INFO] [stdout]      | -------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1790:17
[INFO] [stdout]      |
[INFO] [stdout] 1790 |                 expected_value = test_value_1.wrapping_sub(test_value_2);
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4037 | test_cp_a_r8!(0xBE, test_0xbe_cp_a__hl_, hl);
[INFO] [stdout]      | -------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1806:17
[INFO] [stdout]      |
[INFO] [stdout] 1806 |                 expected_value = 0xFF;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4037 | test_cp_a_r8!(0xBE, test_0xbe_cp_a__hl_, hl);
[INFO] [stdout]      | -------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1741:21
[INFO] [stdout]      |
[INFO] [stdout] 1741 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4037 | test_cp_a_r8!(0xBE, test_0xbe_cp_a__hl_, hl);
[INFO] [stdout]      | -------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1825:21
[INFO] [stdout]      |
[INFO] [stdout] 1825 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4038 | test_cp_a_r8!(0xBF, test_0xbf_cp_a_a, a);
[INFO] [stdout]      | ---------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1830:21
[INFO] [stdout]      |
[INFO] [stdout] 1830 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4038 | test_cp_a_r8!(0xBF, test_0xbf_cp_a_a, a);
[INFO] [stdout]      | ---------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1840:21
[INFO] [stdout]      |
[INFO] [stdout] 1840 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4038 | test_cp_a_r8!(0xBF, test_0xbf_cp_a_a, a);
[INFO] [stdout]      | ---------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2001:21
[INFO] [stdout]      |
[INFO] [stdout] 2001 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4041 | test_ret!(0xC0, test_0xc0_ret_nz, true, set_zero_flag, get_zero_flag);
[INFO] [stdout]      | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ret` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2009:21
[INFO] [stdout]      |
[INFO] [stdout] 2009 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4041 | test_ret!(0xC0, test_0xc0_ret_nz, true, set_zero_flag, get_zero_flag);
[INFO] [stdout]      | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ret` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2020:21
[INFO] [stdout]      |
[INFO] [stdout] 2020 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4041 | test_ret!(0xC0, test_0xc0_ret_nz, true, set_zero_flag, get_zero_flag);
[INFO] [stdout]      | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ret` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2152:21
[INFO] [stdout]      |
[INFO] [stdout] 2152 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4042 | test_pop!(0xC1, test_0xc1_pop_bc, set_bc, get_bc);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_pop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2160:21
[INFO] [stdout]      |
[INFO] [stdout] 2160 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4042 | test_pop!(0xC1, test_0xc1_pop_bc, set_bc, get_bc);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_pop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `registers_copy`
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2120:21
[INFO] [stdout]      |
[INFO] [stdout] 2120 |                 let registers_copy = cpu.registers;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_registers_copy`
[INFO] [stdout] ...
[INFO] [stdout] 4043 | test_jump!(0xC2, test_0xc2_jp_nz_imm16, true, set_zero_flag, get_zero_flag);
[INFO] [stdout]      | --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_jump` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2108:21
[INFO] [stdout]      |
[INFO] [stdout] 2108 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4043 | test_jump!(0xC2, test_0xc2_jp_nz_imm16, true, set_zero_flag, get_zero_flag);
[INFO] [stdout]      | --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_jump` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `registers_copy`
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2096:21
[INFO] [stdout]      |
[INFO] [stdout] 2096 |                 let registers_copy = cpu.registers;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_registers_copy`
[INFO] [stdout] ...
[INFO] [stdout] 4044 | test_jump!(0xC3, test_0xc3_jp_imm8);
[INFO] [stdout]      | ----------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_jump` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2092:21
[INFO] [stdout]      |
[INFO] [stdout] 2092 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4044 | test_jump!(0xC3, test_0xc3_jp_imm8);
[INFO] [stdout]      | ----------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_jump` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2097:21
[INFO] [stdout]      |
[INFO] [stdout] 2097 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4044 | test_jump!(0xC3, test_0xc3_jp_imm8);
[INFO] [stdout]      | ----------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_jump` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2057:21
[INFO] [stdout]      |
[INFO] [stdout] 2057 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4045 | test_call!(0xC4, test_0xc4_call_nz_imm16, true, set_zero_flag, get_zero_flag);
[INFO] [stdout]      | ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_call` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2179:21
[INFO] [stdout]      |
[INFO] [stdout] 2179 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4046 | test_push!(0xC5, test_0xc5_push_bc, set_bc, get_bc);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_push` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2185:21
[INFO] [stdout]      |
[INFO] [stdout] 2185 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4046 | test_push!(0xC5, test_0xc5_push_bc, set_bc, get_bc);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_push` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:944:21
[INFO] [stdout]      |
[INFO] [stdout]  944 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4049 | test_add_r8_imm8!(0xC6, test_0xc6_add_a_imm8, set_a, get_a);
[INFO] [stdout]      | ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_add_r8_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2204:21
[INFO] [stdout]      |
[INFO] [stdout] 2204 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4050 | test_rst!(0xC7, test_0xc7_rst_00);
[INFO] [stdout]      | --------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_rst` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2206:21
[INFO] [stdout]      |
[INFO] [stdout] 2206 |                 let mut program_1: Vec<u8> = vec![$opcode];
[INFO] [stdout]      |                     ----^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4050 | test_rst!(0xC7, test_0xc7_rst_00);
[INFO] [stdout]      | --------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_rst` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2210:21
[INFO] [stdout]      |
[INFO] [stdout] 2210 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4050 | test_rst!(0xC7, test_0xc7_rst_00);
[INFO] [stdout]      | --------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_rst` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2001:21
[INFO] [stdout]      |
[INFO] [stdout] 2001 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4051 | test_ret!(0xC8, test_0xc8_ret_n, false, set_zero_flag, get_zero_flag);
[INFO] [stdout]      | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ret` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2009:21
[INFO] [stdout]      |
[INFO] [stdout] 2009 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4051 | test_ret!(0xC8, test_0xc8_ret_n, false, set_zero_flag, get_zero_flag);
[INFO] [stdout]      | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ret` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2020:21
[INFO] [stdout]      |
[INFO] [stdout] 2020 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4051 | test_ret!(0xC8, test_0xc8_ret_n, false, set_zero_flag, get_zero_flag);
[INFO] [stdout]      | --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ret` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1984:21
[INFO] [stdout]      |
[INFO] [stdout] 1984 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4052 | test_ret!(0xC9, test_0xc9_ret);
[INFO] [stdout]      | ------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ret` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1991:21
[INFO] [stdout]      |
[INFO] [stdout] 1991 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4052 | test_ret!(0xC9, test_0xc9_ret);
[INFO] [stdout]      | ------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ret` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `registers_copy`
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2120:21
[INFO] [stdout]      |
[INFO] [stdout] 2120 |                 let registers_copy = cpu.registers;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_registers_copy`
[INFO] [stdout] ...
[INFO] [stdout] 4053 | test_jump!(0xCA, test_0xca_jp_z_imm16, false, set_zero_flag, get_zero_flag);
[INFO] [stdout]      | --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_jump` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2108:21
[INFO] [stdout]      |
[INFO] [stdout] 2108 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4053 | test_jump!(0xCA, test_0xca_jp_z_imm16, false, set_zero_flag, get_zero_flag);
[INFO] [stdout]      | --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_jump` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2057:21
[INFO] [stdout]      |
[INFO] [stdout] 2057 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4054 | test_call!(0xCC, test_0xcc_call_z_imm16, false, set_zero_flag, get_zero_flag);
[INFO] [stdout]      | ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_call` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2035:21
[INFO] [stdout]      |
[INFO] [stdout] 2035 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4055 | test_call!(0xCD, test_0xcd_call_imm16);
[INFO] [stdout]      | -------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_call` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2043:21
[INFO] [stdout]      |
[INFO] [stdout] 2043 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4055 | test_call!(0xCD, test_0xcd_call_imm16);
[INFO] [stdout]      | -------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_call` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1004:21
[INFO] [stdout]      |
[INFO] [stdout] 1004 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4056 | test_adc_r8_imm8!(0xCE, test_0xce_adc_a_imm8__c_off, set_a, get_a, false);
[INFO] [stdout]      | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_adc_r8_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1004:21
[INFO] [stdout]      |
[INFO] [stdout] 1004 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4057 | test_adc_r8_imm8!(0xCE, test_0xce_adc_a_imm8__c_on, set_a, get_a, true);
[INFO] [stdout]      | ----------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_adc_r8_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2204:21
[INFO] [stdout]      |
[INFO] [stdout] 2204 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4058 | test_rst!(0xCF, test_0xcf_rst_08);
[INFO] [stdout]      | --------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_rst` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2206:21
[INFO] [stdout]      |
[INFO] [stdout] 2206 |                 let mut program_1: Vec<u8> = vec![$opcode];
[INFO] [stdout]      |                     ----^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4058 | test_rst!(0xCF, test_0xcf_rst_08);
[INFO] [stdout]      | --------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_rst` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2210:21
[INFO] [stdout]      |
[INFO] [stdout] 2210 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4058 | test_rst!(0xCF, test_0xcf_rst_08);
[INFO] [stdout]      | --------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_rst` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2001:21
[INFO] [stdout]      |
[INFO] [stdout] 2001 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4061 | test_ret!(0xD0, test_0xd0_ret_nc, true, set_carry_flag, get_carry_flag);
[INFO] [stdout]      | ----------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ret` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2009:21
[INFO] [stdout]      |
[INFO] [stdout] 2009 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4061 | test_ret!(0xD0, test_0xd0_ret_nc, true, set_carry_flag, get_carry_flag);
[INFO] [stdout]      | ----------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ret` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2020:21
[INFO] [stdout]      |
[INFO] [stdout] 2020 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4061 | test_ret!(0xD0, test_0xd0_ret_nc, true, set_carry_flag, get_carry_flag);
[INFO] [stdout]      | ----------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ret` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2152:21
[INFO] [stdout]      |
[INFO] [stdout] 2152 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4062 | test_pop!(0xD1, test_0xd1_pop_de, set_de, get_de);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_pop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2160:21
[INFO] [stdout]      |
[INFO] [stdout] 2160 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4062 | test_pop!(0xD1, test_0xd1_pop_de, set_de, get_de);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_pop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `registers_copy`
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2120:21
[INFO] [stdout]      |
[INFO] [stdout] 2120 |                 let registers_copy = cpu.registers;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_registers_copy`
[INFO] [stdout] ...
[INFO] [stdout] 4063 | test_jump!(0xD2, test_0xd2_jp_nc_imm16, true, set_carry_flag, get_carry_flag);
[INFO] [stdout]      | ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_jump` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2108:21
[INFO] [stdout]      |
[INFO] [stdout] 2108 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4063 | test_jump!(0xD2, test_0xd2_jp_nc_imm16, true, set_carry_flag, get_carry_flag);
[INFO] [stdout]      | ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_jump` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2057:21
[INFO] [stdout]      |
[INFO] [stdout] 2057 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4064 | test_call!(0xD4, test_0xd4_call_nc_imm16, true, set_carry_flag, get_carry_flag);
[INFO] [stdout]      | ------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_call` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2179:21
[INFO] [stdout]      |
[INFO] [stdout] 2179 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4065 | test_push!(0xD5, test_0xd5_push_de, set_de, get_de);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_push` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2185:21
[INFO] [stdout]      |
[INFO] [stdout] 2185 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4065 | test_push!(0xD5, test_0xd5_push_de, set_de, get_de);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_push` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4071:9
[INFO] [stdout]      |
[INFO] [stdout] 4071 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2204:21
[INFO] [stdout]      |
[INFO] [stdout] 2204 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4136 | test_rst!(0xD7, test_0xd7_rst_10);
[INFO] [stdout]      | --------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_rst` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2206:21
[INFO] [stdout]      |
[INFO] [stdout] 2206 |                 let mut program_1: Vec<u8> = vec![$opcode];
[INFO] [stdout]      |                     ----^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4136 | test_rst!(0xD7, test_0xd7_rst_10);
[INFO] [stdout]      | --------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_rst` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2210:21
[INFO] [stdout]      |
[INFO] [stdout] 2210 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4136 | test_rst!(0xD7, test_0xd7_rst_10);
[INFO] [stdout]      | --------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_rst` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2001:21
[INFO] [stdout]      |
[INFO] [stdout] 2001 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4137 | test_ret!(0xD8, test_0xd8_ret_c, false, set_carry_flag, get_carry_flag);
[INFO] [stdout]      | ----------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ret` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2009:21
[INFO] [stdout]      |
[INFO] [stdout] 2009 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4137 | test_ret!(0xD8, test_0xd8_ret_c, false, set_carry_flag, get_carry_flag);
[INFO] [stdout]      | ----------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ret` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2020:21
[INFO] [stdout]      |
[INFO] [stdout] 2020 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4137 | test_ret!(0xD8, test_0xd8_ret_c, false, set_carry_flag, get_carry_flag);
[INFO] [stdout]      | ----------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ret` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `registers_copy`
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2120:21
[INFO] [stdout]      |
[INFO] [stdout] 2120 |                 let registers_copy = cpu.registers;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_registers_copy`
[INFO] [stdout] ...
[INFO] [stdout] 4139 | test_jump!(0xDA, test_0xda_jp_c_imm16, false, set_carry_flag, get_carry_flag);
[INFO] [stdout]      | ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_jump` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2108:21
[INFO] [stdout]      |
[INFO] [stdout] 2108 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4139 | test_jump!(0xDA, test_0xda_jp_c_imm16, false, set_carry_flag, get_carry_flag);
[INFO] [stdout]      | ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_jump` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2057:21
[INFO] [stdout]      |
[INFO] [stdout] 2057 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4140 | test_call!(0xDC, test_0xdc_call_c_imm16, false, set_carry_flag, get_carry_flag);
[INFO] [stdout]      | ------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_call` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1068:21
[INFO] [stdout]      |
[INFO] [stdout] 1068 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4141 | test_sbc_r8_imm8!(0xDE, test_0xde_sbc_a_imm8__c_off, set_a, get_a, false);
[INFO] [stdout]      | ------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_sbc_r8_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1068:21
[INFO] [stdout]      |
[INFO] [stdout] 1068 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4142 | test_sbc_r8_imm8!(0xDE, test_0xde_sbc_a_imm8__c_on, set_a, get_a, true);
[INFO] [stdout]      | ----------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_sbc_r8_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2204:21
[INFO] [stdout]      |
[INFO] [stdout] 2204 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4143 | test_rst!(0xDF, test_0xcf_rst_18);
[INFO] [stdout]      | --------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_rst` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2206:21
[INFO] [stdout]      |
[INFO] [stdout] 2206 |                 let mut program_1: Vec<u8> = vec![$opcode];
[INFO] [stdout]      |                     ----^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4143 | test_rst!(0xDF, test_0xcf_rst_18);
[INFO] [stdout]      | --------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_rst` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2210:21
[INFO] [stdout]      |
[INFO] [stdout] 2210 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4143 | test_rst!(0xDF, test_0xcf_rst_18);
[INFO] [stdout]      | --------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_rst` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:335:21
[INFO] [stdout]      |
[INFO] [stdout]  335 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4146 | test_ldh_r8_imm8!(0xE0, test_0xe0_ldh__imm8__a, set_a, get_a, false);
[INFO] [stdout]      | -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ldh_r8_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2152:21
[INFO] [stdout]      |
[INFO] [stdout] 2152 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4147 | test_pop!(0xE1, test_0xe1_pop_hl, set_hl, get_hl);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_pop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2160:21
[INFO] [stdout]      |
[INFO] [stdout] 2160 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4147 | test_pop!(0xE1, test_0xe1_pop_hl, set_hl, get_hl);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_pop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:366:21
[INFO] [stdout]      |
[INFO] [stdout]  366 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4148 | test_ldh_r8_r8!(0xE2, test_0xe2_ldh__c__a, set_a, get_a, set_c, get_c, false);
[INFO] [stdout]      | ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ldh_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2179:21
[INFO] [stdout]      |
[INFO] [stdout] 2179 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4149 | test_push!(0xE5, test_0xe5_push_hl, set_hl, get_hl);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_push` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2185:21
[INFO] [stdout]      |
[INFO] [stdout] 2185 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4149 | test_push!(0xE5, test_0xe5_push_hl, set_hl, get_hl);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_push` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1236:21
[INFO] [stdout]      |
[INFO] [stdout] 1236 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4150 | test_and_a_imm8!(0xE6, test_0xe6_and_a_imm8);
[INFO] [stdout]      | -------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_and_a_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1241:21
[INFO] [stdout]      |
[INFO] [stdout] 1241 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4150 | test_and_a_imm8!(0xE6, test_0xe6_and_a_imm8);
[INFO] [stdout]      | -------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_and_a_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1254:21
[INFO] [stdout]      |
[INFO] [stdout] 1254 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4150 | test_and_a_imm8!(0xE6, test_0xe6_and_a_imm8);
[INFO] [stdout]      | -------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_and_a_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2204:21
[INFO] [stdout]      |
[INFO] [stdout] 2204 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4151 | test_rst!(0xE7, test_0xe7_rst_20);
[INFO] [stdout]      | --------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_rst` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2206:21
[INFO] [stdout]      |
[INFO] [stdout] 2206 |                 let mut program_1: Vec<u8> = vec![$opcode];
[INFO] [stdout]      |                     ----^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4151 | test_rst!(0xE7, test_0xe7_rst_20);
[INFO] [stdout]      | --------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_rst` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2210:21
[INFO] [stdout]      |
[INFO] [stdout] 2210 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4151 | test_rst!(0xE7, test_0xe7_rst_20);
[INFO] [stdout]      | --------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_rst` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `test_value_2_abs` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4192:5
[INFO] [stdout]      |
[INFO] [stdout] 4192 |     test_value_2_abs = 0x01;
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4158:9
[INFO] [stdout]      |
[INFO] [stdout] 4158 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4163:9
[INFO] [stdout]      |
[INFO] [stdout] 4163 |     let mut cycles = cpu.execute_next();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4176:9
[INFO] [stdout]      |
[INFO] [stdout] 4176 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4181:9
[INFO] [stdout]      |
[INFO] [stdout] 4181 |     let mut cycles = cpu.execute_next();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4194:9
[INFO] [stdout]      |
[INFO] [stdout] 4194 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4199:9
[INFO] [stdout]      |
[INFO] [stdout] 4199 |     let mut cycles = cpu.execute_next();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4212:9
[INFO] [stdout]      |
[INFO] [stdout] 4212 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4217:9
[INFO] [stdout]      |
[INFO] [stdout] 4217 |     let mut cycles = cpu.execute_next();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4230:9
[INFO] [stdout]      |
[INFO] [stdout] 4230 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4235:9
[INFO] [stdout]      |
[INFO] [stdout] 4235 |     let mut cycles = cpu.execute_next();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4248:9
[INFO] [stdout]      |
[INFO] [stdout] 4248 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4253:9
[INFO] [stdout]      |
[INFO] [stdout] 4253 |     let mut cycles = cpu.execute_next();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `registers_copy`
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2135:21
[INFO] [stdout]      |
[INFO] [stdout] 2135 |                 let registers_copy = cpu.registers;
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_registers_copy`
[INFO] [stdout] ...
[INFO] [stdout] 4262 | test_jump!(0xE9, test_0xe9_jp_hl, set_hl, get_hl);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_jump` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2131:21
[INFO] [stdout]      |
[INFO] [stdout] 2131 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4262 | test_jump!(0xE9, test_0xe9_jp_hl, set_hl, get_hl);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_jump` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2137:21
[INFO] [stdout]      |
[INFO] [stdout] 2137 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4262 | test_jump!(0xE9, test_0xe9_jp_hl, set_hl, get_hl);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_jump` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:242:21
[INFO] [stdout]      |
[INFO] [stdout]  242 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4263 | test_ld_imm16_r8!(0xEA, test_0xea_ld__imm16__a, set_a, get_a);
[INFO] [stdout]      | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_imm16_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1393:21
[INFO] [stdout]      |
[INFO] [stdout] 1393 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4264 | test_xor_a_imm8!(0xEE, test_0xee_xor_a_imm8);
[INFO] [stdout]      | -------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1398:21
[INFO] [stdout]      |
[INFO] [stdout] 1398 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4264 | test_xor_a_imm8!(0xEE, test_0xee_xor_a_imm8);
[INFO] [stdout]      | -------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1411:21
[INFO] [stdout]      |
[INFO] [stdout] 1411 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4264 | test_xor_a_imm8!(0xEE, test_0xee_xor_a_imm8);
[INFO] [stdout]      | -------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1424:21
[INFO] [stdout]      |
[INFO] [stdout] 1424 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4264 | test_xor_a_imm8!(0xEE, test_0xee_xor_a_imm8);
[INFO] [stdout]      | -------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_xor_a_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2204:21
[INFO] [stdout]      |
[INFO] [stdout] 2204 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4265 | test_rst!(0xEF, test_0xef_rst_28);
[INFO] [stdout]      | --------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_rst` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2206:21
[INFO] [stdout]      |
[INFO] [stdout] 2206 |                 let mut program_1: Vec<u8> = vec![$opcode];
[INFO] [stdout]      |                     ----^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4265 | test_rst!(0xEF, test_0xef_rst_28);
[INFO] [stdout]      | --------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_rst` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2210:21
[INFO] [stdout]      |
[INFO] [stdout] 2210 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4265 | test_rst!(0xEF, test_0xef_rst_28);
[INFO] [stdout]      | --------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_rst` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:335:21
[INFO] [stdout]      |
[INFO] [stdout]  335 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4268 | test_ldh_r8_imm8!(0xF0, test_0xf0_ldh_a__imm8_, set_a, get_a, true);
[INFO] [stdout]      | ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ldh_r8_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2152:21
[INFO] [stdout]      |
[INFO] [stdout] 2152 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4269 | test_pop!(0xF1, test_0xf1_pop_af, set_af, get_af);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_pop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2160:21
[INFO] [stdout]      |
[INFO] [stdout] 2160 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4269 | test_pop!(0xF1, test_0xf1_pop_af, set_af, get_af);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_pop` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:366:21
[INFO] [stdout]      |
[INFO] [stdout]  366 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4270 | test_ldh_r8_r8!(0xF2, test_0xf2_ldh_a__c_, set_a, get_a, set_c, get_c, true);
[INFO] [stdout]      | ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ldh_r8_r8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4273:9
[INFO] [stdout]      |
[INFO] [stdout] 4273 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4275:9
[INFO] [stdout]      |
[INFO] [stdout] 4275 |     let mut program_1: Vec<u8> = vec![0xF3];
[INFO] [stdout]      |         ----^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4278:9
[INFO] [stdout]      |
[INFO] [stdout] 4278 |     let mut cycles = cpu.execute_next();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2179:21
[INFO] [stdout]      |
[INFO] [stdout] 2179 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4282 | test_push!(0xF5, test_0xf5_push_af, set_af, get_af);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_push` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2185:21
[INFO] [stdout]      |
[INFO] [stdout] 2185 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4282 | test_push!(0xF5, test_0xf5_push_af, set_af, get_af);
[INFO] [stdout]      | --------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_push` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1604:21
[INFO] [stdout]      |
[INFO] [stdout] 1604 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4283 | test_or_a_imm8!(0xF6, test_0xf6_or_a_imm8);
[INFO] [stdout]      | ------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1609:21
[INFO] [stdout]      |
[INFO] [stdout] 1609 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4283 | test_or_a_imm8!(0xF6, test_0xf6_or_a_imm8);
[INFO] [stdout]      | ------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1622:21
[INFO] [stdout]      |
[INFO] [stdout] 1622 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4283 | test_or_a_imm8!(0xF6, test_0xf6_or_a_imm8);
[INFO] [stdout]      | ------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1635:21
[INFO] [stdout]      |
[INFO] [stdout] 1635 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4283 | test_or_a_imm8!(0xF6, test_0xf6_or_a_imm8);
[INFO] [stdout]      | ------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1648:21
[INFO] [stdout]      |
[INFO] [stdout] 1648 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4283 | test_or_a_imm8!(0xF6, test_0xf6_or_a_imm8);
[INFO] [stdout]      | ------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_or_a_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2204:21
[INFO] [stdout]      |
[INFO] [stdout] 2204 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4284 | test_rst!(0xF7, test_0xf7_rst_30);
[INFO] [stdout]      | --------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_rst` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2206:21
[INFO] [stdout]      |
[INFO] [stdout] 2206 |                 let mut program_1: Vec<u8> = vec![$opcode];
[INFO] [stdout]      |                     ----^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4284 | test_rst!(0xF7, test_0xf7_rst_30);
[INFO] [stdout]      | --------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_rst` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2210:21
[INFO] [stdout]      |
[INFO] [stdout] 2210 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4284 | test_rst!(0xF7, test_0xf7_rst_30);
[INFO] [stdout]      | --------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_rst` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `test_value_2_abs` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4325:5
[INFO] [stdout]      |
[INFO] [stdout] 4325 |     test_value_2_abs = 0x01;
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4291:9
[INFO] [stdout]      |
[INFO] [stdout] 4291 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4296:9
[INFO] [stdout]      |
[INFO] [stdout] 4296 |     let mut cycles = cpu.execute_next();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4309:9
[INFO] [stdout]      |
[INFO] [stdout] 4309 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4314:9
[INFO] [stdout]      |
[INFO] [stdout] 4314 |     let mut cycles = cpu.execute_next();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4327:9
[INFO] [stdout]      |
[INFO] [stdout] 4327 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4332:9
[INFO] [stdout]      |
[INFO] [stdout] 4332 |     let mut cycles = cpu.execute_next();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4345:9
[INFO] [stdout]      |
[INFO] [stdout] 4345 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4350:9
[INFO] [stdout]      |
[INFO] [stdout] 4350 |     let mut cycles = cpu.execute_next();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4363:9
[INFO] [stdout]      |
[INFO] [stdout] 4363 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4368:9
[INFO] [stdout]      |
[INFO] [stdout] 4368 |     let mut cycles = cpu.execute_next();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4381:9
[INFO] [stdout]      |
[INFO] [stdout] 4381 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4386:9
[INFO] [stdout]      |
[INFO] [stdout] 4386 |     let mut cycles = cpu.execute_next();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:79:21
[INFO] [stdout]      |
[INFO] [stdout]   79 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4395 | test_ld_r16!(0xF9, test_0xf9_ld_sp_hl, set_sp, get_sp, set_hl, get_hl);
[INFO] [stdout]      | ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r16` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:273:21
[INFO] [stdout]      |
[INFO] [stdout]  273 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4396 | test_ld_r8_imm16!(0xFA, test_0xfa_ld__imm16__a, set_a, get_a);
[INFO] [stdout]      | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_ld_r8_imm16` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4399:9
[INFO] [stdout]      |
[INFO] [stdout] 4399 |     let mut memory_ref = create_memory!();
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4401:9
[INFO] [stdout]      |
[INFO] [stdout] 4401 |     let mut program_1: Vec<u8> = vec![0xFB];
[INFO] [stdout]      |         ----^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:4403:9
[INFO] [stdout]      |
[INFO] [stdout] 4403 |     let mut cycles = cpu.execute_next();
[INFO] [stdout]      |         ----^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `expected_value` is assigned to, but never used
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1855:25
[INFO] [stdout]      |
[INFO] [stdout] 1855 |                 let mut expected_value: u8 = test_value_1.wrapping_sub(test_value_2);
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4407 | test_cp_a_imm8!(0xFE, test_0xfe_cp_a_imm8);
[INFO] [stdout]      | ------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using `_expected_value` instead
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1869:17
[INFO] [stdout]      |
[INFO] [stdout] 1869 |                 expected_value = 0x00;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4407 | test_cp_a_imm8!(0xFE, test_0xfe_cp_a_imm8);
[INFO] [stdout]      | ------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1882:17
[INFO] [stdout]      |
[INFO] [stdout] 1882 |                 expected_value = 0x0F;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4407 | test_cp_a_imm8!(0xFE, test_0xfe_cp_a_imm8);
[INFO] [stdout]      | ------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1895:17
[INFO] [stdout]      |
[INFO] [stdout] 1895 |                 expected_value = test_value_1.wrapping_sub(test_value_2);
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4407 | test_cp_a_imm8!(0xFE, test_0xfe_cp_a_imm8);
[INFO] [stdout]      | ------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_value` is never read
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1908:17
[INFO] [stdout]      |
[INFO] [stdout] 1908 |                 expected_value = 0xFF;
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4407 | test_cp_a_imm8!(0xFE, test_0xfe_cp_a_imm8);
[INFO] [stdout]      | ------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:1856:21
[INFO] [stdout]      |
[INFO] [stdout] 1856 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4407 | test_cp_a_imm8!(0xFE, test_0xfe_cp_a_imm8);
[INFO] [stdout]      | ------------------------------------------ in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_cp_a_imm8` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2204:21
[INFO] [stdout]      |
[INFO] [stdout] 2204 |                 let mut memory_ref = create_memory!();
[INFO] [stdout]      |                     ----^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4408 | test_rst!(0xFF, test_0xef_rst_38);
[INFO] [stdout]      | --------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_rst` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2206:21
[INFO] [stdout]      |
[INFO] [stdout] 2206 |                 let mut program_1: Vec<u8> = vec![$opcode];
[INFO] [stdout]      |                     ----^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4408 | test_rst!(0xFF, test_0xef_rst_38);
[INFO] [stdout]      | --------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_rst` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/GB/instructions/test_default.rs:2210:21
[INFO] [stdout]      |
[INFO] [stdout] 2210 |                 let mut cycles = cpu.execute_next();
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 4408 | test_rst!(0xFF, test_0xef_rst_38);
[INFO] [stdout]      | --------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = note: this warning originates in the macro `test_rst` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:28:17
[INFO] [stdout]     |
[INFO] [stdout]  28 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 555 | test_rlc!(0x00, test_0x00_rlc_b, set_b, get_b);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rlc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:29:17
[INFO] [stdout]     |
[INFO] [stdout]  29 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 555 | test_rlc!(0x00, test_0x00_rlc_b, set_b, get_b);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rlc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:28:17
[INFO] [stdout]     |
[INFO] [stdout]  28 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 556 | test_rlc!(0x01, test_0x01_rlc_c, set_c, get_c);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rlc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:29:17
[INFO] [stdout]     |
[INFO] [stdout]  29 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 556 | test_rlc!(0x01, test_0x01_rlc_c, set_c, get_c);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rlc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:28:17
[INFO] [stdout]     |
[INFO] [stdout]  28 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 557 | test_rlc!(0x02, test_0x02_rlc_d, set_d, get_d);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rlc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:29:17
[INFO] [stdout]     |
[INFO] [stdout]  29 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 557 | test_rlc!(0x02, test_0x02_rlc_d, set_d, get_d);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rlc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:28:17
[INFO] [stdout]     |
[INFO] [stdout]  28 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 558 | test_rlc!(0x03, test_0x03_rlc_e, set_e, get_e);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rlc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:29:17
[INFO] [stdout]     |
[INFO] [stdout]  29 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 558 | test_rlc!(0x03, test_0x03_rlc_e, set_e, get_e);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rlc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:28:17
[INFO] [stdout]     |
[INFO] [stdout]  28 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 559 | test_rlc!(0x04, test_0x04_rlc_h, set_h, get_h);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rlc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:29:17
[INFO] [stdout]     |
[INFO] [stdout]  29 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 559 | test_rlc!(0x04, test_0x04_rlc_h, set_h, get_h);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rlc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:28:17
[INFO] [stdout]     |
[INFO] [stdout]  28 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 560 | test_rlc!(0x05, test_0x05_rlc_l, set_l, get_l);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rlc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:29:17
[INFO] [stdout]     |
[INFO] [stdout]  29 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 560 | test_rlc!(0x05, test_0x05_rlc_l, set_l, get_l);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rlc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:49:17
[INFO] [stdout]     |
[INFO] [stdout]  49 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 561 | test_rlc!(0x06, test_0x06_rlc__hl_, set_hl, get_hl, memory);
[INFO] [stdout]     | ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rlc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:28:17
[INFO] [stdout]     |
[INFO] [stdout]  28 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 562 | test_rlc!(0x07, test_0x07_rlc_a, set_a, get_a);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rlc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:29:17
[INFO] [stdout]     |
[INFO] [stdout]  29 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 562 | test_rlc!(0x07, test_0x07_rlc_a, set_a, get_a);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rlc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:162:17
[INFO] [stdout]     |
[INFO] [stdout] 162 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 564 | test_rrc!(0x08, test_0x08_rrc_b, set_b, get_b);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rrc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:163:17
[INFO] [stdout]     |
[INFO] [stdout] 163 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 564 | test_rrc!(0x08, test_0x08_rrc_b, set_b, get_b);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rrc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:162:17
[INFO] [stdout]     |
[INFO] [stdout] 162 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 565 | test_rrc!(0x09, test_0x09_rrc_c, set_c, get_c);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rrc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:163:17
[INFO] [stdout]     |
[INFO] [stdout] 163 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 565 | test_rrc!(0x09, test_0x09_rrc_c, set_c, get_c);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rrc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:162:17
[INFO] [stdout]     |
[INFO] [stdout] 162 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 566 | test_rrc!(0x0A, test_0x0a_rrc_d, set_d, get_d);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rrc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:163:17
[INFO] [stdout]     |
[INFO] [stdout] 163 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 566 | test_rrc!(0x0A, test_0x0a_rrc_d, set_d, get_d);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rrc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:162:17
[INFO] [stdout]     |
[INFO] [stdout] 162 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 567 | test_rrc!(0x0B, test_0x0b_rrc_e, set_e, get_e);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rrc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:163:17
[INFO] [stdout]     |
[INFO] [stdout] 163 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 567 | test_rrc!(0x0B, test_0x0b_rrc_e, set_e, get_e);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rrc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:162:17
[INFO] [stdout]     |
[INFO] [stdout] 162 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 568 | test_rrc!(0x0C, test_0x0c_rrc_h, set_h, get_h);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rrc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:163:17
[INFO] [stdout]     |
[INFO] [stdout] 163 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 568 | test_rrc!(0x0C, test_0x0c_rrc_h, set_h, get_h);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rrc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:162:17
[INFO] [stdout]     |
[INFO] [stdout] 162 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 569 | test_rrc!(0x0D, test_0x0d_rrc_l, set_l, get_l);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rrc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:163:17
[INFO] [stdout]     |
[INFO] [stdout] 163 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 569 | test_rrc!(0x0D, test_0x0d_rrc_l, set_l, get_l);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rrc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:183:17
[INFO] [stdout]     |
[INFO] [stdout] 183 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 570 | test_rrc!(0x0E, test_0x0e_rrc__hl_, set_hl, get_hl, memory);
[INFO] [stdout]     | ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rrc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:162:17
[INFO] [stdout]     |
[INFO] [stdout] 162 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 571 | test_rrc!(0x0F, test_0x0f_rrc_a, set_a, get_a);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rrc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:163:17
[INFO] [stdout]     |
[INFO] [stdout] 163 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 571 | test_rrc!(0x0F, test_0x0f_rrc_a, set_a, get_a);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rrc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:71:17
[INFO] [stdout]     |
[INFO] [stdout]  71 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 573 | test_rl!(0x10, test_0x10_rl_b, set_b, get_b);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:72:17
[INFO] [stdout]     |
[INFO] [stdout]  72 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 573 | test_rl!(0x10, test_0x10_rl_b, set_b, get_b);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:71:17
[INFO] [stdout]     |
[INFO] [stdout]  71 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 574 | test_rl!(0x11, test_0x11_rl_c, set_c, get_c);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:72:17
[INFO] [stdout]     |
[INFO] [stdout]  72 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 574 | test_rl!(0x11, test_0x11_rl_c, set_c, get_c);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:71:17
[INFO] [stdout]     |
[INFO] [stdout]  71 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 575 | test_rl!(0x12, test_0x12_rl_d, set_d, get_d);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:72:17
[INFO] [stdout]     |
[INFO] [stdout]  72 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 575 | test_rl!(0x12, test_0x12_rl_d, set_d, get_d);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:71:17
[INFO] [stdout]     |
[INFO] [stdout]  71 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 576 | test_rl!(0x13, test_0x13_rl_e, set_e, get_e);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:72:17
[INFO] [stdout]     |
[INFO] [stdout]  72 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 576 | test_rl!(0x13, test_0x13_rl_e, set_e, get_e);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:71:17
[INFO] [stdout]     |
[INFO] [stdout]  71 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 577 | test_rl!(0x14, test_0x14_rl_h, set_h, get_h);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:72:17
[INFO] [stdout]     |
[INFO] [stdout]  72 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 577 | test_rl!(0x14, test_0x14_rl_h, set_h, get_h);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:71:17
[INFO] [stdout]     |
[INFO] [stdout]  71 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 578 | test_rl!(0x15, test_0x15_rl_l, set_l, get_l);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:72:17
[INFO] [stdout]     |
[INFO] [stdout]  72 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 578 | test_rl!(0x15, test_0x15_rl_l, set_l, get_l);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:93:17
[INFO] [stdout]     |
[INFO] [stdout]  93 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 579 | test_rl!(0x16, test_0x16_rl__hl_, set_hl, get_hl, memory);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:71:17
[INFO] [stdout]     |
[INFO] [stdout]  71 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 580 | test_rl!(0x17, test_0x17_rl_a, set_a, get_a);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:72:17
[INFO] [stdout]     |
[INFO] [stdout]  72 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 580 | test_rl!(0x17, test_0x17_rl_a, set_a, get_a);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 582 | test_rr!(0x18, test_0x18_rr_b, set_b, get_b);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:206:17
[INFO] [stdout]     |
[INFO] [stdout] 206 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 582 | test_rr!(0x18, test_0x18_rr_b, set_b, get_b);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 583 | test_rr!(0x19, test_0x19_rr_c, set_c, get_c);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:206:17
[INFO] [stdout]     |
[INFO] [stdout] 206 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 583 | test_rr!(0x19, test_0x19_rr_c, set_c, get_c);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 584 | test_rr!(0x1A, test_0x1a_rr_d, set_d, get_d);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:206:17
[INFO] [stdout]     |
[INFO] [stdout] 206 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 584 | test_rr!(0x1A, test_0x1a_rr_d, set_d, get_d);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 585 | test_rr!(0x1B, test_0x1b_rr_e, set_e, get_e);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:206:17
[INFO] [stdout]     |
[INFO] [stdout] 206 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 585 | test_rr!(0x1B, test_0x1b_rr_e, set_e, get_e);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 586 | test_rr!(0x1C, test_0x1c_rr_h, set_h, get_h);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:206:17
[INFO] [stdout]     |
[INFO] [stdout] 206 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 586 | test_rr!(0x1C, test_0x1c_rr_h, set_h, get_h);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 587 | test_rr!(0x1D, test_0x1d_rr_l, set_l, get_l);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:206:17
[INFO] [stdout]     |
[INFO] [stdout] 206 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 587 | test_rr!(0x1D, test_0x1d_rr_l, set_l, get_l);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:227:17
[INFO] [stdout]     |
[INFO] [stdout] 227 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 588 | test_rr!(0x1E, test_0x1e_rr__hl_, set_hl, get_hl, memory);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 589 | test_rr!(0x1F, test_0x1f_rr_a, set_a, get_a);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:206:17
[INFO] [stdout]     |
[INFO] [stdout] 206 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 589 | test_rr!(0x1F, test_0x1f_rr_a, set_a, get_a);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_rr` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 116 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 591 | test_sla!(0x20, test_0x20_sla_b, set_b, get_b);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_sla` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:117:17
[INFO] [stdout]     |
[INFO] [stdout] 117 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] ...
[INFO] [stdout] 591 | test_sla!(0x20, test_0x20_sla_b, set_b, get_b);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_sla` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_addr`
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 116 |             let test_addr: u16 = WRAM_ADDRESS as u16 + 0xC6;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_addr`
[INFO] [stdout] ...
[INFO] [stdout] 592 | test_sla!(0x21, test_0x21_sla_c, set_c, get_c);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `test_sla` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/GB/instructions/test_subset.rs:117:17
[INFO] [stdout]     |
[INFO] [stdout] 117 |             let mut memory_ref = create_memory!();
[INFO] [stdout]     |                 ----^^^^^^^^^^
[WARN] too many lines in the log, truncating it
