[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#385fa9d845dd326c6bbfd58c22244215e431948a for absurd-question-mark-desugar [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] validating manifest of git repo https://github.com/dimitribobkov/gameboy on toolchain 385fa9d845dd326c6bbfd58c22244215e431948a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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] 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" "+385fa9d845dd326c6bbfd58c22244215e431948a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded sdl2 v0.34.1 [INFO] [stderr] Downloaded sdl2-sys v0.34.0 [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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 45d3fc4b1a5cdece5d067b22c896c3ad3f4f8f525a4730288409d402e7805a22 [INFO] running `Command { std: "docker" "start" "-a" "45d3fc4b1a5cdece5d067b22c896c3ad3f4f8f525a4730288409d402e7805a22", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "45d3fc4b1a5cdece5d067b22c896c3ad3f4f8f525a4730288409d402e7805a22", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "45d3fc4b1a5cdece5d067b22c896c3ad3f4f8f525a4730288409d402e7805a22", kill_on_drop: false }` [INFO] [stdout] 45d3fc4b1a5cdece5d067b22c896c3ad3f4f8f525a4730288409d402e7805a22 [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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9bf0579905054bc37b9d36dccb1382003b21bbbf7214f0f65029f343a091c61e [INFO] running `Command { std: "docker" "start" "-a" "9bf0579905054bc37b9d36dccb1382003b21bbbf7214f0f65029f343a091c61e", kill_on_drop: false }` [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling libc v0.2.71 [INFO] [stderr] Compiling sdl2 v0.34.1 [INFO] [stderr] Compiling sdl2-sys v0.34.0 [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)]` 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)]` 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)]` 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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `delay` is never read [INFO] [stdout] --> src/cpu.rs:670:21 [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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `trace` is assigned to, but never used [INFO] [stdout] --> src/cpu.rs:698:25 [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)]` on by default [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: 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 `delay` is never read [INFO] [stdout] --> src/cpu.rs:670:21 [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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `trace` is assigned to, but never used [INFO] [stdout] --> src/cpu.rs:698:25 [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)]` on by default [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: 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: unreachable pattern [INFO] [stdout] --> src/cpu.rs:3344:13 [INFO] [stdout] | [INFO] [stdout] 3344 | _ => { panic!("Opcode: CB -> {:#x?}", opcode)} [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` 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] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` 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: value assigned to `mode` is never read [INFO] [stdout] --> src/main.rs:30:13 [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: unused variable: `trace_buffer` [INFO] [stdout] --> src/main.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | let mut trace_buffer = Vec::::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 `cpu` is never read [INFO] [stdout] --> src/main.rs:64:13 [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: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | let mut trace_buffer = Vec::::new(); [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: value assigned to `mode` is never read [INFO] [stdout] --> src/main.rs:30:13 [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: unused variable: `trace_buffer` [INFO] [stdout] --> src/main.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | let mut trace_buffer = Vec::::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 `cpu` is never read [INFO] [stdout] --> src/main.rs:64:13 [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::){ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` 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)]` on by default [INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier [INFO] [stdout] | [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: 52 warnings emitted [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::::new(); [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: function `save` is never used [INFO] [stdout] --> src/main.rs:194:4 [INFO] [stdout] | [INFO] [stdout] 194 | fn save(trace_buffer: Vec::){ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` 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)]` on by default [INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier [INFO] [stdout] | [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: 52 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.94s [INFO] running `Command { std: "docker" "inspect" "9bf0579905054bc37b9d36dccb1382003b21bbbf7214f0f65029f343a091c61e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9bf0579905054bc37b9d36dccb1382003b21bbbf7214f0f65029f343a091c61e", kill_on_drop: false }` [INFO] [stdout] 9bf0579905054bc37b9d36dccb1382003b21bbbf7214f0f65029f343a091c61e [INFO] checking dimitribobkov/gameboy against try#645bb72776a6a56a1a8f52631a44bd082b2ba509 for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdimitribobkov%2Fgameboy" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/dimitribobkov/gameboy on toolchain 645bb72776a6a56a1a8f52631a44bd082b2ba509 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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-tc2/source/Cargo.toml [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" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 26580ebee7a28a4b02ea537b13851fee9125255b649c2e8579e24df53a464c90 [INFO] running `Command { std: "docker" "start" "-a" "26580ebee7a28a4b02ea537b13851fee9125255b649c2e8579e24df53a464c90", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "26580ebee7a28a4b02ea537b13851fee9125255b649c2e8579e24df53a464c90", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "26580ebee7a28a4b02ea537b13851fee9125255b649c2e8579e24df53a464c90", kill_on_drop: false }` [INFO] [stdout] 26580ebee7a28a4b02ea537b13851fee9125255b649c2e8579e24df53a464c90 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 805924da7424fd3604267b92dae27548394db84c8bb5d142d13e3393abbedd2a [INFO] running `Command { std: "docker" "start" "-a" "805924da7424fd3604267b92dae27548394db84c8bb5d142d13e3393abbedd2a", kill_on_drop: false }` [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling libc v0.2.71 [INFO] [stderr] Compiling sdl2 v0.34.1 [INFO] [stderr] Compiling sdl2-sys v0.34.0 [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)]` 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: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)]` 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: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: 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: 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)]` on by default [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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `delay` is never read [INFO] [stdout] --> src/cpu.rs:670:21 [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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `trace` is assigned to, but never used [INFO] [stdout] --> src/cpu.rs:698:25 [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)]` on by default [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: 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 `delay` is never read [INFO] [stdout] --> src/cpu.rs:670:21 [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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `trace` is assigned to, but never used [INFO] [stdout] --> src/cpu.rs:698:25 [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)]` on by default [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: 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: unreachable pattern [INFO] [stdout] --> src/cpu.rs:3344:13 [INFO] [stdout] | [INFO] [stdout] 3344 | _ => { panic!("Opcode: CB -> {:#x?}", opcode)} [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` 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: unreachable pattern [INFO] [stdout] --> src/cpu.rs:3344:13 [INFO] [stdout] | [INFO] [stdout] 3344 | _ => { panic!("Opcode: CB -> {:#x?}", opcode)} [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` 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: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: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: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: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: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: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: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: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: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: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: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: 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: value assigned to `mode` is never read [INFO] [stdout] --> src/main.rs:30:13 [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: unused variable: `trace_buffer` [INFO] [stdout] --> src/main.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | let mut trace_buffer = Vec::::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 `cpu` is never read [INFO] [stdout] --> src/main.rs:64:13 [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: value assigned to `mode` is never read [INFO] [stdout] --> src/main.rs:30:13 [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: unused variable: `trace_buffer` [INFO] [stdout] --> src/main.rs:41:13 [INFO] [stdout] | [INFO] [stdout] 41 | let mut trace_buffer = Vec::::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 `cpu` is never read [INFO] [stdout] --> src/main.rs:64:13 [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: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | let mut trace_buffer = Vec::::new(); [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/main.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | let mut trace_buffer = Vec::::new(); [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: function `save` is never used [INFO] [stdout] --> src/main.rs:194:4 [INFO] [stdout] | [INFO] [stdout] 194 | fn save(trace_buffer: Vec::){ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` 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)]` on by default [INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier [INFO] [stdout] | [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: function `save` is never used [INFO] [stdout] --> src/main.rs:194:4 [INFO] [stdout] | [INFO] [stdout] 194 | fn save(trace_buffer: Vec::){ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` 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)]` on by default [INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier [INFO] [stdout] | [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: 52 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 52 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.13s [INFO] running `Command { std: "docker" "inspect" "805924da7424fd3604267b92dae27548394db84c8bb5d142d13e3393abbedd2a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "805924da7424fd3604267b92dae27548394db84c8bb5d142d13e3393abbedd2a", kill_on_drop: false }` [INFO] [stdout] 805924da7424fd3604267b92dae27548394db84c8bb5d142d13e3393abbedd2a