[INFO] cloning repository https://github.com/stianeklund/NES [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/stianeklund/NES" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstianeklund%2FNES", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstianeklund%2FNES'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e0a0b3ceef3faaa704226e5705c21a63ad483998 [INFO] checking stianeklund/NES against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstianeklund%2FNES" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/stianeklund/NES 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/stianeklund/NES [INFO] finished tweaking git repo https://github.com/stianeklund/NES [INFO] tweaked toml for git repo https://github.com/stianeklund/NES written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/stianeklund/NES 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] [stderr] Downloading crates ... [INFO] [stderr] Downloaded sdl2 v0.32.2 [INFO] [stderr] Downloaded flexi_logger v0.14.8 [INFO] [stderr] Downloaded sdl2-sys v0.32.6 [INFO] [stderr] Downloaded orbclient v0.3.27 [INFO] [stderr] Downloaded minifb v0.10.7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 8434310442aa06bc4207abf383dd15c5b8bdb5b8ec43351d42059caeb4189336 [INFO] running `Command { std: "docker" "start" "-a" "8434310442aa06bc4207abf383dd15c5b8bdb5b8ec43351d42059caeb4189336", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8434310442aa06bc4207abf383dd15c5b8bdb5b8ec43351d42059caeb4189336", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8434310442aa06bc4207abf383dd15c5b8bdb5b8ec43351d42059caeb4189336", kill_on_drop: false }` [INFO] [stdout] 8434310442aa06bc4207abf383dd15c5b8bdb5b8ec43351d42059caeb4189336 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 2f7a1b358207e23e99650565ef26ffa49ef38c517a74daf7df379572a5153209 [INFO] running `Command { std: "docker" "start" "-a" "2f7a1b358207e23e99650565ef26ffa49ef38c517a74daf7df379572a5153209", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.0.0 [INFO] [stderr] Compiling libc v0.2.69 [INFO] [stderr] Compiling memchr v2.3.3 [INFO] [stderr] Compiling pkg-config v0.3.17 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling cc v1.0.50 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Checking regex-syntax v0.6.17 [INFO] [stderr] Checking thread_local v1.0.1 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Checking lazy_static v0.2.11 [INFO] [stderr] Checking glob v0.3.0 [INFO] [stderr] Compiling num-traits v0.2.11 [INFO] [stderr] Compiling num-integer v0.1.42 [INFO] [stderr] Checking aho-corasick v0.7.10 [INFO] [stderr] Checking yansi v0.5.0 [INFO] [stderr] Compiling x11-dl v2.14.0 [INFO] [stderr] Compiling minifb v0.10.7 [INFO] [stderr] Checking time v0.1.43 [INFO] [stderr] Checking chrono v0.4.11 [INFO] [stderr] Checking regex v1.3.7 [INFO] [stderr] Checking flexi_logger v0.14.8 [INFO] [stderr] Checking nes v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `minifb` [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use minifb; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FrameBuffer` [INFO] [stdout] --> src/cpu.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::ppu::{FrameBuffer, Ppu}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error` and `warn` [INFO] [stdout] --> src/cpu.rs:7:18 [INFO] [stdout] | [INFO] [stdout] 7 | use log::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ExecutionContext` [INFO] [stdout] --> src/interconnect.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::cpu::{ExecutionContext, Registers}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ppu::Ppu` [INFO] [stdout] --> src/interconnect.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::ppu::Ppu; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Cartridge` and `RomHeader` [INFO] [stdout] --> src/memory.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::rom::{Cartridge, RomHeader}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UpperHex` [INFO] [stdout] --> src/memory.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fmt::{LowerHex, UpperHex}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::cpu::StatusRegister` [INFO] [stdout] --> src/opcode.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::cpu::StatusRegister; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Scale` [INFO] [stdout] --> src/ppu.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use minifb::{Scale, Window, WindowOptions}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Interconnect` [INFO] [stdout] --> src/ppu.rs:5:27 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::interconnect::{Interconnect, MemoryMapper}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `minifb` [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use minifb; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::memory::Ram` [INFO] [stdout] --> src/rom.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::memory::Ram; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/rom.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{Error, Result}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RangeTo` and `Range` [INFO] [stdout] --> src/rom.rs:7:16 [INFO] [stdout] | [INFO] [stdout] 7 | use std::ops::{Range, RangeTo}; [INFO] [stdout] | ^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FrameBuffer` [INFO] [stdout] --> src/cpu.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::ppu::{FrameBuffer, Ppu}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `LogTarget` and `opt_format` [INFO] [stdout] --> src/main.rs:17:36 [INFO] [stdout] | [INFO] [stdout] 17 | use flexi_logger::{default_format, opt_format, LogTarget, Logger}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Interconnect` [INFO] [stdout] --> src/main.rs:18:20 [INFO] [stdout] | [INFO] [stdout] 18 | use interconnect::{Interconnect, MemoryMapper}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error` and `warn` [INFO] [stdout] --> src/cpu.rs:7:18 [INFO] [stdout] | [INFO] [stdout] 7 | use log::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug`, `error`, and `info` [INFO] [stdout] --> src/main.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | use log::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> src/main.rs:21:21 [INFO] [stdout] | [INFO] [stdout] 21 | use std::io::{self, Read}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ExecutionContext` [INFO] [stdout] --> src/interconnect.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::cpu::{ExecutionContext, Registers}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ppu::Ppu` [INFO] [stdout] --> src/interconnect.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::ppu::Ppu; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Cartridge` and `RomHeader` [INFO] [stdout] --> src/memory.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::rom::{Cartridge, RomHeader}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `UpperHex` [INFO] [stdout] --> src/memory.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fmt::{LowerHex, UpperHex}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::cpu::StatusRegister` [INFO] [stdout] --> src/opcode.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::cpu::StatusRegister; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Scale` [INFO] [stdout] --> src/ppu.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use minifb::{Scale, Window, WindowOptions}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Interconnect` [INFO] [stdout] --> src/ppu.rs:5:27 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::interconnect::{Interconnect, MemoryMapper}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::memory::Ram` [INFO] [stdout] --> src/rom.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::memory::Ram; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Error` [INFO] [stdout] --> src/rom.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{Error, Result}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RangeTo` and `Range` [INFO] [stdout] --> src/rom.rs:7:16 [INFO] [stdout] | [INFO] [stdout] 7 | use std::ops::{Range, RangeTo}; [INFO] [stdout] | ^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `LogTarget` and `opt_format` [INFO] [stdout] --> src/main.rs:17:36 [INFO] [stdout] | [INFO] [stdout] 17 | use flexi_logger::{default_format, opt_format, LogTarget, Logger}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Interconnect` [INFO] [stdout] --> src/main.rs:18:20 [INFO] [stdout] | [INFO] [stdout] 18 | use interconnect::{Interconnect, MemoryMapper}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug`, `error`, and `info` [INFO] [stdout] --> src/main.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | use log::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> src/main.rs:21:21 [INFO] [stdout] | [INFO] [stdout] 21 | use std::io::{self, Read}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/opcode.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 60 | 0x64 => "*NOP", [INFO] [stdout] | ---- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 121 | 0x64 => "DOP", [INFO] [stdout] | ^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/opcode.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 60 | 0x64 => "*NOP", [INFO] [stdout] | ---- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 121 | 0x64 => "DOP", [INFO] [stdout] | ^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ppu.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | let mut window = Window::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/ppu.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | let mut window = Window::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: field `mem` is never read [INFO] [stdout] --> src/apu.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Apu { [INFO] [stdout] | --- field in this struct [INFO] [stdout] 8 | pub mem: Vec, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Apu` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `status` and `cycles` are never read [INFO] [stdout] --> src/apu.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct Registers { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 21 | status: u8, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 22 | frame_counter: u8, [INFO] [stdout] 23 | cycles: u8, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Registers` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `mem` is never read [INFO] [stdout] --> src/apu.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Apu { [INFO] [stdout] | --- field in this struct [INFO] [stdout] 8 | pub mem: Vec, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Apu` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `status` and `cycles` are never read [INFO] [stdout] --> src/apu.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct Registers { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 21 | status: u8, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 22 | frame_counter: u8, [INFO] [stdout] 23 | cycles: u8, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Registers` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `imm16`, `brk`, `cli`, `hlt`, and `sloa` are never used [INFO] [stdout] --> src/cpu.rs:217:8 [INFO] [stdout] | [INFO] [stdout] 164 | impl ExecutionContext { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 217 | fn imm16(&self) -> AddressMode { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 659 | fn brk(&mut self) -> AddressMode { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 692 | fn cli(&mut self, mode: AddressMode) -> AddressMode { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 773 | fn hlt(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 943 | fn sloa(&mut self, value: AddressMode) -> AddressMode { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `byte`, `address`, and `lookup` are never read [INFO] [stdout] --> src/interconnect.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct AddressMatch { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 18 | byte: u8, [INFO] [stdout] | ^^^^ [INFO] [stdout] 19 | address: u16, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 20 | lookup: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `imm16`, `brk`, `cli`, `hlt`, and `sloa` are never used [INFO] [stdout] --> src/cpu.rs:217:8 [INFO] [stdout] | [INFO] [stdout] 164 | impl ExecutionContext { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 217 | fn imm16(&self) -> AddressMode { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 659 | fn brk(&mut self) -> AddressMode { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 692 | fn cli(&mut self, mode: AddressMode) -> AddressMode { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 773 | fn hlt(&self) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 943 | fn sloa(&mut self, value: AddressMode) -> AddressMode { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Interconnect` is never constructed [INFO] [stdout] --> src/interconnect.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct Interconnect { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `byte`, `address`, and `lookup` are never read [INFO] [stdout] --> src/interconnect.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct AddressMatch { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 18 | byte: u8, [INFO] [stdout] | ^^^^ [INFO] [stdout] 19 | address: u16, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 20 | lookup: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `default` is never used [INFO] [stdout] --> src/interconnect.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 58 | impl Interconnect { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 59 | pub fn default() -> Box { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Interconnect` is never constructed [INFO] [stdout] --> src/interconnect.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct Interconnect { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `A`, `X`, and `Y` are never constructed [INFO] [stdout] --> src/opcode.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum Register { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 21 | A, [INFO] [stdout] | ^ [INFO] [stdout] 22 | X, [INFO] [stdout] | ^ [INFO] [stdout] 23 | Y, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `Register` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `default` is never used [INFO] [stdout] --> src/interconnect.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 58 | impl Interconnect { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 59 | pub fn default() -> Box { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `A`, `X`, and `Y` are never constructed [INFO] [stdout] --> src/opcode.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum Register { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 21 | A, [INFO] [stdout] | ^ [INFO] [stdout] 22 | X, [INFO] [stdout] | ^ [INFO] [stdout] 23 | Y, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `Register` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `default` is never used [INFO] [stdout] --> src/opcode.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 42 | impl Instruction { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 43 | pub fn default() -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/ppu.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Ppu { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | pub addr: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] 14 | pub reg: Registers, [INFO] [stdout] 15 | pub cycle: u8, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 16 | pub scanline: u8, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 17 | pub nametable: Vec, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 18 | pub attribute_table: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | pub vblank: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 20 | pub buffer: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FrameBuffer` is never constructed [INFO] [stdout] --> src/ppu.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct FrameBuffer { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `default` is never used [INFO] [stdout] --> src/opcode.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 42 | impl Instruction { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 43 | pub fn default() -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `new` is never used [INFO] [stdout] --> src/ppu.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn new() -> FrameBuffer { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PpuDataBus` is never constructed [INFO] [stdout] --> src/ppu.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | pub struct PpuDataBus { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/ppu.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Ppu { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | pub addr: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] 14 | pub reg: Registers, [INFO] [stdout] 15 | pub cycle: u8, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 16 | pub scanline: u8, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 17 | pub nametable: Vec, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 18 | pub attribute_table: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | pub vblank: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 20 | pub buffer: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FrameBuffer` is never constructed [INFO] [stdout] --> src/ppu.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct FrameBuffer { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `new` is never used [INFO] [stdout] --> src/ppu.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn new() -> FrameBuffer { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/rom.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct RomHeader { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 31 | pub magic: [u8; 4], [INFO] [stdout] 32 | sram: u8, [INFO] [stdout] | ^^^^ [INFO] [stdout] 33 | pub prg_rom_page_size: usize, [INFO] [stdout] 34 | pub chr_rom_page_size: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 35 | pub flags_6: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 36 | flags_7: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 37 | pub prg_ram_page_size: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 38 | pub chr_ram_page_size: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 39 | flags_9: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 40 | flags_10: u8, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 41 | pub zero: [u8; 5], [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RomHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PpuDataBus` is never constructed [INFO] [stdout] --> src/ppu.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | pub struct PpuDataBus { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `chr` and `rom` are never read [INFO] [stdout] --> src/rom.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 100 | pub struct Cartridge { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 103 | pub chr: Vec, // Copy of the games pattern table ROM or RAM for save states. [INFO] [stdout] | ^^^ [INFO] [stdout] 104 | pub rom: Vec, // Temporary copy of ROM contents [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Cartridge` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `mask_addr`, `retrieve_mapper_id`, and `read_rom` are never used [INFO] [stdout] --> src/rom.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 108 | impl Cartridge { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 118 | fn mask_addr(&self, addr: u16) -> u16 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn retrieve_mapper_id(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | pub fn read_rom(&mut self, file: &str) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/rom.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct RomHeader { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 31 | pub magic: [u8; 4], [INFO] [stdout] 32 | sram: u8, [INFO] [stdout] | ^^^^ [INFO] [stdout] 33 | pub prg_rom_page_size: usize, [INFO] [stdout] 34 | pub chr_rom_page_size: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 35 | pub flags_6: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 36 | flags_7: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 37 | pub prg_ram_page_size: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 38 | pub chr_ram_page_size: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 39 | flags_9: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 40 | flags_10: u8, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 41 | pub zero: [u8; 5], [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RomHeader` 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 `chr` and `rom` are never read [INFO] [stdout] --> src/rom.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 100 | pub struct Cartridge { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 103 | pub chr: Vec, // Copy of the games pattern table ROM or RAM for save states. [INFO] [stdout] | ^^^ [INFO] [stdout] 104 | pub rom: Vec, // Temporary copy of ROM contents [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Cartridge` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `mask_addr`, `retrieve_mapper_id`, and `read_rom` are never used [INFO] [stdout] --> src/rom.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 108 | impl Cartridge { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 118 | fn mask_addr(&self, addr: u16) -> u16 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn retrieve_mapper_id(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | pub fn read_rom(&mut self, file: &str) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ppu.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | / writeln!( [INFO] [stdout] 137 | | f, [INFO] [stdout] 138 | | "{}\t{}\t{}\t{}\t{}\t{}{}", [INFO] [stdout] 139 | | "CTRL", "MASK", "OAM", "DATA", "SCROLL", "ADDR\t", "DMA\t" [INFO] [stdout] 140 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/ppu.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | / writeln!( [INFO] [stdout] 137 | | f, [INFO] [stdout] 138 | | "{}\t{}\t{}\t{}\t{}\t{}{}", [INFO] [stdout] 139 | | "CTRL", "MASK", "OAM", "DATA", "SCROLL", "ADDR\t", "DMA\t" [INFO] [stdout] 140 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 35 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 35 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.97s [INFO] running `Command { std: "docker" "inspect" "2f7a1b358207e23e99650565ef26ffa49ef38c517a74daf7df379572a5153209", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2f7a1b358207e23e99650565ef26ffa49ef38c517a74daf7df379572a5153209", kill_on_drop: false }` [INFO] [stdout] 2f7a1b358207e23e99650565ef26ffa49ef38c517a74daf7df379572a5153209