[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#a609fb45efad59dfd459c76e50899be9f0583b5a for pr-80579 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdimitribobkov%2Fgameboy" "/workspace/builds/worker-0/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/dimitribobkov/gameboy on toolchain a609fb45efad59dfd459c76e50899be9f0583b5a [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "read-manifest" "--manifest-path" "Cargo.toml", 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-0/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: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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" "rustops/crates-build-env@sha256:c8ac004eab7d63a0ad09a2dde3d3353ba464f767bee4de425dc8f74c46a1905e" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 68e8ad2a8863378e482a9c49ae6bc12594e247d2fe0c1af6ceebb4632e5f936d [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "68e8ad2a8863378e482a9c49ae6bc12594e247d2fe0c1af6ceebb4632e5f936d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "68e8ad2a8863378e482a9c49ae6bc12594e247d2fe0c1af6ceebb4632e5f936d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "68e8ad2a8863378e482a9c49ae6bc12594e247d2fe0c1af6ceebb4632e5f936d", kill_on_drop: false }` [INFO] [stdout] 68e8ad2a8863378e482a9c49ae6bc12594e247d2fe0c1af6ceebb4632e5f936d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:c8ac004eab7d63a0ad09a2dde3d3353ba464f767bee4de425dc8f74c46a1905e" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fea511fe109bc438ef72c83b9e02984465e105401271085fb42b0ef4bbdd65a2 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "fea511fe109bc438ef72c83b9e02984465e105401271085fb42b0ef4bbdd65a2", kill_on_drop: false }` [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling bitflags v1.2.1 [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: 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: 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: 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: value assigned to `mode` is never read [INFO] [stdout] --> src/main.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | let mut mode = false; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [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:9 [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] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `cpu` is never read [INFO] [stdout] --> src/main.rs:64:9 [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 `delay` is never read [INFO] [stdout] --> src/cpu.rs:670:17 [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] [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] [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: 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: value assigned to `mode` is never read [INFO] [stdout] --> src/main.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | let mut mode = false; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [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:9 [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] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `cpu` is never read [INFO] [stdout] --> src/main.rs:64:9 [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 `delay` is never read [INFO] [stdout] --> src/cpu.rs:670:17 [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] [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] [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: 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::::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: associated function is never used: `load_rom_cgb` [INFO] [stdout] --> src/cpu.rs:632:12 [INFO] [stdout] | [INFO] [stdout] 632 | pub fn load_rom_cgb(&mut self, file: String){ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `F` [INFO] [stdout] --> src/cpu.rs:4604:5 [INFO] [stdout] | [INFO] [stdout] 4604 | F, [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `AF` [INFO] [stdout] --> src/cpu.rs:4613:5 [INFO] [stdout] | [INFO] [stdout] 4613 | AF, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_af` [INFO] [stdout] --> src/_cpu/registers.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn get_af(&mut self) -> u16{ [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `VRAM_BEGIN` [INFO] [stdout] --> src/_cpu/memory.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | const VRAM_BEGIN: usize = 0x8000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `VRAM_END` [INFO] [stdout] --> src/_cpu/memory.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | const VRAM_END: usize = 0x9FFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `VRAM_SIZE` [INFO] [stdout] --> src/_cpu/memory.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | const VRAM_SIZE: usize = VRAM_END - VRAM_BEGIN + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `save` [INFO] [stdout] --> src/main.rs:194:4 [INFO] [stdout] | [INFO] [stdout] 194 | fn save(trace_buffer: Vec::){ [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] | ^^ help: convert the identifier to snake case (notice the capitalization): `if` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [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: 45 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `load_rom_cgb` [INFO] [stdout] --> src/cpu.rs:632:12 [INFO] [stdout] | [INFO] [stdout] 632 | pub fn load_rom_cgb(&mut self, file: String){ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `F` [INFO] [stdout] --> src/cpu.rs:4604:5 [INFO] [stdout] | [INFO] [stdout] 4604 | F, [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `AF` [INFO] [stdout] --> src/cpu.rs:4613:5 [INFO] [stdout] | [INFO] [stdout] 4613 | AF, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_af` [INFO] [stdout] --> src/_cpu/registers.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn get_af(&mut self) -> u16{ [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `VRAM_BEGIN` [INFO] [stdout] --> src/_cpu/memory.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | const VRAM_BEGIN: usize = 0x8000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `VRAM_END` [INFO] [stdout] --> src/_cpu/memory.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | const VRAM_END: usize = 0x9FFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `VRAM_SIZE` [INFO] [stdout] --> src/_cpu/memory.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | const VRAM_SIZE: usize = VRAM_END - VRAM_BEGIN + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `save` [INFO] [stdout] --> src/main.rs:194:4 [INFO] [stdout] | [INFO] [stdout] 194 | fn save(trace_buffer: Vec::){ [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] | ^^ help: convert the identifier to snake case (notice the capitalization): `if` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [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: 45 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 7.78s [INFO] running `Command { std: "docker" "inspect" "fea511fe109bc438ef72c83b9e02984465e105401271085fb42b0ef4bbdd65a2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fea511fe109bc438ef72c83b9e02984465e105401271085fb42b0ef4bbdd65a2", kill_on_drop: false }` [INFO] [stdout] fea511fe109bc438ef72c83b9e02984465e105401271085fb42b0ef4bbdd65a2