[INFO] cloning repository https://github.com/Tidyzq/gbemu-web [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Tidyzq/gbemu-web" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTidyzq%2Fgbemu-web", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTidyzq%2Fgbemu-web'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 068996e2c8a777ff57888bc517ade9f56c63f953 [INFO] checking Tidyzq/gbemu-web/068996e2c8a777ff57888bc517ade9f56c63f953 against master#d9563937fa3b030c5845811113505070109414d2 for pr-151830 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTidyzq%2Fgbemu-web" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Tidyzq/gbemu-web [INFO] finished tweaking git repo https://github.com/Tidyzq/gbemu-web [INFO] tweaked toml for git repo https://github.com/Tidyzq/gbemu-web written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Tidyzq/gbemu-web on toolchain d9563937fa3b030c5845811113505070109414d2 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d9563937fa3b030c5845811113505070109414d2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Tidyzq/gbemu-web 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" "+d9563937fa3b030c5845811113505070109414d2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /workspace/builds/worker-5-tc1/source/packages/core/Cargo.toml [INFO] [stderr] workspace: /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+d9563937fa3b030c5845811113505070109414d2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] cd425ec8fce084ffa5f6dd4ecee8881217a1049af9af18e78a0389cd9d0d9438 [INFO] running `Command { std: "docker" "start" "-a" "cd425ec8fce084ffa5f6dd4ecee8881217a1049af9af18e78a0389cd9d0d9438", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cd425ec8fce084ffa5f6dd4ecee8881217a1049af9af18e78a0389cd9d0d9438", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cd425ec8fce084ffa5f6dd4ecee8881217a1049af9af18e78a0389cd9d0d9438", kill_on_drop: false }` [INFO] [stdout] cd425ec8fce084ffa5f6dd4ecee8881217a1049af9af18e78a0389cd9d0d9438 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+d9563937fa3b030c5845811113505070109414d2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9f1e05faee91db1b1154621c56e2c2b95aa4a1832a59357d80113706cdc3fac0 [INFO] running `Command { std: "docker" "start" "-a" "9f1e05faee91db1b1154621c56e2c2b95aa4a1832a59357d80113706cdc3fac0", kill_on_drop: false }` [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /opt/rustwide/workdir/packages/core/Cargo.toml [INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml [INFO] [stderr] Compiling bumpalo v3.19.0 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.100 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.100 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.100 [INFO] [stderr] Checking wasm-bindgen v0.2.100 [INFO] [stderr] Checking js-sys v0.3.77 [INFO] [stderr] Checking console_error_panic_hook v0.1.7 [INFO] [stderr] Checking gbemu-rs v0.1.0 (/opt/rustwide/workdir/packages/core) [INFO] [stdout] warning: unused import: `InterruptKind` [INFO] [stdout] --> packages/core/src/cpu.rs:4:35 [INFO] [stdout] | [INFO] [stdout] 4 | interrupt::{InterruptContext, InterruptKind}, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `print_flag` [INFO] [stdout] --> packages/core/src/cpu.rs:315:22 [INFO] [stdout] | [INFO] [stdout] 315 | macro_rules! print_flag { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cell::RefCell` and `rc::Rc` [INFO] [stdout] --> packages/core/src/emu.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{cell::RefCell, rc::Rc}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IO`, `Serial`, `cartridge::Cartridge`, `ppu::PPU`, and `ram::RAM` [INFO] [stdout] --> packages/core/src/emu.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | cartridge::Cartridge, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 5 | cpu::CpuContext, [INFO] [stdout] 6 | io::{Serial, IO}, [INFO] [stdout] | ^^^^^^ ^^ [INFO] [stdout] 7 | ppu::PPU, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 8 | ram::RAM, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::RangeInclusive` [INFO] [stdout] --> packages/core/src/ppu.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::RangeInclusive; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cpu::BusModule` [INFO] [stdout] --> packages/core/src/timer.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{cpu::BusModule, interrupt::InterruptKind}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `InterruptKind` [INFO] [stdout] --> packages/core/src/cpu.rs:4:35 [INFO] [stdout] | [INFO] [stdout] 4 | interrupt::{InterruptContext, InterruptKind}, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `print_flag` [INFO] [stdout] --> packages/core/src/cpu.rs:315:22 [INFO] [stdout] | [INFO] [stdout] 315 | macro_rules! print_flag { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cell::RefCell` and `rc::Rc` [INFO] [stdout] --> packages/core/src/emu.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{cell::RefCell, rc::Rc}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IO`, `Serial`, `cartridge::Cartridge`, `ppu::PPU`, and `ram::RAM` [INFO] [stdout] --> packages/core/src/emu.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | cartridge::Cartridge, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 5 | cpu::CpuContext, [INFO] [stdout] 6 | io::{Serial, IO}, [INFO] [stdout] | ^^^^^^ ^^ [INFO] [stdout] 7 | ppu::PPU, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 8 | ram::RAM, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::RangeInclusive` [INFO] [stdout] --> packages/core/src/ppu.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::RangeInclusive; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cpu::BusModule` [INFO] [stdout] --> packages/core/src/timer.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{cpu::BusModule, interrupt::InterruptKind}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address` [INFO] [stdout] --> packages/core/src/cartridge.rs:205:25 [INFO] [stdout] | [INFO] [stdout] 205 | fn write(&mut self, address: u16, value: u8) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> packages/core/src/cartridge.rs:205:39 [INFO] [stdout] | [INFO] [stdout] 205 | fn write(&mut self, address: u16, value: u8) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> packages/core/src/cpu.rs:436:21 [INFO] [stdout] | [INFO] [stdout] 436 | _ => unreachable!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> packages/core/src/cpu.rs:436:21 [INFO] [stdout] | [INFO] [stdout] 428 | DataKind::D8(data) => { [INFO] [stdout] | ------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 432 | DataKind::D16(data) => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 436 | _ => unreachable!(), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> packages/core/src/cpu.rs:448:17 [INFO] [stdout] | [INFO] [stdout] 448 | _ => unreachable!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> packages/core/src/cpu.rs:448:17 [INFO] [stdout] | [INFO] [stdout] 440 | DataKind::D8(data) => { [INFO] [stdout] | ------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 444 | DataKind::D16(data) => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 448 | _ => unreachable!(), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address` [INFO] [stdout] --> packages/core/src/cartridge.rs:205:25 [INFO] [stdout] | [INFO] [stdout] 205 | fn write(&mut self, address: u16, value: u8) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> packages/core/src/cartridge.rs:205:39 [INFO] [stdout] | [INFO] [stdout] 205 | fn write(&mut self, address: u16, value: u8) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> packages/core/src/cpu.rs:436:21 [INFO] [stdout] | [INFO] [stdout] 436 | _ => unreachable!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> packages/core/src/cpu.rs:436:21 [INFO] [stdout] | [INFO] [stdout] 428 | DataKind::D8(data) => { [INFO] [stdout] | ------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 432 | DataKind::D16(data) => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 436 | _ => unreachable!(), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> packages/core/src/cpu.rs:448:17 [INFO] [stdout] | [INFO] [stdout] 448 | _ => unreachable!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> packages/core/src/cpu.rs:448:17 [INFO] [stdout] | [INFO] [stdout] 440 | DataKind::D8(data) => { [INFO] [stdout] | ------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 444 | DataKind::D16(data) => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 448 | _ => unreachable!(), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> packages/core/src/ppu.rs:217:13 [INFO] [stdout] | [INFO] [stdout] 217 | _ => {} [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> packages/core/src/ppu.rs:217:13 [INFO] [stdout] | [INFO] [stdout] 156 | PPUMode::HBlank => { [INFO] [stdout] | --------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 180 | PPUMode::VBlank => { [INFO] [stdout] | --------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 194 | PPUMode::OAMScan => { [INFO] [stdout] | ---------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 202 | PPUMode::Drawing => { [INFO] [stdout] | ---------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 217 | _ => {} [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address` [INFO] [stdout] --> packages/core/src/ppu.rs:287:35 [INFO] [stdout] | [INFO] [stdout] 287 | ... Some((address, data0, data1)) => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Registers` is more private than the item `CpuContext::registers` [INFO] [stdout] --> packages/core/src/cpu.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 184 | pub registers: Registers, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ field `CpuContext::registers` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Registers` is only usable at visibility `pub(self)` [INFO] [stdout] --> packages/core/src/cpu.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | struct Registers { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CARTRIDGE_TYPE` is never used [INFO] [stdout] --> packages/core/src/cartridge.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | static CARTRIDGE_TYPE: [&'static str; 256] = array!["Unknown"; 256; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cartridge_type_name` is never used [INFO] [stdout] --> packages/core/src/cartridge.rs:34:4 [INFO] [stdout] | [INFO] [stdout] 34 | fn cartridge_type_name(header: &RomHeader) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `stepping` is never read [INFO] [stdout] --> packages/core/src/cpu.rs:187:9 [INFO] [stdout] | [INFO] [stdout] 183 | pub struct CpuContext { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 187 | pub stepping: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Emu` is never constructed [INFO] [stdout] --> packages/core/src/emu.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Emu { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `F` and `PC` are never constructed [INFO] [stdout] --> packages/core/src/instruction.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum Register { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 13 | A, [INFO] [stdout] 14 | F, [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 26 | PC, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `Register` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `create` is never used [INFO] [stdout] --> packages/core/src/io.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl Serial { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 10 | pub fn create() -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OAMEntry` is never constructed [INFO] [stdout] --> packages/core/src/ppu.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub struct OAMEntry { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `bg_priority` are never used [INFO] [stdout] --> packages/core/src/ppu.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 48 | impl OAMEntry { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 49 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | fn bg_priority(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `debug` is never read [INFO] [stdout] --> packages/core/src/ppu.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 68 | pub struct PPU { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 82 | debug: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_enabled`, `get_obj_size`, `is_obj_enable`, and `is_lyc_equals_ly` are never used [INFO] [stdout] --> packages/core/src/ppu.rs:538:12 [INFO] [stdout] | [INFO] [stdout] 514 | impl LCD { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 538 | pub fn is_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 583 | pub fn get_obj_size(&self) -> (u8, u8) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 592 | pub fn is_obj_enable(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 638 | pub fn is_lyc_equals_ly(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> packages/core/src/ppu.rs:217:13 [INFO] [stdout] | [INFO] [stdout] 217 | _ => {} [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> packages/core/src/ppu.rs:217:13 [INFO] [stdout] | [INFO] [stdout] 156 | PPUMode::HBlank => { [INFO] [stdout] | --------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 180 | PPUMode::VBlank => { [INFO] [stdout] | --------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 194 | PPUMode::OAMScan => { [INFO] [stdout] | ---------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 202 | PPUMode::Drawing => { [INFO] [stdout] | ---------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 217 | _ => {} [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address` [INFO] [stdout] --> packages/core/src/ppu.rs:287:35 [INFO] [stdout] | [INFO] [stdout] 287 | ... Some((address, data0, data1)) => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Registers` is more private than the item `CpuContext::registers` [INFO] [stdout] --> packages/core/src/cpu.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 184 | pub registers: Registers, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ field `CpuContext::registers` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Registers` is only usable at visibility `pub(self)` [INFO] [stdout] --> packages/core/src/cpu.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | struct Registers { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CARTRIDGE_TYPE` is never used [INFO] [stdout] --> packages/core/src/cartridge.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | static CARTRIDGE_TYPE: [&'static str; 256] = array!["Unknown"; 256; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cartridge_type_name` is never used [INFO] [stdout] --> packages/core/src/cartridge.rs:34:4 [INFO] [stdout] | [INFO] [stdout] 34 | fn cartridge_type_name(header: &RomHeader) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `stepping` is never read [INFO] [stdout] --> packages/core/src/cpu.rs:187:9 [INFO] [stdout] | [INFO] [stdout] 183 | pub struct CpuContext { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 187 | pub stepping: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Emu` is never constructed [INFO] [stdout] --> packages/core/src/emu.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Emu { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `F` and `PC` are never constructed [INFO] [stdout] --> packages/core/src/instruction.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum Register { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 13 | A, [INFO] [stdout] 14 | F, [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 26 | PC, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `Register` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `create` is never used [INFO] [stdout] --> packages/core/src/io.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl Serial { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 10 | pub fn create() -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OAMEntry` is never constructed [INFO] [stdout] --> packages/core/src/ppu.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub struct OAMEntry { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `bg_priority` are never used [INFO] [stdout] --> packages/core/src/ppu.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 48 | impl OAMEntry { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 49 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | fn bg_priority(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `debug` is never read [INFO] [stdout] --> packages/core/src/ppu.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 68 | pub struct PPU { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 82 | debug: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_enabled`, `get_obj_size`, `is_obj_enable`, and `is_lyc_equals_ly` are never used [INFO] [stdout] --> packages/core/src/ppu.rs:538:12 [INFO] [stdout] | [INFO] [stdout] 514 | impl LCD { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 538 | pub fn is_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 583 | pub fn get_obj_size(&self) -> (u8, u8) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 592 | pub fn is_obj_enable(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 638 | pub fn is_lyc_equals_ly(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `InterruptKind` [INFO] [stdout] --> packages/core/src/cpu.rs:4:35 [INFO] [stdout] | [INFO] [stdout] 4 | interrupt::{InterruptContext, InterruptKind}, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `print_flag` [INFO] [stdout] --> packages/core/src/cpu.rs:315:22 [INFO] [stdout] | [INFO] [stdout] 315 | macro_rules! print_flag { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cell::RefCell` and `rc::Rc` [INFO] [stdout] --> packages/core/src/emu.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{cell::RefCell, rc::Rc}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IO`, `Serial`, `cartridge::Cartridge`, `ppu::PPU`, and `ram::RAM` [INFO] [stdout] --> packages/core/src/emu.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | cartridge::Cartridge, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 5 | cpu::CpuContext, [INFO] [stdout] 6 | io::{Serial, IO}, [INFO] [stdout] | ^^^^^^ ^^ [INFO] [stdout] 7 | ppu::PPU, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 8 | ram::RAM, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::RangeInclusive` [INFO] [stdout] --> packages/core/src/ppu.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::RangeInclusive; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cpu::BusModule` [INFO] [stdout] --> packages/core/src/timer.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{cpu::BusModule, interrupt::InterruptKind}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `InterruptKind` [INFO] [stdout] --> packages/core/src/cpu.rs:4:35 [INFO] [stdout] | [INFO] [stdout] 4 | interrupt::{InterruptContext, InterruptKind}, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `print_flag` [INFO] [stdout] --> packages/core/src/cpu.rs:315:22 [INFO] [stdout] | [INFO] [stdout] 315 | macro_rules! print_flag { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cell::RefCell` and `rc::Rc` [INFO] [stdout] --> packages/core/src/emu.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{cell::RefCell, rc::Rc}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IO`, `Serial`, `cartridge::Cartridge`, `ppu::PPU`, and `ram::RAM` [INFO] [stdout] --> packages/core/src/emu.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | cartridge::Cartridge, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 5 | cpu::CpuContext, [INFO] [stdout] 6 | io::{Serial, IO}, [INFO] [stdout] | ^^^^^^ ^^ [INFO] [stdout] 7 | ppu::PPU, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 8 | ram::RAM, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::RangeInclusive` [INFO] [stdout] --> packages/core/src/ppu.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::RangeInclusive; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cpu::BusModule` [INFO] [stdout] --> packages/core/src/timer.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{cpu::BusModule, interrupt::InterruptKind}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address` [INFO] [stdout] --> packages/core/src/cartridge.rs:205:25 [INFO] [stdout] | [INFO] [stdout] 205 | fn write(&mut self, address: u16, value: u8) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> packages/core/src/cartridge.rs:205:39 [INFO] [stdout] | [INFO] [stdout] 205 | fn write(&mut self, address: u16, value: u8) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> packages/core/src/cpu.rs:436:21 [INFO] [stdout] | [INFO] [stdout] 436 | _ => unreachable!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> packages/core/src/cpu.rs:436:21 [INFO] [stdout] | [INFO] [stdout] 428 | DataKind::D8(data) => { [INFO] [stdout] | ------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 432 | DataKind::D16(data) => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 436 | _ => unreachable!(), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> packages/core/src/cpu.rs:448:17 [INFO] [stdout] | [INFO] [stdout] 448 | _ => unreachable!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> packages/core/src/cpu.rs:448:17 [INFO] [stdout] | [INFO] [stdout] 440 | DataKind::D8(data) => { [INFO] [stdout] | ------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 444 | DataKind::D16(data) => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 448 | _ => unreachable!(), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> packages/core/src/ppu.rs:217:13 [INFO] [stdout] | [INFO] [stdout] 217 | _ => {} [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> packages/core/src/ppu.rs:217:13 [INFO] [stdout] | [INFO] [stdout] 156 | PPUMode::HBlank => { [INFO] [stdout] | --------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 180 | PPUMode::VBlank => { [INFO] [stdout] | --------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 194 | PPUMode::OAMScan => { [INFO] [stdout] | ---------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 202 | PPUMode::Drawing => { [INFO] [stdout] | ---------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 217 | _ => {} [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address` [INFO] [stdout] --> packages/core/src/ppu.rs:287:35 [INFO] [stdout] | [INFO] [stdout] 287 | ... Some((address, data0, data1)) => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> packages/core/src/main.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | let mut cartridge = load_cartridge(&filename)?; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Registers` is more private than the item `CpuContext::registers` [INFO] [stdout] --> packages/core/src/cpu.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 184 | pub registers: Registers, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ field `CpuContext::registers` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Registers` is only usable at visibility `pub(self)` [INFO] [stdout] --> packages/core/src/cpu.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | struct Registers { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CARTRIDGE_TYPE` is never used [INFO] [stdout] --> packages/core/src/cartridge.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | static CARTRIDGE_TYPE: [&'static str; 256] = array!["Unknown"; 256; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cartridge_type_name` is never used [INFO] [stdout] --> packages/core/src/cartridge.rs:34:4 [INFO] [stdout] | [INFO] [stdout] 34 | fn cartridge_type_name(header: &RomHeader) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `stepping` is never read [INFO] [stdout] --> packages/core/src/cpu.rs:187:9 [INFO] [stdout] | [INFO] [stdout] 183 | pub struct CpuContext { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 187 | pub stepping: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cpu` is never read [INFO] [stdout] --> packages/core/src/emu.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Emu { [INFO] [stdout] | --- field in this struct [INFO] [stdout] 12 | cpu: CpuContext, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `F` and `PC` are never constructed [INFO] [stdout] --> packages/core/src/instruction.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum Register { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 13 | A, [INFO] [stdout] 14 | F, [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 26 | PC, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `Register` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OAMEntry` is never constructed [INFO] [stdout] --> packages/core/src/ppu.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub struct OAMEntry { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `bg_priority` are never used [INFO] [stdout] --> packages/core/src/ppu.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 48 | impl OAMEntry { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 49 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | fn bg_priority(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `debug` is never read [INFO] [stdout] --> packages/core/src/ppu.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 68 | pub struct PPU { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 82 | debug: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_screen_writer` and `set_debug_screen_writer` are never used [INFO] [stdout] --> packages/core/src/ppu.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 85 | impl PPU { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn set_screen_writer(&mut self, writer: Box) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn set_debug_screen_writer(&mut self, writer: Box) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_enabled`, `get_obj_size`, `is_obj_enable`, and `is_lyc_equals_ly` are never used [INFO] [stdout] --> packages/core/src/ppu.rs:538:12 [INFO] [stdout] | [INFO] [stdout] 514 | impl LCD { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 538 | pub fn is_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 583 | pub fn get_obj_size(&self) -> (u8, u8) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 592 | pub fn is_obj_enable(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 638 | pub fn is_lyc_equals_ly(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address` [INFO] [stdout] --> packages/core/src/cartridge.rs:205:25 [INFO] [stdout] | [INFO] [stdout] 205 | fn write(&mut self, address: u16, value: u8) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> packages/core/src/cartridge.rs:205:39 [INFO] [stdout] | [INFO] [stdout] 205 | fn write(&mut self, address: u16, value: u8) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> packages/core/src/cpu.rs:436:21 [INFO] [stdout] | [INFO] [stdout] 436 | _ => unreachable!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> packages/core/src/cpu.rs:436:21 [INFO] [stdout] | [INFO] [stdout] 428 | DataKind::D8(data) => { [INFO] [stdout] | ------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 432 | DataKind::D16(data) => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 436 | _ => unreachable!(), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> packages/core/src/cpu.rs:448:17 [INFO] [stdout] | [INFO] [stdout] 448 | _ => unreachable!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> packages/core/src/cpu.rs:448:17 [INFO] [stdout] | [INFO] [stdout] 440 | DataKind::D8(data) => { [INFO] [stdout] | ------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 444 | DataKind::D16(data) => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 448 | _ => unreachable!(), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> packages/core/src/ppu.rs:217:13 [INFO] [stdout] | [INFO] [stdout] 217 | _ => {} [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> packages/core/src/ppu.rs:217:13 [INFO] [stdout] | [INFO] [stdout] 156 | PPUMode::HBlank => { [INFO] [stdout] | --------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 180 | PPUMode::VBlank => { [INFO] [stdout] | --------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 194 | PPUMode::OAMScan => { [INFO] [stdout] | ---------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 202 | PPUMode::Drawing => { [INFO] [stdout] | ---------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 217 | _ => {} [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address` [INFO] [stdout] --> packages/core/src/ppu.rs:287:35 [INFO] [stdout] | [INFO] [stdout] 287 | ... Some((address, data0, data1)) => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> packages/core/src/main.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | let mut cartridge = load_cartridge(&filename)?; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Registers` is more private than the item `CpuContext::registers` [INFO] [stdout] --> packages/core/src/cpu.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 184 | pub registers: Registers, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ field `CpuContext::registers` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Registers` is only usable at visibility `pub(self)` [INFO] [stdout] --> packages/core/src/cpu.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | struct Registers { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CARTRIDGE_TYPE` is never used [INFO] [stdout] --> packages/core/src/cartridge.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | static CARTRIDGE_TYPE: [&'static str; 256] = array!["Unknown"; 256; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cartridge_type_name` is never used [INFO] [stdout] --> packages/core/src/cartridge.rs:34:4 [INFO] [stdout] | [INFO] [stdout] 34 | fn cartridge_type_name(header: &RomHeader) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `stepping` is never read [INFO] [stdout] --> packages/core/src/cpu.rs:187:9 [INFO] [stdout] | [INFO] [stdout] 183 | pub struct CpuContext { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 187 | pub stepping: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cpu` is never read [INFO] [stdout] --> packages/core/src/emu.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Emu { [INFO] [stdout] | --- field in this struct [INFO] [stdout] 12 | cpu: CpuContext, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `F` and `PC` are never constructed [INFO] [stdout] --> packages/core/src/instruction.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum Register { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 13 | A, [INFO] [stdout] 14 | F, [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 26 | PC, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `Register` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OAMEntry` is never constructed [INFO] [stdout] --> packages/core/src/ppu.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub struct OAMEntry { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `bg_priority` are never used [INFO] [stdout] --> packages/core/src/ppu.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 48 | impl OAMEntry { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 49 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | fn bg_priority(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `debug` is never read [INFO] [stdout] --> packages/core/src/ppu.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 68 | pub struct PPU { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 82 | debug: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_screen_writer` and `set_debug_screen_writer` are never used [INFO] [stdout] --> packages/core/src/ppu.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 85 | impl PPU { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn set_screen_writer(&mut self, writer: Box) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn set_debug_screen_writer(&mut self, writer: Box) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_enabled`, `get_obj_size`, `is_obj_enable`, and `is_lyc_equals_ly` are never used [INFO] [stdout] --> packages/core/src/ppu.rs:538:12 [INFO] [stdout] | [INFO] [stdout] 514 | impl LCD { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 538 | pub fn is_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 583 | pub fn get_obj_size(&self) -> (u8, u8) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 592 | pub fn is_obj_enable(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 638 | pub fn is_lyc_equals_ly(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.56s [INFO] running `Command { std: "docker" "inspect" "9f1e05faee91db1b1154621c56e2c2b95aa4a1832a59357d80113706cdc3fac0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9f1e05faee91db1b1154621c56e2c2b95aa4a1832a59357d80113706cdc3fac0", kill_on_drop: false }` [INFO] [stdout] 9f1e05faee91db1b1154621c56e2c2b95aa4a1832a59357d80113706cdc3fac0