[INFO] cloning repository https://github.com/coolq1000/rgb
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/coolq1000/rgb" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcoolq1000%2Frgb", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcoolq1000%2Frgb'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 395aaf42c6b1e9c24c849b5155648ecda70f7491
[INFO] checking coolq1000/rgb against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcoolq1000%2Frgb" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/coolq1000/rgb
[INFO] finished tweaking git repo https://github.com/coolq1000/rgb
[INFO] tweaked toml for git repo https://github.com/coolq1000/rgb written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/coolq1000/rgb on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/coolq1000/rgb 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded proc-macro2 v1.0.63
[INFO] [stderr]   Downloaded simd-adler32 v0.3.5
[INFO] [stderr]   Downloaded thiserror-impl v1.0.41
[INFO] [stderr]   Downloaded coreaudio-sys v0.2.13
[INFO] [stderr]   Downloaded thiserror v1.0.41
[INFO] [stderr]   Downloaded bitmatch v0.1.1
[INFO] [stderr]   Downloaded profiling v1.0.8
[INFO] [stderr]   Downloaded boolean_expression v0.3.11
[INFO] [stderr]   Downloaded ultraviolet v0.9.1
[INFO] [stderr]   Downloaded wgpu-types v0.16.0
[INFO] [stderr]   Downloaded toml_edit v0.19.11
[INFO] [stderr]   Downloaded safe_arch v0.7.0
[INFO] [stderr]   Downloaded xml-rs v0.8.15
[INFO] [stderr]   Downloaded wide v0.7.10
[INFO] [stderr]   Downloaded glow v0.12.2
[INFO] [stderr]   Downloaded wgpu v0.16.1
[INFO] [stderr]   Downloaded winnow v0.4.7
[INFO] [stderr]   Downloaded android-activity v0.4.2
[INFO] [stderr]   Downloaded wgpu-hal v0.16.1
[INFO] [stderr]   Downloaded syn v2.0.23
[INFO] [stderr]   Downloaded naga v0.12.2
[INFO] [stderr]   Downloaded orbclient v0.3.45
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 48030c7cb61740cb8a5ce3bd8c533f1f58cfd40e908b68e1a9f7dc5f1835303c
[INFO] running `Command { std: "docker" "start" "-a" "48030c7cb61740cb8a5ce3bd8c533f1f58cfd40e908b68e1a9f7dc5f1835303c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "48030c7cb61740cb8a5ce3bd8c533f1f58cfd40e908b68e1a9f7dc5f1835303c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "48030c7cb61740cb8a5ce3bd8c533f1f58cfd40e908b68e1a9f7dc5f1835303c", kill_on_drop: false }`
[INFO] [stdout] 48030c7cb61740cb8a5ce3bd8c533f1f58cfd40e908b68e1a9f7dc5f1835303c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e59e8e22c83a580e3d63334b6945acff14f0028f4f41775f33378a7d7cc2cc61
[INFO] running `Command { std: "docker" "start" "-a" "e59e8e22c83a580e3d63334b6945acff14f0028f4f41775f33378a7d7cc2cc61", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.146
[INFO] [stderr]    Compiling proc-macro2 v1.0.63
[INFO] [stderr]    Compiling pkg-config v0.3.27
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]     Checking smallvec v1.10.0
[INFO] [stderr]     Checking libloading v0.8.0
[INFO] [stderr]    Compiling xml-rs v0.8.15
[INFO] [stderr]    Compiling thiserror v1.0.41
[INFO] [stderr]     Checking log v0.4.19
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]     Checking bytemuck v1.13.1
[INFO] [stderr]     Checking arrayvec v0.7.4
[INFO] [stderr]     Checking simd-adler32 v0.3.5
[INFO] [stderr]     Checking termcolor v1.2.0
[INFO] [stderr]     Checking lock_api v0.4.10
[INFO] [stderr]    Compiling slotmap v1.0.6
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]     Checking libloading v0.7.4
[INFO] [stderr]     Checking downcast-rs v1.2.0
[INFO] [stderr]    Compiling khronos-egl v4.1.0
[INFO] [stderr]     Checking miniz_oxide v0.7.1
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]     Checking gpu-alloc-types v0.2.0
[INFO] [stderr]     Checking gpu-descriptor-types v0.1.1
[INFO] [stderr]    Compiling io-lifetimes v1.0.11
[INFO] [stderr]     Checking hexf-parse v0.2.1
[INFO] [stderr]     Checking raw-window-handle v0.5.2
[INFO] [stderr]     Checking bitflags v2.3.3
[INFO] [stderr]     Checking unicode-xid v0.2.4
[INFO] [stderr]     Checking gpu-alloc v0.5.4
[INFO] [stderr]     Checking flate2 v1.0.26
[INFO] [stderr]     Checking xcursor v0.3.4
[INFO] [stderr]     Checking ash v0.37.3+1.3.251
[INFO] [stderr]     Checking fdeflate v0.3.0
[INFO] [stderr]     Checking wgpu-types v0.16.0
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling smithay-client-toolkit v0.16.0
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]     Checking renderdoc-sys v1.0.0
[INFO] [stderr]    Compiling rustix v0.37.20
[INFO] [stderr]     Checking profiling v1.0.8
[INFO] [stderr]     Checking glow v0.12.2
[INFO] [stderr]     Checking ttf-parser v0.19.1
[INFO] [stderr]     Checking arrayref v0.3.7
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]     Checking tiny-skia-path v0.8.4
[INFO] [stderr]     Checking safe_arch v0.7.0
[INFO] [stderr]     Checking png v0.17.9
[INFO] [stderr]    Compiling either v1.8.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.8
[INFO] [stderr]    Compiling itertools v0.9.0
[INFO] [stderr]     Checking regex-syntax v0.7.2
[INFO] [stderr]    Compiling cpal v0.15.2
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]     Checking pollster v0.3.0
[INFO] [stderr]     Checking wide v0.7.10
[INFO] [stderr]    Compiling quote v1.0.29
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling syn v2.0.23
[INFO] [stderr]     Checking spirv v0.2.0+1.5.4
[INFO] [stderr]     Checking getrandom v0.2.10
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]     Checking parking_lot_core v0.9.8
[INFO] [stderr]     Checking nix v0.25.1
[INFO] [stderr]     Checking ahash v0.7.6
[INFO] [stderr]     Checking memmap2 v0.5.10
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking tiny-skia v0.8.4
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking ultraviolet v0.9.1
[INFO] [stderr]     Checking owned_ttf_parser v0.19.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling boolean_expression v0.3.11
[INFO] [stderr]     Checking regex v1.8.4
[INFO] [stderr]     Checking ab_glyph v0.2.21
[INFO] [stderr]     Checking mio v0.8.8
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking indexmap v1.9.3
[INFO] [stderr]     Checking gpu-descriptor v0.2.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.41
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]    Compiling winit v0.28.6
[INFO] [stderr]     Checking is-terminal v0.4.7
[INFO] [stderr]     Checking wayland-commons v0.29.5
[INFO] [stderr]     Checking alsa v0.7.1
[INFO] [stderr]     Checking env_logger v0.10.0
[INFO] [stderr]     Checking naga v0.12.2
[INFO] [stderr]     Checking calloop v0.10.6
[INFO] [stderr]     Checking wayland-cursor v0.29.5
[INFO] [stderr]    Compiling bitmatch v0.1.1
[INFO] [stderr]     Checking wgpu-hal v0.16.1
[INFO] [stderr]     Checking wgpu-core v0.16.1
[INFO] [stderr]     Checking wgpu v0.16.1
[INFO] [stderr]     Checking pixels v0.13.0
[INFO] [stderr]     Checking sctk-adwaita v0.5.4
[INFO] [stderr]     Checking gameboy v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `rand::random`
[INFO] [stdout]  --> src/audio.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::random;
[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: `TryRecvError`
[INFO] [stdout]  --> src/audio.rs:7:40
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::mpsc::{channel, Sender, TryRecvError};
[INFO] [stdout]   |                                        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/audio.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Bus`
[INFO] [stdout]  --> src/io/apu/mod.rs:5:37
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::{map::apu_io::WAVE_SIZE, Bus};
[INFO] [stdout]   |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `channel::Channel`
[INFO] [stdout]  --> src/io/apu/sweep.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{channel::Channel, duty::Duty, timer::Timer};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Bus` and `map`
[INFO] [stdout]  --> src/io/apu/wave.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::io::{map, Bus};
[INFO] [stdout]   |                 ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sync::Mutex`
[INFO] [stdout]  --> src/main.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::{path::Path, sync::Mutex};
[INFO] [stdout]   |                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DeviceTrait`, `HostTrait`, and `StreamTrait`
[INFO] [stdout]   --> src/main.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 | use cpal::traits::{DeviceTrait, HostTrait, StreamTrait};
[INFO] [stdout]    |                    ^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `apu`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     apu,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::random`
[INFO] [stdout]  --> src/audio.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::random;
[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: `TryRecvError`
[INFO] [stdout]  --> src/audio.rs:7:40
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::mpsc::{channel, Sender, TryRecvError};
[INFO] [stdout]   |                                        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/audio.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Bus`
[INFO] [stdout]  --> src/io/apu/mod.rs:5:37
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::{map::apu_io::WAVE_SIZE, Bus};
[INFO] [stdout]   |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `channel::Channel`
[INFO] [stdout]  --> src/io/apu/sweep.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{channel::Channel, duty::Duty, timer::Timer};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Bus` and `map`
[INFO] [stdout]  --> src/io/apu/wave.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::io::{map, Bus};
[INFO] [stdout]   |                 ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sync::Mutex`
[INFO] [stdout]  --> src/main.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::{path::Path, sync::Mutex};
[INFO] [stdout]   |                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DeviceTrait`, `HostTrait`, and `StreamTrait`
[INFO] [stdout]   --> src/main.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 | use cpal::traits::{DeviceTrait, HostTrait, StreamTrait};
[INFO] [stdout]    |                    ^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `apu`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     apu,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/audio.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let mut sample_buffer: Arc<Mutex<Vec<f32>>> = Arc::new(Mutex::new(Vec::new()));
[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: variable does not need to be mutable
[INFO] [stdout]   --> src/audio.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let mut other_buffer = sample_buffer.clone();
[INFO] [stdout]    |         ----^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sample` is never read
[INFO] [stdout]   --> src/audio.rs:69:42
[INFO] [stdout]    |
[INFO] [stdout] 69 |                         let mut sample = None;
[INFO] [stdout]    |                                          ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/audio.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let mut sample_buffer: Arc<Mutex<Vec<f32>>> = Arc::new(Mutex::new(Vec::new()));
[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: variable does not need to be mutable
[INFO] [stdout]   --> src/audio.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let mut other_buffer = sample_buffer.clone();
[INFO] [stdout]    |         ----^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sample` is never read
[INFO] [stdout]   --> src/audio.rs:69:42
[INFO] [stdout]    |
[INFO] [stdout] 69 |                         let mut sample = None;
[INFO] [stdout]    |                                          ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `priority`
[INFO] [stdout]    --> src/io/ppu/mod.rs:258:25
[INFO] [stdout]     |
[INFO] [stdout] 258 |                     let priority = (sprite_tile_attributes & 0x80) > 0;
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_priority`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]    --> src/main.rs:108:17
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 device_id,
[INFO] [stdout]     |                 ^^^^^^^^^ help: try ignoring the field: `device_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_synthetic`
[INFO] [stdout]    --> src/main.rs:110:17
[INFO] [stdout]     |
[INFO] [stdout] 110 |                 is_synthetic,
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: try ignoring the field: `is_synthetic: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `host` is never read
[INFO] [stdout]   --> src/audio.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Audio {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 12 |     host: Host,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Sample` is never constructed
[INFO] [stdout]   --> src/audio.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum AudioPacket {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 18 |     Sample(f32),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]  --> src/cpu/disasm.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Disasm(pub &'static str, pub usize);
[INFO] [stdout]   |            ------                   ^^^^^^^^^
[INFO] [stdout]   |            |
[INFO] [stdout]   |            field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout]   = note: `Disasm` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SERIAL` is never used
[INFO] [stdout]  --> src/cpu/interrupt.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub const SERIAL: u16 = 0x58;
[INFO] [stdout]   |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `JOYPAD` is never used
[INFO] [stdout]  --> src/cpu/interrupt.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub const JOYPAD: u16 = 0x60;
[INFO] [stdout]   |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNELS` is never used
[INFO] [stdout]   --> src/io/apu/mod.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const CHANNELS: usize = 2;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LATENCY` is never used
[INFO] [stdout]   --> src/io/apu/mod.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const LATENCY: usize = 16;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/io/apu/mod.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct Apu {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub nr20: u8, // channel 2
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 44 |     pub nr21: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 45 |     pub nr22: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 46 |     pub nr23: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 47 |     pub nr24: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 48 |
[INFO] [stdout] 49 |     pub nr30: u8, // channel 3
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 50 |     pub nr31: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 51 |     pub nr32: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 52 |     pub nr33: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 53 |     pub nr34: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 54 |
[INFO] [stdout] 55 |     pub nr40: u8, // channel 4
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 56 |     pub nr41: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 57 |     pub nr42: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 58 |     pub nr43: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 59 |     pub nr44: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `ch2_trigger`, `ch3_trigger`, and `ch4_trigger` are never used
[INFO] [stdout]    --> src/io/apu/mod.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout]  89 | impl Apu {
[INFO] [stdout]     | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn ch2_trigger(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     pub fn ch3_trigger(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub fn ch4_trigger(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `shift` is never read
[INFO] [stdout]  --> src/io/apu/noise.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Noise {
[INFO] [stdout]   |            ----- field in this struct
[INFO] [stdout] 5 |     pub timer: Timer,
[INFO] [stdout] 6 |     shift: u8,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/io/apu/timer.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl Timer {
[INFO] [stdout]   | ---------- associated function in this implementation
[INFO] [stdout] 8 |     pub fn new() -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `frequency` is never read
[INFO] [stdout]  --> src/io/apu/wave.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Wave {
[INFO] [stdout]   |            ---- field in this struct
[INFO] [stdout] 7 |     pub timer: Timer,
[INFO] [stdout] 8 |     frequency: u16,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `save_file` is never read
[INFO] [stdout]   --> src/io/cartridge/mod.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct Cartridge {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     save_file: File,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rom_banks` is never read
[INFO] [stdout]   --> src/io/cartridge/mbc.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Mbc {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     rom_banks: u8,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TITLE` is never used
[INFO] [stdout]   --> src/io/cartridge/mod.rs:21:15
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub const TITLE: usize = 0x134;
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROM_SIZE` is never used
[INFO] [stdout]   --> src/io/cartridge/mod.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub const ROM_SIZE: usize = 0x148;
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RAM_SIZE` is never used
[INFO] [stdout]   --> src/io/cartridge/mod.rs:24:15
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub const RAM_SIZE: usize = 0x149;
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_pixel` is never used
[INFO] [stdout]    --> src/io/ppu/mod.rs:187:8
[INFO] [stdout]     |
[INFO] [stdout]  79 | impl Ppu {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 187 |     fn get_pixel(&self, x: u32, y: u32) -> Colour {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROM_SIZE` is never used
[INFO] [stdout]   --> src/io/mod.rs:26:15
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub const ROM_SIZE: usize = 0x8000;
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `XRAM_SIZE` is never used
[INFO] [stdout]   --> src/io/mod.rs:34:15
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub const XRAM_SIZE: usize = 0x2000;
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ECHO_SIZE` is never used
[INFO] [stdout]   --> src/io/mod.rs:42:15
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub const ECHO_SIZE: usize = 0x1e00;
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR21_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:69:19
[INFO] [stdout]    |
[INFO] [stdout] 69 |         pub const NR21_ADDR: u16 = 0xff16;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR22_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:70:19
[INFO] [stdout]    |
[INFO] [stdout] 70 |         pub const NR22_ADDR: u16 = 0xff17;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR23_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:71:19
[INFO] [stdout]    |
[INFO] [stdout] 71 |         pub const NR23_ADDR: u16 = 0xff18;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR24_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:72:19
[INFO] [stdout]    |
[INFO] [stdout] 72 |         pub const NR24_ADDR: u16 = 0xff19;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR30_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:73:19
[INFO] [stdout]    |
[INFO] [stdout] 73 |         pub const NR30_ADDR: u16 = 0xff1A;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR31_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:74:19
[INFO] [stdout]    |
[INFO] [stdout] 74 |         pub const NR31_ADDR: u16 = 0xff1B;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR32_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:75:19
[INFO] [stdout]    |
[INFO] [stdout] 75 |         pub const NR32_ADDR: u16 = 0xff1C;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR33_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:76:19
[INFO] [stdout]    |
[INFO] [stdout] 76 |         pub const NR33_ADDR: u16 = 0xff1D;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR34_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:77:19
[INFO] [stdout]    |
[INFO] [stdout] 77 |         pub const NR34_ADDR: u16 = 0xff1E;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR40_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:78:19
[INFO] [stdout]    |
[INFO] [stdout] 78 |         pub const NR40_ADDR: u16 = 0xff1F;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR41_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:79:19
[INFO] [stdout]    |
[INFO] [stdout] 79 |         pub const NR41_ADDR: u16 = 0xff20;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR42_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:80:19
[INFO] [stdout]    |
[INFO] [stdout] 80 |         pub const NR42_ADDR: u16 = 0xff21;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR43_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:81:19
[INFO] [stdout]    |
[INFO] [stdout] 81 |         pub const NR43_ADDR: u16 = 0xff22;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `priority`
[INFO] [stdout]    --> src/io/ppu/mod.rs:258:25
[INFO] [stdout]     |
[INFO] [stdout] 258 |                     let priority = (sprite_tile_attributes & 0x80) > 0;
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_priority`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR44_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:82:19
[INFO] [stdout]    |
[INFO] [stdout] 82 |         pub const NR44_ADDR: u16 = 0xff23;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]    --> src/main.rs:108:17
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 device_id,
[INFO] [stdout]     |                 ^^^^^^^^^ help: try ignoring the field: `device_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_synthetic`
[INFO] [stdout]    --> src/main.rs:110:17
[INFO] [stdout]     |
[INFO] [stdout] 110 |                 is_synthetic,
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: try ignoring the field: `is_synthetic: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `host` is never read
[INFO] [stdout]   --> src/audio.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Audio {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 12 |     host: Host,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Sample` is never constructed
[INFO] [stdout]   --> src/audio.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum AudioPacket {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 18 |     Sample(f32),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]  --> src/cpu/disasm.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Disasm(pub &'static str, pub usize);
[INFO] [stdout]   |            ------                   ^^^^^^^^^
[INFO] [stdout]   |            |
[INFO] [stdout]   |            field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout]   = note: `Disasm` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SERIAL` is never used
[INFO] [stdout]  --> src/cpu/interrupt.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 |     pub const SERIAL: u16 = 0x58;
[INFO] [stdout]   |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `JOYPAD` is never used
[INFO] [stdout]  --> src/cpu/interrupt.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub const JOYPAD: u16 = 0x60;
[INFO] [stdout]   |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNELS` is never used
[INFO] [stdout]   --> src/io/apu/mod.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const CHANNELS: usize = 2;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LATENCY` is never used
[INFO] [stdout]   --> src/io/apu/mod.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const LATENCY: usize = 16;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/io/apu/mod.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct Apu {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub nr20: u8, // channel 2
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 44 |     pub nr21: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 45 |     pub nr22: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 46 |     pub nr23: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 47 |     pub nr24: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 48 |
[INFO] [stdout] 49 |     pub nr30: u8, // channel 3
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 50 |     pub nr31: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 51 |     pub nr32: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 52 |     pub nr33: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 53 |     pub nr34: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 54 |
[INFO] [stdout] 55 |     pub nr40: u8, // channel 4
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 56 |     pub nr41: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 57 |     pub nr42: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 58 |     pub nr43: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 59 |     pub nr44: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `ch2_trigger`, `ch3_trigger`, and `ch4_trigger` are never used
[INFO] [stdout]    --> src/io/apu/mod.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout]  89 | impl Apu {
[INFO] [stdout]     | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn ch2_trigger(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     pub fn ch3_trigger(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub fn ch4_trigger(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `shift` is never read
[INFO] [stdout]  --> src/io/apu/noise.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Noise {
[INFO] [stdout]   |            ----- field in this struct
[INFO] [stdout] 5 |     pub timer: Timer,
[INFO] [stdout] 6 |     shift: u8,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/io/apu/timer.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl Timer {
[INFO] [stdout]   | ---------- associated function in this implementation
[INFO] [stdout] 8 |     pub fn new() -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `frequency` is never read
[INFO] [stdout]  --> src/io/apu/wave.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Wave {
[INFO] [stdout]   |            ---- field in this struct
[INFO] [stdout] 7 |     pub timer: Timer,
[INFO] [stdout] 8 |     frequency: u16,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `save_file` is never read
[INFO] [stdout]   --> src/io/cartridge/mod.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct Cartridge {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     save_file: File,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rom_banks` is never read
[INFO] [stdout]   --> src/io/cartridge/mbc.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Mbc {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     rom_banks: u8,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TITLE` is never used
[INFO] [stdout]   --> src/io/cartridge/mod.rs:21:15
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub const TITLE: usize = 0x134;
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROM_SIZE` is never used
[INFO] [stdout]   --> src/io/cartridge/mod.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub const ROM_SIZE: usize = 0x148;
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RAM_SIZE` is never used
[INFO] [stdout]   --> src/io/cartridge/mod.rs:24:15
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub const RAM_SIZE: usize = 0x149;
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_pixel` is never used
[INFO] [stdout]    --> src/io/ppu/mod.rs:187:8
[INFO] [stdout]     |
[INFO] [stdout]  79 | impl Ppu {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 187 |     fn get_pixel(&self, x: u32, y: u32) -> Colour {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROM_SIZE` is never used
[INFO] [stdout]   --> src/io/mod.rs:26:15
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub const ROM_SIZE: usize = 0x8000;
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `XRAM_SIZE` is never used
[INFO] [stdout]   --> src/io/mod.rs:34:15
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub const XRAM_SIZE: usize = 0x2000;
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ECHO_SIZE` is never used
[INFO] [stdout]   --> src/io/mod.rs:42:15
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub const ECHO_SIZE: usize = 0x1e00;
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR21_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:69:19
[INFO] [stdout]    |
[INFO] [stdout] 69 |         pub const NR21_ADDR: u16 = 0xff16;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR22_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:70:19
[INFO] [stdout]    |
[INFO] [stdout] 70 |         pub const NR22_ADDR: u16 = 0xff17;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR23_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:71:19
[INFO] [stdout]    |
[INFO] [stdout] 71 |         pub const NR23_ADDR: u16 = 0xff18;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR24_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:72:19
[INFO] [stdout]    |
[INFO] [stdout] 72 |         pub const NR24_ADDR: u16 = 0xff19;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR30_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:73:19
[INFO] [stdout]    |
[INFO] [stdout] 73 |         pub const NR30_ADDR: u16 = 0xff1A;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR31_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:74:19
[INFO] [stdout]    |
[INFO] [stdout] 74 |         pub const NR31_ADDR: u16 = 0xff1B;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR32_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:75:19
[INFO] [stdout]    |
[INFO] [stdout] 75 |         pub const NR32_ADDR: u16 = 0xff1C;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR33_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:76:19
[INFO] [stdout]    |
[INFO] [stdout] 76 |         pub const NR33_ADDR: u16 = 0xff1D;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR34_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:77:19
[INFO] [stdout]    |
[INFO] [stdout] 77 |         pub const NR34_ADDR: u16 = 0xff1E;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR40_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:78:19
[INFO] [stdout]    |
[INFO] [stdout] 78 |         pub const NR40_ADDR: u16 = 0xff1F;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR41_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:79:19
[INFO] [stdout]    |
[INFO] [stdout] 79 |         pub const NR41_ADDR: u16 = 0xff20;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR42_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:80:19
[INFO] [stdout]    |
[INFO] [stdout] 80 |         pub const NR42_ADDR: u16 = 0xff21;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR43_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:81:19
[INFO] [stdout]    |
[INFO] [stdout] 81 |         pub const NR43_ADDR: u16 = 0xff22;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NR44_ADDR` is never used
[INFO] [stdout]   --> src/io/mod.rs:82:19
[INFO] [stdout]    |
[INFO] [stdout] 82 |         pub const NR44_ADDR: u16 = 0xff23;
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 53.88s
[INFO] running `Command { std: "docker" "inspect" "e59e8e22c83a580e3d63334b6945acff14f0028f4f41775f33378a7d7cc2cc61", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e59e8e22c83a580e3d63334b6945acff14f0028f4f41775f33378a7d7cc2cc61", kill_on_drop: false }`
[INFO] [stdout] e59e8e22c83a580e3d63334b6945acff14f0028f4f41775f33378a7d7cc2cc61
