[INFO] cloning repository https://github.com/dimitribobkov/gameboy
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dimitribobkov/gameboy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdimitribobkov%2Fgameboy", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdimitribobkov%2Fgameboy'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 34576647af675768b7705ac1eb697d417e2ccead
[INFO] checking dimitribobkov/gameboy against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdimitribobkov%2Fgameboy" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/dimitribobkov/gameboy
[INFO] finished tweaking git repo https://github.com/dimitribobkov/gameboy
[INFO] tweaked toml for git repo https://github.com/dimitribobkov/gameboy written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/dimitribobkov/gameboy on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/dimitribobkov/gameboy 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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2323c4b9ee5bc939d514ef375f1cde05ecf36546ab4a1826b3408054b1d54764
[INFO] running `Command { std: "docker" "start" "-a" "2323c4b9ee5bc939d514ef375f1cde05ecf36546ab4a1826b3408054b1d54764", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2323c4b9ee5bc939d514ef375f1cde05ecf36546ab4a1826b3408054b1d54764", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2323c4b9ee5bc939d514ef375f1cde05ecf36546ab4a1826b3408054b1d54764", kill_on_drop: false }`
[INFO] [stdout] 2323c4b9ee5bc939d514ef375f1cde05ecf36546ab4a1826b3408054b1d54764
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a940aee763a714f5873156a5f739655c683eb5fc3bfe672660e1c96524c7e636
[INFO] running `Command { std: "docker" "start" "-a" "a940aee763a714f5873156a5f739655c683eb5fc3bfe672660e1c96524c7e636", kill_on_drop: false }`
[INFO] [stderr]    Compiling sdl2-sys v0.34.0
[INFO] [stderr]    Compiling libc v0.2.71
[INFO] [stderr]    Compiling sdl2 v0.34.1
[INFO] [stderr]     Checking gameboy v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/_cpu/memory.rs:359:26
[INFO] [stdout]     |
[INFO] [stdout] 359 |                 self.rom[(self.rom_offs + ((address as usize) & 0x3FFF))]
[INFO] [stdout]     |                          ^                                             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 359 -                 self.rom[(self.rom_offs + ((address as usize) & 0x3FFF))]
[INFO] [stdout] 359 +                 self.rom[self.rom_offs + ((address as usize) & 0x3FFF) ]
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/_cpu/memory.rs:368:35
[INFO] [stdout]     |
[INFO] [stdout] 368 |                         self.eram[(self.ram_offs + ((address as usize) & 0x1FFF))]
[INFO] [stdout]     |                                   ^                                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 368 -                         self.eram[(self.ram_offs + ((address as usize) & 0x1FFF))]
[INFO] [stdout] 368 +                         self.eram[self.ram_offs + ((address as usize) & 0x1FFF) ]
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/_cpu/memory.rs:373:39
[INFO] [stdout]     |
[INFO] [stdout] 373 | ...                   self.eram[(self.ram_offs + ((address as usize) & 0x1FFF))]
[INFO] [stdout]     |                                 ^                                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 373 -                             self.eram[(self.ram_offs + ((address as usize) & 0x1FFF))]
[INFO] [stdout] 373 +                             self.eram[self.ram_offs + ((address as usize) & 0x1FFF) ]
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/_cpu/memory.rs:381:35
[INFO] [stdout]     |
[INFO] [stdout] 381 |                         self.eram[(self.ram_offs + ((address as usize) & 0x1FFF))]
[INFO] [stdout]     |                                   ^                                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 381 -                         self.eram[(self.ram_offs + ((address as usize) & 0x1FFF))]
[INFO] [stdout] 381 +                         self.eram[self.ram_offs + ((address as usize) & 0x1FFF) ]
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/_cpu/memory.rs:609:35
[INFO] [stdout]     |
[INFO] [stdout] 609 |                         self.eram[(self.ram_offs + ((address as usize) & 0x1FFF))] = value;
[INFO] [stdout]     |                                   ^                                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 609 -                         self.eram[(self.ram_offs + ((address as usize) & 0x1FFF))] = value;
[INFO] [stdout] 609 +                         self.eram[self.ram_offs + ((address as usize) & 0x1FFF) ] = value;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/_cpu/memory.rs:614:39
[INFO] [stdout]     |
[INFO] [stdout] 614 | ...                   self.eram[(self.ram_offs + ((address as usize) & 0x1FFF))] = value;
[INFO] [stdout]     |                                 ^                                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 614 -                             self.eram[(self.ram_offs + ((address as usize) & 0x1FFF))] = value;
[INFO] [stdout] 614 +                             self.eram[self.ram_offs + ((address as usize) & 0x1FFF) ] = value;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/_cpu/memory.rs:632:35
[INFO] [stdout]     |
[INFO] [stdout] 632 |                         self.eram[(self.ram_offs + ((address as usize) & 0x1FFF))] = value;
[INFO] [stdout]     |                                   ^                                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 632 -                         self.eram[(self.ram_offs + ((address as usize) & 0x1FFF))] = value;
[INFO] [stdout] 632 +                         self.eram[self.ram_offs + ((address as usize) & 0x1FFF) ] = value;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stdin`
[INFO] [stdout]  --> src/_cpu/read_rom.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{Read, stdin};
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/_cpu/memory.rs:359:26
[INFO] [stdout]     |
[INFO] [stdout] 359 |                 self.rom[(self.rom_offs + ((address as usize) & 0x3FFF))]
[INFO] [stdout]     |                          ^                                             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 359 -                 self.rom[(self.rom_offs + ((address as usize) & 0x3FFF))]
[INFO] [stdout] 359 +                 self.rom[self.rom_offs + ((address as usize) & 0x3FFF) ]
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/_cpu/memory.rs:368:35
[INFO] [stdout]     |
[INFO] [stdout] 368 |                         self.eram[(self.ram_offs + ((address as usize) & 0x1FFF))]
[INFO] [stdout]     |                                   ^                                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 368 -                         self.eram[(self.ram_offs + ((address as usize) & 0x1FFF))]
[INFO] [stdout] 368 +                         self.eram[self.ram_offs + ((address as usize) & 0x1FFF) ]
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/_cpu/memory.rs:373:39
[INFO] [stdout]     |
[INFO] [stdout] 373 | ...                   self.eram[(self.ram_offs + ((address as usize) & 0x1FFF))]
[INFO] [stdout]     |                                 ^                                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 373 -                             self.eram[(self.ram_offs + ((address as usize) & 0x1FFF))]
[INFO] [stdout] 373 +                             self.eram[self.ram_offs + ((address as usize) & 0x1FFF) ]
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/_cpu/memory.rs:381:35
[INFO] [stdout]     |
[INFO] [stdout] 381 |                         self.eram[(self.ram_offs + ((address as usize) & 0x1FFF))]
[INFO] [stdout]     |                                   ^                                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 381 -                         self.eram[(self.ram_offs + ((address as usize) & 0x1FFF))]
[INFO] [stdout] 381 +                         self.eram[self.ram_offs + ((address as usize) & 0x1FFF) ]
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/_cpu/memory.rs:609:35
[INFO] [stdout]     |
[INFO] [stdout] 609 |                         self.eram[(self.ram_offs + ((address as usize) & 0x1FFF))] = value;
[INFO] [stdout]     |                                   ^                                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 609 -                         self.eram[(self.ram_offs + ((address as usize) & 0x1FFF))] = value;
[INFO] [stdout] 609 +                         self.eram[self.ram_offs + ((address as usize) & 0x1FFF) ] = value;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/_cpu/memory.rs:614:39
[INFO] [stdout]     |
[INFO] [stdout] 614 | ...                   self.eram[(self.ram_offs + ((address as usize) & 0x1FFF))] = value;
[INFO] [stdout]     |                                 ^                                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 614 -                             self.eram[(self.ram_offs + ((address as usize) & 0x1FFF))] = value;
[INFO] [stdout] 614 +                             self.eram[self.ram_offs + ((address as usize) & 0x1FFF) ] = value;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/_cpu/memory.rs:632:35
[INFO] [stdout]     |
[INFO] [stdout] 632 |                         self.eram[(self.ram_offs + ((address as usize) & 0x1FFF))] = value;
[INFO] [stdout]     |                                   ^                                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 632 -                         self.eram[(self.ram_offs + ((address as usize) & 0x1FFF))] = value;
[INFO] [stdout] 632 +                         self.eram[self.ram_offs + ((address as usize) & 0x1FFF) ] = value;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stdin`
[INFO] [stdout]  --> src/_cpu/read_rom.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{Read, stdin};
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `trace` is assigned to, but never used
[INFO] [stdout]    --> src/cpu.rs:698:21
[INFO] [stdout]     |
[INFO] [stdout] 698 |                 let mut trace = String::new();
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_trace` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `delay` is never read
[INFO] [stdout]    --> src/cpu.rs:670:29
[INFO] [stdout]     |
[INFO] [stdout] 670 |             let mut delay = 0x0;
[INFO] [stdout]     |                             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `trace` is never read
[INFO] [stdout]    --> src/cpu.rs:703:21
[INFO] [stdout]     |
[INFO] [stdout] 703 | ...   trace = format!("A: {:x?} F: {:x?} B: {:x?} C: {:x?} D: {:x?} E: {:x?} H: {:x?} L: {:x?} SP: {:x?} PC: 00:{:x?} | Opcode: {:x...
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `trace` is never read
[INFO] [stdout]    --> src/cpu.rs:701:21
[INFO] [stdout]     |
[INFO] [stdout] 701 | ...   trace = format!("A: {:x?} F: {:x?} B: {:x?} C: {:x?} D: {:x?} E: {:x?} H: {:x?} L: {:x?} SP: {:x?} PC: 00:{:x?} | Opcode: {:x...
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `trace` is assigned to, but never used
[INFO] [stdout]    --> src/cpu.rs:698:21
[INFO] [stdout]     |
[INFO] [stdout] 698 |                 let mut trace = String::new();
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_trace` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `delay` is never read
[INFO] [stdout]    --> src/cpu.rs:670:29
[INFO] [stdout]     |
[INFO] [stdout] 670 |             let mut delay = 0x0;
[INFO] [stdout]     |                             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `trace` is never read
[INFO] [stdout]    --> src/cpu.rs:703:21
[INFO] [stdout]     |
[INFO] [stdout] 703 | ...   trace = format!("A: {:x?} F: {:x?} B: {:x?} C: {:x?} D: {:x?} E: {:x?} H: {:x?} L: {:x?} SP: {:x?} PC: 00:{:x?} | Opcode: {:x...
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `trace` is never read
[INFO] [stdout]    --> src/cpu.rs:701:21
[INFO] [stdout]     |
[INFO] [stdout] 701 | ...   trace = format!("A: {:x?} F: {:x?} B: {:x?} C: {:x?} D: {:x?} E: {:x?} H: {:x?} L: {:x?} SP: {:x?} PC: 00:{:x?} | Opcode: {:x...
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/cpu.rs:3344:13
[INFO] [stdout]      |
[INFO] [stdout] 3344 |             _ => { panic!("Opcode: CB -> {:#x?}", opcode)}
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/cpu.rs:3344:13
[INFO] [stdout]      |
[INFO] [stdout] 2318 |             0x0 => {
[INFO] [stdout]      |             --- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 2322 |             0x1 => {
[INFO] [stdout]      |             --- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 2326 |             0x2 => {
[INFO] [stdout]      |             --- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 2330 |             0x3 => {
[INFO] [stdout]      |             --- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 3344 |             _ => { panic!("Opcode: CB -> {:#x?}", opcode)}
[INFO] [stdout]      |             ^ ...and 252 other patterns collectively make this unreachable
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]     --> src/cpu.rs:2316:46
[INFO] [stdout]      |
[INFO] [stdout] 2316 |     pub fn execute_cb(&mut self, opcode: u8, v: usize) -> u8{
[INFO] [stdout]      |                                              ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3420:33
[INFO] [stdout]      |
[INFO] [stdout] 3420 |                 let (new_value, did_overflow) = self.registers.sp.overflowing_add(value as u16);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3624:33
[INFO] [stdout]      |
[INFO] [stdout] 3624 |                 let (new_value, did_overflow) = self.registers.a.overflowing_add(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3633:33
[INFO] [stdout]      |
[INFO] [stdout] 3633 |                 let (new_value, did_overflow) = self.registers.b.overflowing_add(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3642:33
[INFO] [stdout]      |
[INFO] [stdout] 3642 |                 let (new_value, did_overflow) = self.registers.c.overflowing_add(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3651:33
[INFO] [stdout]      |
[INFO] [stdout] 3651 |                 let (new_value, did_overflow) = self.registers.d.overflowing_add(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3660:33
[INFO] [stdout]      |
[INFO] [stdout] 3660 |                 let (new_value, did_overflow) = self.registers.e.overflowing_add(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3669:33
[INFO] [stdout]      |
[INFO] [stdout] 3669 |                 let (new_value, did_overflow) = self.registers.h.overflowing_add(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3677:33
[INFO] [stdout]      |
[INFO] [stdout] 3677 |                 let (new_value, did_overflow) = self.registers.l.overflowing_add(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3685:33
[INFO] [stdout]      |
[INFO] [stdout] 3685 |                 let (new_value, did_overflow) = self.registers.sp.overflowing_add(value as u16);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3690:33
[INFO] [stdout]      |
[INFO] [stdout] 3690 |                 let (new_value, did_overflow) = self.registers.get_hl().overflowing_add(value as u16);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3696:33
[INFO] [stdout]      |
[INFO] [stdout] 3696 |                 let (new_value, did_overflow) = self.registers.get_de().overflowing_add(value as u16);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3703:33
[INFO] [stdout]      |
[INFO] [stdout] 3703 |                 let (new_value, did_overflow) = self.registers.get_bc().overflowing_add(value as u16);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3716:33
[INFO] [stdout]      |
[INFO] [stdout] 3716 |                 let (new_value, did_overflow) = self.registers.a.overflowing_sub(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3725:33
[INFO] [stdout]      |
[INFO] [stdout] 3725 |                 let (new_value, did_overflow) = self.registers.b.overflowing_sub(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3734:33
[INFO] [stdout]      |
[INFO] [stdout] 3734 |                 let (new_value, did_overflow) = self.registers.c.overflowing_sub(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3743:33
[INFO] [stdout]      |
[INFO] [stdout] 3743 |                 let (new_value, did_overflow) = self.registers.d.overflowing_sub(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3752:33
[INFO] [stdout]      |
[INFO] [stdout] 3752 |                 let (new_value, did_overflow) = self.registers.e.overflowing_sub(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3761:33
[INFO] [stdout]      |
[INFO] [stdout] 3761 |                 let (new_value, did_overflow) = self.registers.h.overflowing_sub(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3770:33
[INFO] [stdout]      |
[INFO] [stdout] 3770 |                 let (new_value, did_overflow) = self.registers.l.overflowing_sub(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3779:33
[INFO] [stdout]      |
[INFO] [stdout] 3779 |                 let (new_value, did_overflow) = self.registers.sp.overflowing_sub(value as u16);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3786:33
[INFO] [stdout]      |
[INFO] [stdout] 3786 |                 let (new_value, did_overflow) = self.registers.get_hl().overflowing_sub(value as u16);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3793:33
[INFO] [stdout]      |
[INFO] [stdout] 3793 |                 let (new_value, did_overflow) = self.registers.get_de().overflowing_sub(value as u16);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3800:33
[INFO] [stdout]      |
[INFO] [stdout] 3800 |                 let (new_value, did_overflow) = self.registers.get_bc().overflowing_sub(value as u16);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/cpu.rs:3344:13
[INFO] [stdout]      |
[INFO] [stdout] 3344 |             _ => { panic!("Opcode: CB -> {:#x?}", opcode)}
[INFO] [stdout]      |             ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/cpu.rs:3344:13
[INFO] [stdout]      |
[INFO] [stdout] 2318 |             0x0 => {
[INFO] [stdout]      |             --- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 2322 |             0x1 => {
[INFO] [stdout]      |             --- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 2326 |             0x2 => {
[INFO] [stdout]      |             --- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 2330 |             0x3 => {
[INFO] [stdout]      |             --- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 3344 |             _ => { panic!("Opcode: CB -> {:#x?}", opcode)}
[INFO] [stdout]      |             ^ ...and 252 other patterns collectively make this unreachable
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]     --> src/cpu.rs:2316:46
[INFO] [stdout]      |
[INFO] [stdout] 2316 |     pub fn execute_cb(&mut self, opcode: u8, v: usize) -> u8{
[INFO] [stdout]      |                                              ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3420:33
[INFO] [stdout]      |
[INFO] [stdout] 3420 |                 let (new_value, did_overflow) = self.registers.sp.overflowing_add(value as u16);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3624:33
[INFO] [stdout]      |
[INFO] [stdout] 3624 |                 let (new_value, did_overflow) = self.registers.a.overflowing_add(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3633:33
[INFO] [stdout]      |
[INFO] [stdout] 3633 |                 let (new_value, did_overflow) = self.registers.b.overflowing_add(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3642:33
[INFO] [stdout]      |
[INFO] [stdout] 3642 |                 let (new_value, did_overflow) = self.registers.c.overflowing_add(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3651:33
[INFO] [stdout]      |
[INFO] [stdout] 3651 |                 let (new_value, did_overflow) = self.registers.d.overflowing_add(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3660:33
[INFO] [stdout]      |
[INFO] [stdout] 3660 |                 let (new_value, did_overflow) = self.registers.e.overflowing_add(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3669:33
[INFO] [stdout]      |
[INFO] [stdout] 3669 |                 let (new_value, did_overflow) = self.registers.h.overflowing_add(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3677:33
[INFO] [stdout]      |
[INFO] [stdout] 3677 |                 let (new_value, did_overflow) = self.registers.l.overflowing_add(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3685:33
[INFO] [stdout]      |
[INFO] [stdout] 3685 |                 let (new_value, did_overflow) = self.registers.sp.overflowing_add(value as u16);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3690:33
[INFO] [stdout]      |
[INFO] [stdout] 3690 |                 let (new_value, did_overflow) = self.registers.get_hl().overflowing_add(value as u16);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3696:33
[INFO] [stdout]      |
[INFO] [stdout] 3696 |                 let (new_value, did_overflow) = self.registers.get_de().overflowing_add(value as u16);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3703:33
[INFO] [stdout]      |
[INFO] [stdout] 3703 |                 let (new_value, did_overflow) = self.registers.get_bc().overflowing_add(value as u16);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3716:33
[INFO] [stdout]      |
[INFO] [stdout] 3716 |                 let (new_value, did_overflow) = self.registers.a.overflowing_sub(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3725:33
[INFO] [stdout]      |
[INFO] [stdout] 3725 |                 let (new_value, did_overflow) = self.registers.b.overflowing_sub(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3734:33
[INFO] [stdout]      |
[INFO] [stdout] 3734 |                 let (new_value, did_overflow) = self.registers.c.overflowing_sub(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3743:33
[INFO] [stdout]      |
[INFO] [stdout] 3743 |                 let (new_value, did_overflow) = self.registers.d.overflowing_sub(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3752:33
[INFO] [stdout]      |
[INFO] [stdout] 3752 |                 let (new_value, did_overflow) = self.registers.e.overflowing_sub(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3761:33
[INFO] [stdout]      |
[INFO] [stdout] 3761 |                 let (new_value, did_overflow) = self.registers.h.overflowing_sub(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3770:33
[INFO] [stdout]      |
[INFO] [stdout] 3770 |                 let (new_value, did_overflow) = self.registers.l.overflowing_sub(value as u8);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3779:33
[INFO] [stdout]      |
[INFO] [stdout] 3779 |                 let (new_value, did_overflow) = self.registers.sp.overflowing_sub(value as u16);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3786:33
[INFO] [stdout]      |
[INFO] [stdout] 3786 |                 let (new_value, did_overflow) = self.registers.get_hl().overflowing_sub(value as u16);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3793:33
[INFO] [stdout]      |
[INFO] [stdout] 3793 |                 let (new_value, did_overflow) = self.registers.get_de().overflowing_sub(value as u16);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `did_overflow`
[INFO] [stdout]     --> src/cpu.rs:3800:33
[INFO] [stdout]      |
[INFO] [stdout] 3800 |                 let (new_value, did_overflow) = self.registers.get_bc().overflowing_sub(value as u16);
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_did_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let mut trace_buffer = Vec::<String>::new();
[INFO] [stdout]    |         ----^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trace_buffer`
[INFO] [stdout]   --> src/main.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let mut trace_buffer = Vec::<String>::new();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trace_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `mode` is never read
[INFO] [stdout]   --> src/main.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut mode = false;
[INFO] [stdout]    |                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `cpu` is never read
[INFO] [stdout]   --> src/main.rs:64:19
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut cpu = CPU::new();
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save` is never used
[INFO] [stdout]    --> src/main.rs:194:4
[INFO] [stdout]     |
[INFO] [stdout] 194 | fn save(trace_buffer: Vec::<String>){
[INFO] [stdout]     |    ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `debug` is never read
[INFO] [stdout]    --> src/cpu.rs:561:9
[INFO] [stdout]     |
[INFO] [stdout] 554 | pub struct CPU{
[INFO] [stdout]     |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 561 |     pub debug: bool,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `load_rom_cgb` is never used
[INFO] [stdout]    --> src/cpu.rs:632:12
[INFO] [stdout]     |
[INFO] [stdout] 568 | impl CPU {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 632 |     pub fn load_rom_cgb(&mut self, file: String){
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `F` and `AF` are never constructed
[INFO] [stdout]     --> src/cpu.rs:4604:5
[INFO] [stdout]      |
[INFO] [stdout] 4601 | pub enum Target{
[INFO] [stdout]      |          ------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 4604 |     F,
[INFO] [stdout]      |     ^
[INFO] [stdout] ...
[INFO] [stdout] 4613 |     AF,
[INFO] [stdout]      |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_af` is never used
[INFO] [stdout]   --> src/_cpu/registers.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Registers{
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn get_af(&mut self) -> u16{
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VRAM_BEGIN` is never used
[INFO] [stdout]  --> src/_cpu/memory.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const VRAM_BEGIN: usize = 0x8000;
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VRAM_END` is never used
[INFO] [stdout]  --> src/_cpu/memory.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const VRAM_END: usize = 0x9FFF;
[INFO] [stdout]   |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VRAM_SIZE` is never used
[INFO] [stdout]  --> src/_cpu/memory.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const VRAM_SIZE: usize = VRAM_END - VRAM_BEGIN + 1;
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/main.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout] 161 |         if cpu.registers.pc > 0xFFFF{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `IF` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:744:13
[INFO] [stdout]     |
[INFO] [stdout] 744 |         let IF = self.memory.rb(0xFF0F);
[INFO] [stdout]     |             ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier
[INFO] [stdout]     |
[INFO] [stdout] 744 -         let IF = self.memory.rb(0xFF0F);
[INFO] [stdout] 744 +         let r#if = self.memory.rb(0xFF0F);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `IE` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:745:13
[INFO] [stdout]     |
[INFO] [stdout] 745 |         let IE = self.memory.rb(0xFFFF);
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `ie`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let mut trace_buffer = Vec::<String>::new();
[INFO] [stdout]    |         ----^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `trace_buffer`
[INFO] [stdout]   --> src/main.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let mut trace_buffer = Vec::<String>::new();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_trace_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `mode` is never read
[INFO] [stdout]   --> src/main.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut mode = false;
[INFO] [stdout]    |                    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `cpu` is never read
[INFO] [stdout]   --> src/main.rs:64:19
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut cpu = CPU::new();
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save` is never used
[INFO] [stdout]    --> src/main.rs:194:4
[INFO] [stdout]     |
[INFO] [stdout] 194 | fn save(trace_buffer: Vec::<String>){
[INFO] [stdout]     |    ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `debug` is never read
[INFO] [stdout]    --> src/cpu.rs:561:9
[INFO] [stdout]     |
[INFO] [stdout] 554 | pub struct CPU{
[INFO] [stdout]     |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 561 |     pub debug: bool,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `load_rom_cgb` is never used
[INFO] [stdout]    --> src/cpu.rs:632:12
[INFO] [stdout]     |
[INFO] [stdout] 568 | impl CPU {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 632 |     pub fn load_rom_cgb(&mut self, file: String){
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `F` and `AF` are never constructed
[INFO] [stdout]     --> src/cpu.rs:4604:5
[INFO] [stdout]      |
[INFO] [stdout] 4601 | pub enum Target{
[INFO] [stdout]      |          ------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 4604 |     F,
[INFO] [stdout]      |     ^
[INFO] [stdout] ...
[INFO] [stdout] 4613 |     AF,
[INFO] [stdout]      |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_af` is never used
[INFO] [stdout]   --> src/_cpu/registers.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Registers{
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn get_af(&mut self) -> u16{
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VRAM_BEGIN` is never used
[INFO] [stdout]  --> src/_cpu/memory.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const VRAM_BEGIN: usize = 0x8000;
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VRAM_END` is never used
[INFO] [stdout]  --> src/_cpu/memory.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const VRAM_END: usize = 0x9FFF;
[INFO] [stdout]   |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VRAM_SIZE` is never used
[INFO] [stdout]  --> src/_cpu/memory.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const VRAM_SIZE: usize = VRAM_END - VRAM_BEGIN + 1;
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/main.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout] 161 |         if cpu.registers.pc > 0xFFFF{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `IF` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:744:13
[INFO] [stdout]     |
[INFO] [stdout] 744 |         let IF = self.memory.rb(0xFF0F);
[INFO] [stdout]     |             ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier
[INFO] [stdout]     |
[INFO] [stdout] 744 -         let IF = self.memory.rb(0xFF0F);
[INFO] [stdout] 744 +         let r#if = self.memory.rb(0xFF0F);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `IE` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:745:13
[INFO] [stdout]     |
[INFO] [stdout] 745 |         let IE = self.memory.rb(0xFFFF);
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `ie`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.48s
[INFO] running `Command { std: "docker" "inspect" "a940aee763a714f5873156a5f739655c683eb5fc3bfe672660e1c96524c7e636", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a940aee763a714f5873156a5f739655c683eb5fc3bfe672660e1c96524c7e636", kill_on_drop: false }`
[INFO] [stdout] a940aee763a714f5873156a5f739655c683eb5fc3bfe672660e1c96524c7e636
