[INFO] cloning repository https://github.com/etnad101/Gameboy-Emulator [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/etnad101/Gameboy-Emulator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fetnad101%2FGameboy-Emulator", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fetnad101%2FGameboy-Emulator'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 633a0eb873b047823be3036bf76a74bafbd02a4a [INFO] checking etnad101/Gameboy-Emulator against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fetnad101%2FGameboy-Emulator" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/etnad101/Gameboy-Emulator on toolchain 1f12b9b0fdbe735968ac002792a720f0ba4faca6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/etnad101/Gameboy-Emulator [INFO] finished tweaking git repo https://github.com/etnad101/Gameboy-Emulator [INFO] tweaked toml for git repo https://github.com/etnad101/Gameboy-Emulator written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/etnad101/Gameboy-Emulator 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" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] da3561cb632911d80d8eed9369a27089965a16f522fdfc7f2a6b5e0cd87e1d48 [INFO] running `Command { std: "docker" "start" "-a" "da3561cb632911d80d8eed9369a27089965a16f522fdfc7f2a6b5e0cd87e1d48", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "da3561cb632911d80d8eed9369a27089965a16f522fdfc7f2a6b5e0cd87e1d48", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "da3561cb632911d80d8eed9369a27089965a16f522fdfc7f2a6b5e0cd87e1d48", kill_on_drop: false }` [INFO] [stdout] da3561cb632911d80d8eed9369a27089965a16f522fdfc7f2a6b5e0cd87e1d48 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5c2d2efba47834c0acd9784b2eeb32042c97bcff1cd51ec669355d05ad3fd13e [INFO] running `Command { std: "docker" "start" "-a" "5c2d2efba47834c0acd9784b2eeb32042c97bcff1cd51ec669355d05ad3fd13e", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.81 [INFO] [stderr] Compiling autocfg v1.2.0 [INFO] [stderr] Compiling pkg-config v0.3.30 [INFO] [stderr] Compiling libc v0.2.154 [INFO] [stderr] Compiling xml-rs v0.8.20 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking scoped-tls v1.0.1 [INFO] [stderr] Checking downcast-rs v1.2.1 [INFO] [stderr] Compiling rustix v0.38.34 [INFO] [stderr] Checking bitflags v2.5.0 [INFO] [stderr] Compiling cc v1.0.95 [INFO] [stderr] Compiling serde v1.0.203 [INFO] [stderr] Checking libloading v0.8.3 [INFO] [stderr] Checking linux-raw-sys v0.4.13 [INFO] [stderr] Checking xcursor v0.3.5 [INFO] [stderr] Checking fastrand v2.1.0 [INFO] [stderr] Compiling serde_json v1.0.118 [INFO] [stderr] Checking dlib v0.5.2 [INFO] [stderr] Checking raw-window-handle v0.4.3 [INFO] [stderr] Checking ryu v1.0.18 [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Checking iana-time-zone v0.1.60 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling wayland-sys v0.29.5 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling minifb v0.25.0 [INFO] [stderr] Compiling wayland-scanner v0.29.5 [INFO] [stderr] Compiling syn v2.0.60 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking nix v0.24.3 [INFO] [stderr] Compiling wayland-client v0.29.5 [INFO] [stderr] Compiling wayland-protocols v0.29.5 [INFO] [stderr] Checking tempfile v3.10.1 [INFO] [stderr] Compiling serde_derive v1.0.203 [INFO] [stderr] Checking wayland-commons v0.29.5 [INFO] [stderr] Checking wayland-cursor v0.29.5 [INFO] [stderr] Checking gameboy-emulator v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/emulator/cpu/mod.rs:753:18 [INFO] [stdout] | [INFO] [stdout] 753 | let (res, half_carry, full_carry) = self.carry_track_add_u8(lo, value); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/emulator/cpu/mod.rs:765:18 [INFO] [stdout] | [INFO] [stdout] 765 | let (res, half_carry, full_carry) = self.carry_track_sub_u8(lo, value); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/emulator/cpu/mod.rs:747:13 [INFO] [stdout] | [INFO] [stdout] 747 | let mut half: bool; [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/emulator/cpu/mod.rs:748:13 [INFO] [stdout] | [INFO] [stdout] 748 | let mut full: bool; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/emulator/cpu/mod.rs:753:18 [INFO] [stdout] | [INFO] [stdout] 753 | let (res, half_carry, full_carry) = self.carry_track_add_u8(lo, value); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/emulator/cpu/mod.rs:765:18 [INFO] [stdout] | [INFO] [stdout] 765 | let (res, half_carry, full_carry) = self.carry_track_sub_u8(lo, value); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/emulator/cpu/mod.rs:747:13 [INFO] [stdout] | [INFO] [stdout] 747 | let mut half: bool; [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/emulator/cpu/mod.rs:748:13 [INFO] [stdout] | [INFO] [stdout] 748 | let mut full: bool; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `opcode_asm` [INFO] [stdout] --> src/emulator/cpu/mod.rs:1056:14 [INFO] [stdout] | [INFO] [stdout] 1056 | let (opcode_asm, opcode_bytes, opcode_cycles, lhs, rhs) = { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode_asm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `opcode_asm` [INFO] [stdout] --> src/emulator/cpu/mod.rs:1056:14 [INFO] [stdout] | [INFO] [stdout] 1056 | let (opcode_asm, opcode_bytes, opcode_cycles, lhs, rhs) = { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode_asm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GREEN_PALETTE` is never used [INFO] [stdout] --> src/main.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const GREEN_PALETTE: Palette = Palette::new(0x009BBC0F, 0x008BAC0F, 0x00306230, 0x000F380F); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rgb` is never used [INFO] [stdout] --> src/drivers/display/mod.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn rgb(r: u8, g: u8, b: u8) -> u32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CPU_FREQ` is never used [INFO] [stdout] --> src/emulator/mod.rs:25:7 [INFO] [stdout] | [INFO] [stdout] 25 | const CPU_FREQ: usize = 4_194_304; // T-cycles [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DIV_FREQ` is never used [INFO] [stdout] --> src/emulator/mod.rs:26:7 [INFO] [stdout] | [INFO] [stdout] 26 | const DIV_FREQ: usize = 16_384; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DIV_UPDATE_FREQ` is never used [INFO] [stdout] --> src/emulator/mod.rs:28:7 [INFO] [stdout] | [INFO] [stdout] 28 | const DIV_UPDATE_FREQ: usize = CPU_FREQ / DIV_FREQ; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `STAT`, `LYC`, `DMA`, `BGP`, `OBP0`, and `OBP1` are never constructed [INFO] [stdout] --> src/emulator/mod.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub enum LCDRegister { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 31 | LCDC = 0xFF40, [INFO] [stdout] 32 | STAT = 0xff41, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | LYC = 0xff45, [INFO] [stdout] | ^^^ [INFO] [stdout] 37 | DMA = 0xff46, [INFO] [stdout] | ^^^ [INFO] [stdout] 38 | BGP = 0xff47, [INFO] [stdout] | ^^^ [INFO] [stdout] 39 | OBP0 = 0xff48, [INFO] [stdout] | ^^^^ [INFO] [stdout] 40 | OBP1 = 0xff49, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Timer` is never used [INFO] [stdout] --> src/emulator/mod.rs:43:6 [INFO] [stdout] | [INFO] [stdout] 43 | enum Timer { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `timer_cycles` is never read [INFO] [stdout] --> src/emulator/mod.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 50 | pub struct Emulator<'a> { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 55 | timer_cycles: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_timers`, `do_interrupts`, and `set_vram` are never used [INFO] [stdout] --> src/emulator/mod.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 59 | impl<'a> Emulator<'a> { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 96 | fn update_timers(&mut self, cycles: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | fn do_interrupts(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn set_vram(&mut self, tile_num: u16) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `AF` is never constructed [INFO] [stdout] --> src/emulator/cpu/opcodes.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum Register { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 14 | AF, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `Register` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `activate` and `deactivate` are never used [INFO] [stdout] --> src/emulator/debugger.rs:84:12 [INFO] [stdout] | [INFO] [stdout] 67 | impl<'a> Debugger<'a> { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn activate(&mut self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn deactivate(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OpcodeError` is never constructed [INFO] [stdout] --> src/emulator/errors.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub enum CpuError { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 22 | OpcodeError(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CpuError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CYCLES_PER_SCANLINE` is never used [INFO] [stdout] --> src/emulator/ppu.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const CYCLES_PER_SCANLINE: usize = 456; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Sleep` is never constructed [INFO] [stdout] --> src/emulator/ppu.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 20 | enum FetcherMode { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 24 | Sleep, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clear` is never used [INFO] [stdout] --> src/emulator/ppu.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl Fifo { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `debugger`, `fetcher_y`, and `object_fifo` are never read [INFO] [stdout] --> src/emulator/ppu.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct Ppu<'a> { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 63 | memory: Rc>, [INFO] [stdout] 64 | debugger: Rc>>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | fetcher_y: u8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | object_fifo: Fifo, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `MBC7` and `M161` are never constructed [INFO] [stdout] --> src/emulator/rom.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 4 | enum MBC { [INFO] [stdout] | --- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 10 | MBC7, [INFO] [stdout] | ^^^^ [INFO] [stdout] 11 | MMM01, [INFO] [stdout] 12 | M161, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MBC` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `title`, `mbc`, `ram`, `battery`, and `timer` are never read [INFO] [stdout] --> src/emulator/rom.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Rom { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 18 | bytes: Vec, [INFO] [stdout] 19 | title: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 20 | gb_compatible: bool, [INFO] [stdout] 21 | mbc: Option, [INFO] [stdout] | ^^^ [INFO] [stdout] 22 | ram: bool, [INFO] [stdout] | ^^^ [INFO] [stdout] 23 | battery: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 24 | timer: bool, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GREEN_PALETTE` is never used [INFO] [stdout] --> src/main.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const GREEN_PALETTE: Palette = Palette::new(0x009BBC0F, 0x008BAC0F, 0x00306230, 0x000F380F); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rgb` is never used [INFO] [stdout] --> src/drivers/display/mod.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn rgb(r: u8, g: u8, b: u8) -> u32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CPU_FREQ` is never used [INFO] [stdout] --> src/emulator/mod.rs:25:7 [INFO] [stdout] | [INFO] [stdout] 25 | const CPU_FREQ: usize = 4_194_304; // T-cycles [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DIV_FREQ` is never used [INFO] [stdout] --> src/emulator/mod.rs:26:7 [INFO] [stdout] | [INFO] [stdout] 26 | const DIV_FREQ: usize = 16_384; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DIV_UPDATE_FREQ` is never used [INFO] [stdout] --> src/emulator/mod.rs:28:7 [INFO] [stdout] | [INFO] [stdout] 28 | const DIV_UPDATE_FREQ: usize = CPU_FREQ / DIV_FREQ; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `STAT`, `LYC`, `DMA`, `BGP`, `OBP0`, and `OBP1` are never constructed [INFO] [stdout] --> src/emulator/mod.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub enum LCDRegister { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 31 | LCDC = 0xFF40, [INFO] [stdout] 32 | STAT = 0xff41, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | LYC = 0xff45, [INFO] [stdout] | ^^^ [INFO] [stdout] 37 | DMA = 0xff46, [INFO] [stdout] | ^^^ [INFO] [stdout] 38 | BGP = 0xff47, [INFO] [stdout] | ^^^ [INFO] [stdout] 39 | OBP0 = 0xff48, [INFO] [stdout] | ^^^^ [INFO] [stdout] 40 | OBP1 = 0xff49, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Timer` is never used [INFO] [stdout] --> src/emulator/mod.rs:43:6 [INFO] [stdout] | [INFO] [stdout] 43 | enum Timer { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `timer_cycles` is never read [INFO] [stdout] --> src/emulator/mod.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 50 | pub struct Emulator<'a> { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 55 | timer_cycles: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_timers`, `do_interrupts`, and `set_vram` are never used [INFO] [stdout] --> src/emulator/mod.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 59 | impl<'a> Emulator<'a> { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 96 | fn update_timers(&mut self, cycles: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | fn do_interrupts(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn set_vram(&mut self, tile_num: u16) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `load_state` and `get_state` are never used [INFO] [stdout] --> src/emulator/cpu/mod.rs:1243:12 [INFO] [stdout] | [INFO] [stdout] 52 | impl<'a> Cpu<'a> { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 1243 | pub fn load_state(&mut self, state: &State) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1256 | pub fn get_state(&self) -> (u8, u8, u8, u8, u8, u8, u8, u8, u16, u16) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `AF` is never constructed [INFO] [stdout] --> src/emulator/cpu/opcodes.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum Register { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 14 | AF, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `Register` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `activate` and `deactivate` are never used [INFO] [stdout] --> src/emulator/debugger.rs:84:12 [INFO] [stdout] | [INFO] [stdout] 67 | impl<'a> Debugger<'a> { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn activate(&mut self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn deactivate(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OpcodeError` is never constructed [INFO] [stdout] --> src/emulator/errors.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub enum CpuError { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 22 | OpcodeError(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CpuError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clear` is never used [INFO] [stdout] --> src/emulator/memory.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl MemoryBus { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CYCLES_PER_SCANLINE` is never used [INFO] [stdout] --> src/emulator/ppu.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const CYCLES_PER_SCANLINE: usize = 456; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Sleep` is never constructed [INFO] [stdout] --> src/emulator/ppu.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 20 | enum FetcherMode { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 24 | Sleep, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clear` is never used [INFO] [stdout] --> src/emulator/ppu.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl Fifo { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `debugger`, `fetcher_y`, and `object_fifo` are never read [INFO] [stdout] --> src/emulator/ppu.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct Ppu<'a> { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 63 | memory: Rc>, [INFO] [stdout] 64 | debugger: Rc>>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | fetcher_y: u8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | object_fifo: Fifo, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `MBC7` and `M161` are never constructed [INFO] [stdout] --> src/emulator/rom.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 4 | enum MBC { [INFO] [stdout] | --- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 10 | MBC7, [INFO] [stdout] | ^^^^ [INFO] [stdout] 11 | MMM01, [INFO] [stdout] 12 | M161, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MBC` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `title`, `mbc`, `ram`, `battery`, and `timer` are never read [INFO] [stdout] --> src/emulator/rom.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Rom { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 18 | bytes: Vec, [INFO] [stdout] 19 | title: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 20 | gb_compatible: bool, [INFO] [stdout] 21 | mbc: Option, [INFO] [stdout] | ^^^ [INFO] [stdout] 22 | ram: bool, [INFO] [stdout] | ^^^ [INFO] [stdout] 23 | battery: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 24 | timer: bool, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/emulator/test/mod.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct State { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 5 | pub a: u8, [INFO] [stdout] | ^ [INFO] [stdout] 6 | pub b: u8, [INFO] [stdout] | ^ [INFO] [stdout] 7 | pub c: u8, [INFO] [stdout] | ^ [INFO] [stdout] 8 | pub d: u8, [INFO] [stdout] | ^ [INFO] [stdout] 9 | pub e: u8, [INFO] [stdout] | ^ [INFO] [stdout] 10 | pub f: u8, [INFO] [stdout] | ^ [INFO] [stdout] 11 | pub h: u8, [INFO] [stdout] | ^ [INFO] [stdout] 12 | pub l: u8, [INFO] [stdout] | ^ [INFO] [stdout] 13 | pub pc: u16, [INFO] [stdout] | ^^ [INFO] [stdout] 14 | pub sp: u16, [INFO] [stdout] | ^^ [INFO] [stdout] 15 | pub ram: Vec>, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `State` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name`, `initial`, and `after` are never read [INFO] [stdout] --> src/emulator/test/mod.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct TestData { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 20 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 21 | pub initial: State, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 22 | pub after: State, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TestData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 23 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 27 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.25s [INFO] running `Command { std: "docker" "inspect" "5c2d2efba47834c0acd9784b2eeb32042c97bcff1cd51ec669355d05ad3fd13e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5c2d2efba47834c0acd9784b2eeb32042c97bcff1cd51ec669355d05ad3fd13e", kill_on_drop: false }` [INFO] [stdout] 5c2d2efba47834c0acd9784b2eeb32042c97bcff1cd51ec669355d05ad3fd13e