[INFO] cloning repository https://github.com/IronWill79/rusty-nesticle
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/IronWill79/rusty-nesticle" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIronWill79%2Frusty-nesticle", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIronWill79%2Frusty-nesticle'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8c2b4e632dee0b74883f108977d4dd241a1cff10
[INFO] checking IronWill79/rusty-nesticle against master#ab26b175979ee7b2cb3302dce204b99df96f7efb for pr-157696
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIronWill79%2Frusty-nesticle" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/IronWill79/rusty-nesticle
[INFO] finished tweaking git repo https://github.com/IronWill79/rusty-nesticle
[INFO] tweaked toml for git repo https://github.com/IronWill79/rusty-nesticle written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/IronWill79/rusty-nesticle on toolchain ab26b175979ee7b2cb3302dce204b99df96f7efb
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab26b175979ee7b2cb3302dce204b99df96f7efb" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/IronWill79/rusty-nesticle 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" "+ab26b175979ee7b2cb3302dce204b99df96f7efb" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded libmath v0.2.1
[INFO] [stderr]   Downloaded compact_str v0.8.0
[INFO] [stderr]   Downloaded simplerand v1.3.0
[INFO] [stderr]   Downloaded instability v0.3.2
[INFO] [stderr]   Downloaded fakeit v1.3.0
[INFO] [stderr]   Downloaded tracing-error v0.2.0
[INFO] [stderr]   Downloaded cc v1.1.30
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d516f2eaeac25b6ac3ae7ac6ae6c406ab96f64bf451f76aec799cff4c8af0098
[INFO] running `Command { std: "docker" "start" "d516f2eaeac25b6ac3ae7ac6ae6c406ab96f64bf451f76aec799cff4c8af0098", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d516f2eaeac25b6ac3ae7ac6ae6c406ab96f64bf451f76aec799cff4c8af0098" "/opt/rustwide/cargo-home/bin/cargo" "+ab26b175979ee7b2cb3302dce204b99df96f7efb" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d516f2eaeac25b6ac3ae7ac6ae6c406ab96f64bf451f76aec799cff4c8af0098", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d516f2eaeac25b6ac3ae7ac6ae6c406ab96f64bf451f76aec799cff4c8af0098" "/opt/rustwide/cargo-home/bin/cargo" "+ab26b175979ee7b2cb3302dce204b99df96f7efb" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling libc v0.2.159
[INFO] [stderr]    Compiling proc-macro2 v1.0.87
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]    Compiling rustix v0.38.37
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]    Compiling cc v1.1.30
[INFO] [stderr]     Checking foldhash v0.1.3
[INFO] [stderr]     Checking gimli v0.28.1
[INFO] [stderr]    Compiling eyre v0.6.12
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]     Checking castaway v0.2.3
[INFO] [stderr]     Checking rustc-demangle v0.1.24
[INFO] [stderr]     Checking indenter v0.3.3
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]     Checking hashbrown v0.15.0
[INFO] [stderr]     Checking owo-colors v3.5.0
[INFO] [stderr]     Checking miniz_oxide v0.7.4
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking compact_str v0.8.0
[INFO] [stderr]     Checking simplerand v1.3.0
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]     Checking object v0.32.2
[INFO] [stderr]     Checking nesticle-emu v0.0.1 (/opt/rustwide/workdir/nesticle-emu)
[INFO] [stderr]     Checking tracing-subscriber v0.3.18
[INFO] [stdout] warning: unused import: `crate::gpu::NUMBER_OF_PIXELS`
[INFO] [stdout]  --> nesticle-emu/src/cpu.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::gpu::NUMBER_OF_PIXELS;
[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 import: `crate::gpu::NUMBER_OF_PIXELS`
[INFO] [stdout]  --> nesticle-emu/src/cpu.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::gpu::NUMBER_OF_PIXELS;
[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 variable: `address`
[INFO] [stdout]   --> nesticle-emu/src/bus.rs:30:30
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn write_byte(&mut self, address: u16, byte: 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: `byte`
[INFO] [stdout]   --> nesticle-emu/src/bus.rs:30:44
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn write_byte(&mut self, address: u16, byte: u8) {
[INFO] [stdout]    |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> nesticle-emu/src/cpu.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let mut byte = self.bus.read_byte(self.pc);
[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: unused variable: `time_delta`
[INFO] [stdout]   --> nesticle-emu/src/cpu.rs:55:27
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn run(&mut self, time_delta: u32) -> usize {
[INFO] [stdout]    |                           ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]   --> nesticle-emu/src/gpu.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn read_byte(&self, address: u16) -> u8 {
[INFO] [stdout]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]   --> nesticle-emu/src/gpu.rs:34:30
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn write_byte(&mut self, address: u16, byte: u8) {
[INFO] [stdout]    |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `byte`
[INFO] [stdout]   --> nesticle-emu/src/gpu.rs:34:44
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn write_byte(&mut self, address: u16, byte: u8) {
[INFO] [stdout]    |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Tile` is more private than the item `GPU::tile_set`
[INFO] [stdout]   --> nesticle-emu/src/gpu.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub tile_set: [Tile; 384],
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^ field `GPU::tile_set` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `Tile` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> nesticle-emu/src/gpu.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Tile {}
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `memory` and `gpu` are never read
[INFO] [stdout]  --> nesticle-emu/src/bus.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Bus {
[INFO] [stdout]   |            --- fields in this struct
[INFO] [stdout] 8 |     pub memory: [u8; 0xffff],
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout] 9 |     pub gpu: GPU,
[INFO] [stdout]   |         ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Bus` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> nesticle-emu/src/cpu.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct Registers {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout]  8 |     pub a: u8,
[INFO] [stdout]    |         ^
[INFO] [stdout]  9 |     pub b: u8,
[INFO] [stdout]    |         ^
[INFO] [stdout] 10 |     pub c: u8,
[INFO] [stdout]    |         ^
[INFO] [stdout] 11 |     pub d: u8,
[INFO] [stdout]    |         ^
[INFO] [stdout] 12 |     pub e: u8,
[INFO] [stdout]    |         ^
[INFO] [stdout] 13 |     pub f: u8,
[INFO] [stdout]    |         ^
[INFO] [stdout] 14 |     pub h: u8,
[INFO] [stdout]    |         ^
[INFO] [stdout] 15 |     pub l: 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: fields `bus`, `registers`, and `sp` are never read
[INFO] [stdout]   --> nesticle-emu/src/cpu.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct CPU {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] 20 |     pub bus: Bus,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 21 |     pub pc: u16,
[INFO] [stdout] 22 |     pub registers: Registers,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 23 |     pub sp: u8,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CPU` 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 `step`, `execute`, `run`, and `pixel_buffer` are never used
[INFO] [stdout]   --> nesticle-emu/src/cpu.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl CPU {
[INFO] [stdout]    | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn step(&mut self) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn execute(&mut self, instruction: Instruction) -> u16 {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn run(&mut self, time_delta: u32) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn pixel_buffer(&mut self) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VRAM_BEGIN` is never used
[INFO] [stdout]  --> nesticle-emu/src/gpu.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const VRAM_BEGIN: usize = 0x8000;
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VRAM_END` is never used
[INFO] [stdout]  --> nesticle-emu/src/gpu.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const VRAM_END: usize = 0xffff;
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ONE_FRAME_IN_CYCLES` is never used
[INFO] [stdout]  --> nesticle-emu/src/gpu.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const ONE_FRAME_IN_CYCLES: usize = 320;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tile_set`, `video_ram`, and `canvas_buffer` are never read
[INFO] [stdout]   --> nesticle-emu/src/gpu.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct GPU {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] 14 |     pub tile_set: [Tile; 384],
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 15 |     pub video_ram: [u8; VRAM_SIZE],
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 16 |     pub canvas_buffer: [u8; NUMBER_OF_PIXELS],
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GPU` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Instruction` is never used
[INFO] [stdout]  --> nesticle-emu/src/instruction_set.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Instruction {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_byte` is never used
[INFO] [stdout]  --> nesticle-emu/src/instruction_set.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl Instruction {
[INFO] [stdout]   | ---------------- associated function in this implementation
[INFO] [stdout] 8 |     pub fn from_byte(byte: u8) -> Option<Instruction> {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ArithmeticTarget` is never used
[INFO] [stdout]   --> nesticle-emu/src/instruction_set.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum ArithmeticTarget {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `IncDecTarget` is never used
[INFO] [stdout]   --> nesticle-emu/src/instruction_set.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum IncDecTarget {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Memory` is never used
[INFO] [stdout]  --> nesticle-emu/src/memory.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait Memory {
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]   --> nesticle-emu/src/bus.rs:30:30
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn write_byte(&mut self, address: u16, byte: 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: `byte`
[INFO] [stdout]   --> nesticle-emu/src/bus.rs:30:44
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn write_byte(&mut self, address: u16, byte: u8) {
[INFO] [stdout]    |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> nesticle-emu/src/cpu.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let mut byte = self.bus.read_byte(self.pc);
[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: unused variable: `time_delta`
[INFO] [stdout]   --> nesticle-emu/src/cpu.rs:55:27
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn run(&mut self, time_delta: u32) -> usize {
[INFO] [stdout]    |                           ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]   --> nesticle-emu/src/gpu.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn read_byte(&self, address: u16) -> u8 {
[INFO] [stdout]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]   --> nesticle-emu/src/gpu.rs:34:30
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn write_byte(&mut self, address: u16, byte: u8) {
[INFO] [stdout]    |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `byte`
[INFO] [stdout]   --> nesticle-emu/src/gpu.rs:34:44
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn write_byte(&mut self, address: u16, byte: u8) {
[INFO] [stdout]    |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Tile` is more private than the item `GPU::tile_set`
[INFO] [stdout]   --> nesticle-emu/src/gpu.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub tile_set: [Tile; 384],
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^ field `GPU::tile_set` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `Tile` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> nesticle-emu/src/gpu.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Tile {}
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bus` is never constructed
[INFO] [stdout]  --> nesticle-emu/src/bus.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Bus {
[INFO] [stdout]   |            ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Registers` is never constructed
[INFO] [stdout]  --> nesticle-emu/src/cpu.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Registers {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CPU` is never constructed
[INFO] [stdout]   --> nesticle-emu/src/cpu.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct CPU {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `step`, `execute`, `run`, and `pixel_buffer` are never used
[INFO] [stdout]   --> nesticle-emu/src/cpu.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl CPU {
[INFO] [stdout]    | -------- associated items in this implementation
[INFO] [stdout] 27 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn step(&mut self) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn execute(&mut self, instruction: Instruction) -> u16 {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn run(&mut self, time_delta: u32) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn pixel_buffer(&mut self) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VRAM_SIZE` is never used
[INFO] [stdout]  --> nesticle-emu/src/gpu.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | const VRAM_SIZE: usize = 0x3fff;
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VRAM_BEGIN` is never used
[INFO] [stdout]  --> nesticle-emu/src/gpu.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const VRAM_BEGIN: usize = 0x8000;
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VRAM_END` is never used
[INFO] [stdout]  --> nesticle-emu/src/gpu.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const VRAM_END: usize = 0xffff;
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUMBER_OF_PIXELS` is never used
[INFO] [stdout]  --> nesticle-emu/src/gpu.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const NUMBER_OF_PIXELS: usize = 320 * 240;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ONE_FRAME_IN_CYCLES` is never used
[INFO] [stdout]  --> nesticle-emu/src/gpu.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const ONE_FRAME_IN_CYCLES: usize = 320;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tile` is never constructed
[INFO] [stdout]   --> nesticle-emu/src/gpu.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Tile {}
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GPU` is never constructed
[INFO] [stdout]   --> nesticle-emu/src/gpu.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct GPU {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Instruction` is never used
[INFO] [stdout]  --> nesticle-emu/src/instruction_set.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Instruction {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_byte` is never used
[INFO] [stdout]  --> nesticle-emu/src/instruction_set.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl Instruction {
[INFO] [stdout]   | ---------------- associated function in this implementation
[INFO] [stdout] 8 |     pub fn from_byte(byte: u8) -> Option<Instruction> {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ArithmeticTarget` is never used
[INFO] [stdout]   --> nesticle-emu/src/instruction_set.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum ArithmeticTarget {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `IncDecTarget` is never used
[INFO] [stdout]   --> nesticle-emu/src/instruction_set.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum IncDecTarget {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Memory` is never used
[INFO] [stdout]  --> nesticle-emu/src/memory.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait Memory {
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]    Compiling backtrace v0.3.71
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling syn v2.0.79
[INFO] [stderr]     Checking tracing-error v0.2.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking uuid v0.8.2
[INFO] [stderr]     Checking color-spantrace v0.2.1
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking addr2line v0.21.0
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking libmath v0.2.1
[INFO] [stderr]     Checking signal-hook-mio v0.2.4
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking fakeit v1.3.0
[INFO] [stderr]     Checking color-eyre v0.6.3
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling instability v0.3.2
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking ratatui v0.28.1
[INFO] [stderr]     Checking rusty-nesticle v0.1.0 (/opt/rustwide/workdir/rusty-nesticle)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.94s
[INFO] running `Command { std: "docker" "inspect" "d516f2eaeac25b6ac3ae7ac6ae6c406ab96f64bf451f76aec799cff4c8af0098", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d516f2eaeac25b6ac3ae7ac6ae6c406ab96f64bf451f76aec799cff4c8af0098", kill_on_drop: false }`
[INFO] [stdout] d516f2eaeac25b6ac3ae7ac6ae6c406ab96f64bf451f76aec799cff4c8af0098
