[INFO] cloning repository https://github.com/richwandell/IronNES
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/richwandell/IronNES" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frichwandell%2FIronNES", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frichwandell%2FIronNES'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3ac4f5dab5635185d9535e57dbda2383d1cff3b9
[INFO] checking richwandell/IronNES against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frichwandell%2FIronNES" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/richwandell/IronNES on toolchain 30f74ff0dc4d66debc8b50724c446f817e5f75f4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/richwandell/IronNES
[INFO] finished tweaking git repo https://github.com/richwandell/IronNES
[INFO] tweaked toml for git repo https://github.com/richwandell/IronNES written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/richwandell/IronNES 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" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[ERROR] this task or one of its parent failed!
[ERROR] no output for 300 seconds
[ERROR] note: run with `RUST_BACKTRACE=1` to display a backtrace.
[INFO] checking richwandell/IronNES against try#72eda894eb3548c7ba774079ce0afab42958d4ee for pr-121848-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frichwandell%2FIronNES" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/richwandell/IronNES on toolchain 72eda894eb3548c7ba774079ce0afab42958d4ee
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/richwandell/IronNES
[INFO] finished tweaking git repo https://github.com/richwandell/IronNES
[INFO] tweaked toml for git repo https://github.com/richwandell/IronNES written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/richwandell/IronNES 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" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pistoncore-glutin_window v0.67.2
[INFO] [stderr]   Downloaded pixel-canvas v0.2.2
[INFO] [stderr]   Downloaded piston2d-graphics v0.39.0
[INFO] [stderr]   Downloaded piston2d-opengl_graphics v0.76.0
[INFO] [stderr]   Downloaded piston-viewport v1.0.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 98df30107f507322d5debddc5bba9fc191cf0676212877448fb73858a3ff5014
[INFO] running `Command { std: "docker" "start" "-a" "98df30107f507322d5debddc5bba9fc191cf0676212877448fb73858a3ff5014", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "98df30107f507322d5debddc5bba9fc191cf0676212877448fb73858a3ff5014", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "98df30107f507322d5debddc5bba9fc191cf0676212877448fb73858a3ff5014", kill_on_drop: false }`
[INFO] [stdout] 98df30107f507322d5debddc5bba9fc191cf0676212877448fb73858a3ff5014
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8817cb891d1575d53da2e0ad839c48a1ad9f2fd57d1497409d14b462bbc927ba
[INFO] running `Command { std: "docker" "start" "-a" "8817cb891d1575d53da2e0ad839c48a1ad9f2fd57d1497409d14b462bbc927ba", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.112
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling xml-rs v0.8.4
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling proc-macro2 v1.0.36
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling pkg-config v0.3.24
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]     Checking downcast-rs v1.2.0
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]     Checking libloading v0.6.7
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]     Checking libloading v0.7.3
[INFO] [stderr]     Checking dlib v0.4.2
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling wayland-sys v0.28.6
[INFO] [stderr]    Compiling quote v1.0.14
[INFO] [stderr]     Checking smallvec v1.8.0
[INFO] [stderr]    Compiling wayland-scanner v0.28.6
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]     Checking walkdir v2.3.2
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking dlib v0.5.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.6
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling wayland-scanner v0.21.13
[INFO] [stderr]     Checking dirs-sys v0.3.6
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]     Checking nix v0.20.0
[INFO] [stderr]     Checking dirs v3.0.2
[INFO] [stderr]     Checking xdg v2.4.0
[INFO] [stderr]    Compiling x11-dl v2.19.1
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]     Checking ttf-parser v0.6.2
[INFO] [stderr]     Checking once_cell v1.9.0
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling cc v1.0.72
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling wayland-client v0.28.6
[INFO] [stderr]    Compiling nom v7.1.0
[INFO] [stderr]    Compiling nix v0.14.1
[INFO] [stderr]     Checking cty v0.2.2
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.5
[INFO] [stderr]     Checking scoped-tls v1.0.0
[INFO] [stderr]     Checking piston-float v1.0.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.6
[INFO] [stderr]     Checking raw-window-handle v0.4.2
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]     Checking owned_ttf_parser v0.6.0
[INFO] [stderr]     Checking rusttype v0.9.2
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]    Compiling syn v1.0.85
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling rayon-core v1.9.1
[INFO] [stderr]    Compiling nix v0.18.0
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]    Compiling wayland-client v0.21.13
[INFO] [stderr]     Checking raw-window-handle v0.3.4
[INFO] [stderr]     Checking piston-viewport v1.0.1
[INFO] [stderr]    Compiling wayland-protocols v0.28.6
[INFO] [stderr]     Checking ordered-float v1.1.1
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.7
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.5
[INFO] [stderr]     Checking stb_truetype v0.3.1
[INFO] [stderr]     Checking wayland-sys v0.21.13
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]    Compiling serde v1.0.133
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]     Checking percent-encoding v2.1.0
[INFO] [stderr]     Checking wayland-commons v0.28.6
[INFO] [stderr]    Compiling serde_derive v1.0.136
[INFO] [stderr]     Checking rusttype v0.8.3
[INFO] [stderr]     Checking xcursor v0.3.4
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]    Compiling wayland-protocols v0.21.13
[INFO] [stderr]     Checking crossbeam-channel v0.5.2
[INFO] [stderr]    Compiling parking_lot_core v0.6.2
[INFO] [stderr]     Checking wayland-commons v0.21.13
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]     Checking net2 v0.2.37
[INFO] [stderr]     Checking num_cpus v1.13.1
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling rayon v1.5.1
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]     Checking piston-graphics_api_version v1.0.1
[INFO] [stderr]     Checking slab v0.4.5
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking wayland-cursor v0.28.6
[INFO] [stderr]     Checking smallvec v0.6.14
[INFO] [stderr]     Checking rusttype v0.7.9
[INFO] [stderr]     Checking andrew v0.3.1
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]     Checking memmap2 v0.1.0
[INFO] [stderr]     Checking line_drawing v0.7.0
[INFO] [stderr]    Compiling gl_generator v0.10.0
[INFO] [stderr]     Checking lock_api v0.4.5
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling crc32fast v1.3.1
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]     Checking lazycell v1.3.0
[INFO] [stderr]    Compiling winit v0.23.0
[INFO] [stderr]     Checking adler32 v1.2.0
[INFO] [stderr]     Checking mio-extras v2.0.6
[INFO] [stderr]    Compiling gl v0.11.0
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking calloop v0.6.5
[INFO] [stderr]     Checking andrew v0.2.1
[INFO] [stderr]    Compiling backtrace v0.3.63
[INFO] [stderr]    Compiling libloading v0.5.2
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]     Checking lock_api v0.3.4
[INFO] [stderr]     Checking gimli v0.26.1
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking weezl v0.1.5
[INFO] [stderr]     Checking deflate v0.8.6
[INFO] [stderr]     Checking miniz_oxide v0.3.7
[INFO] [stderr]     Checking jpeg-decoder v0.1.22
[INFO] [stderr]     Checking wayland-egl v0.28.6
[INFO] [stderr]     Checking object v0.27.1
[INFO] [stderr]    Compiling glium v0.28.0
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking rustc-demangle v0.1.21
[INFO] [stderr]     Checking gif v0.11.3
[INFO] [stderr]     Checking tiff v0.6.1
[INFO] [stderr]     Checking addr2line v0.17.0
[INFO] [stderr]     Checking png v0.16.8
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking shader_version v0.7.0
[INFO] [stderr]     Checking vecmath v1.0.0
[INFO] [stderr]     Checking read_color v1.0.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.16
[INFO] [stderr]     Checking bytemuck v1.7.3
[INFO] [stderr]     Checking takeable-option v0.5.0
[INFO] [stderr]     Checking interpolation v0.2.0
[INFO] [stderr]     Checking piston-texture v0.8.0
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]     Checking piston2d-graphics v0.39.0
[INFO] [stderr]     Checking image v0.23.14
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking piston-shaders_graphics2d v0.4.0
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking piston2d-opengl_graphics v0.76.0
[INFO] [stderr]     Checking pistoncore-input v1.0.1
[INFO] [stderr]     Checking smithay-client-toolkit v0.12.3
[INFO] [stderr]     Checking pistoncore-window v0.47.1
[INFO] [stderr]     Checking pistoncore-event_loop v0.52.0
[INFO] [stderr]     Checking piston v0.52.1
[INFO] [stderr]     Checking glutin v0.25.1
[INFO] [stderr]     Checking smithay-client-toolkit v0.4.6
[INFO] [stderr]     Checking winit v0.19.5
[INFO] [stderr]     Checking glutin v0.21.2
[INFO] [stderr]     Checking pistoncore-glutin_window v0.67.2
[INFO] [stderr]     Checking pixel-canvas v0.2.2
[INFO] [stderr]     Checking nes_emulator v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `GlyphCache`
[INFO] [stdout]  --> src/display/display_nes.rs:6:35
[INFO] [stdout]   |
[INFO] [stdout] 6 | use opengl_graphics::{GlGraphics, GlyphCache, Texture, TextureSettings};
[INFO] [stdout]   |                                   ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/display/display_debug_cartridge.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File`, `OpenOptions`
[INFO] [stdout]  --> src/display/display_debug_cartridge.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::{File, OpenOptions};
[INFO] [stdout]   |               ^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> src/display/display_debug_cartridge.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::advance`
[INFO] [stdout]   --> src/display/display_debug_cartridge.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::advance;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_scaled_context`
[INFO] [stdout]   --> src/display/display_debug_cartridge.rs:19:37
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::display::display::{Game, get_scaled_context, NesSystem};
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `draw_debug`
[INFO] [stdout]   --> src/display/display_debug_cartridge.rs:20:51
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::display::draw_debug::{draw_cart_debug, draw_debug};
[INFO] [stdout]    |                                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `B`, `C`, `D`, `I`, `N`, `V`, `Z`
[INFO] [stdout]  --> src/cpu/tests/flags.rs:2:25
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::cpu::Flags::{I, B, C, Z, V, N, D};
[INFO] [stdout]   |                         ^  ^  ^  ^  ^  ^  ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cpu::tests::create_devices`
[INFO] [stdout]  --> src/cpu/tests/flags.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::cpu::tests::create_devices;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ppu::Ppu`
[INFO] [stdout]  --> src/cpu/tests/flags.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::ppu::Ppu;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `advance`, `create_system`
[INFO] [stdout]  --> src/cpu/tests/instructions.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{advance, create_system};
[INFO] [stdout]   |             ^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::state::State`
[INFO] [stdout]    --> src/cpu/mod.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | use crate::state::State;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::bus::Bus`
[INFO] [stdout]  --> src/ppu/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::bus::Bus;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Image`
[INFO] [stdout]  --> src/ppu/mod.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 | use graphics::{Image};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cartridge::Cartridge`
[INFO] [stdout]  --> src/cartridge/tests/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::cartridge::Cartridge;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RefMut`
[INFO] [stdout]  --> src/bus/mod.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::{RefCell, RefMut};
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `graphics::math::add`
[INFO] [stdout]  --> src/bus/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use graphics::math::add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ImageBuffer`
[INFO] [stdout]  --> src/state.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{ImageBuffer, Rgba};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TextureSettings`, `Texture`
[INFO] [stdout]   --> src/state.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 | use opengl_graphics::{Texture, TextureSettings};
[INFO] [stdout]    |                       ^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GlyphCache`
[INFO] [stdout]  --> src/display/display_nes.rs:6:35
[INFO] [stdout]   |
[INFO] [stdout] 6 | use opengl_graphics::{GlGraphics, GlyphCache, Texture, TextureSettings};
[INFO] [stdout]   |                                   ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/display/display_debug_cartridge.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `File`, `OpenOptions`
[INFO] [stdout]  --> src/display/display_debug_cartridge.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::{File, OpenOptions};
[INFO] [stdout]   |               ^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> src/display/display_debug_cartridge.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::advance`
[INFO] [stdout]   --> src/display/display_debug_cartridge.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::advance;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_scaled_context`
[INFO] [stdout]   --> src/display/display_debug_cartridge.rs:19:37
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::display::display::{Game, get_scaled_context, NesSystem};
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `draw_debug`
[INFO] [stdout]   --> src/display/display_debug_cartridge.rs:20:51
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::display::draw_debug::{draw_cart_debug, draw_debug};
[INFO] [stdout]    |                                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ppu::Ppu`
[INFO] [stdout]  --> src/cpu/tests/flags.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::ppu::Ppu;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::state::State`
[INFO] [stdout]    --> src/cpu/mod.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | use crate::state::State;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::bus::Bus`
[INFO] [stdout]  --> src/ppu/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::bus::Bus;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Image`
[INFO] [stdout]  --> src/ppu/mod.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 | use graphics::{Image};
[INFO] [stdout]   |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RefMut`
[INFO] [stdout]  --> src/bus/mod.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::{RefCell, RefMut};
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `graphics::math::add`
[INFO] [stdout]  --> src/bus/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use graphics::math::add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ImageBuffer`
[INFO] [stdout]  --> src/state.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use image::{ImageBuffer, Rgba};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TextureSettings`, `Texture`
[INFO] [stdout]   --> src/state.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 | use opengl_graphics::{Texture, TextureSettings};
[INFO] [stdout]    |                       ^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AdvancedWindow`
[INFO] [stdout]  --> src/display/display_nes.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | use piston::{AdvancedWindow, Button, Key, PressEvent, UpdateEvent, Window, WindowSettings};
[INFO] [stdout]   |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]  --> src/cpu/tests/math.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `text_size` is never read
[INFO] [stdout]   --> src/display/draw_debug.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut text_size = 12;
[INFO] [stdout]    |             ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `text_color` is assigned to, but never used
[INFO] [stdout]   --> src/display/draw_debug.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut text_color = COLOR_WHITE;
[INFO] [stdout]    |             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_text_color` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `text_color` is never read
[INFO] [stdout]   --> src/display/draw_debug.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     text_color = COLOR_BLUE;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/display/draw_debug.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     state: &State,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visible_pages`
[INFO] [stdout]   --> src/display/draw_debug.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     visible_pages: &Vec<u16>
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visible_pages`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/display/draw_debug.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     mut glyphs: &mut GlyphCache,
[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: unused import: `AdvancedWindow`
[INFO] [stdout]  --> src/display/display_nes.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | use piston::{AdvancedWindow, Button, Key, PressEvent, UpdateEvent, Window, WindowSettings};
[INFO] [stdout]   |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]  --> src/cpu/tests/math.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `text_size` is never read
[INFO] [stdout]    --> src/display/draw_debug.rs:155:13
[INFO] [stdout]     |
[INFO] [stdout] 155 |     let mut text_size = 12;
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `text_color` is assigned to, but never used
[INFO] [stdout]    --> src/display/draw_debug.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |     let mut text_color = COLOR_WHITE;
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_text_color` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `text_color` is never read
[INFO] [stdout]    --> src/display/draw_debug.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     text_color = COLOR_BLUE;
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `text_size` is never read
[INFO] [stdout]   --> src/display/draw_debug.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut text_size = 12;
[INFO] [stdout]    |             ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `text_color` is assigned to, but never used
[INFO] [stdout]   --> src/display/draw_debug.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut text_color = COLOR_WHITE;
[INFO] [stdout]    |             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_text_color` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `text_color` is never read
[INFO] [stdout]   --> src/display/draw_debug.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     text_color = COLOR_BLUE;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/display/draw_debug.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     state: &State,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/display/draw_debug.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 145 |     mut glyphs: &mut GlyphCache,
[INFO] [stdout]     |     ----^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `visible_pages`
[INFO] [stdout]   --> src/display/draw_debug.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     visible_pages: &Vec<u16>
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_visible_pages`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]  --> src/display/draw_pixels.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub(crate) fn draw_pixels(state: &State, d_img: &mut ImageBuffer<Rgba<u8>, Vec<u8>>, texture: &mut Texture, context: Context, gl: &mut Gl...
[INFO] [stdout]   |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/display/draw_debug.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     mut glyphs: &mut GlyphCache,
[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: value assigned to `text_size` is never read
[INFO] [stdout]    --> src/display/draw_debug.rs:155:13
[INFO] [stdout]     |
[INFO] [stdout] 155 |     let mut text_size = 12;
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `text_color` is assigned to, but never used
[INFO] [stdout]    --> src/display/draw_debug.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |     let mut text_color = COLOR_WHITE;
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_text_color` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `text_color` is never read
[INFO] [stdout]    --> src/display/draw_debug.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 |     text_color = COLOR_BLUE;
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/display/display_snake.rs:101:70
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let mut d_img = ImageBuffer::from_fn(EMU_WIDTH, EMU_HEIGHT, |x, y| {
[INFO] [stdout]     |                                                                      ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/display/display_snake.rs:101:73
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let mut d_img = ImageBuffer::from_fn(EMU_WIDTH, EMU_HEIGHT, |x, y| {
[INFO] [stdout]     |                                                                         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/display/draw_debug.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 145 |     mut glyphs: &mut GlyphCache,
[INFO] [stdout]     |     ----^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]  --> src/display/draw_pixels.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub(crate) fn draw_pixels(state: &State, d_img: &mut ImageBuffer<Rgba<u8>, Vec<u8>>, texture: &mut Texture, context: Context, gl: &mut Gl...
[INFO] [stdout]   |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cpu`
[INFO] [stdout]   --> src/display/display_nes.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let cpu = self.cpu.as_ref().borrow();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/display/display_nes.rs:46:15
[INFO] [stdout]    |
[INFO] [stdout] 46 |               mut d_img: &mut ImageBuffer<Rgba<u8>, Vec<u8>>,
[INFO] [stdout]    |               ----^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/display/display_nes.rs:47:15
[INFO] [stdout]    |
[INFO] [stdout] 47 |               mut texture: &mut Texture
[INFO] [stdout]    |               ----^^^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/display/display_nes.rs:75:76
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let mut d_img = ImageBuffer::from_fn(width as u32, height as u32, |x, y| {
[INFO] [stdout]    |                                                                            ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/display/display_nes.rs:75:79
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let mut d_img = ImageBuffer::from_fn(width as u32, height as u32, |x, y| {
[INFO] [stdout]    |                                                                               ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d_img`
[INFO] [stdout]   --> src/display/display_debug.rs:68:19
[INFO] [stdout]    |
[INFO] [stdout] 68 |               mut d_img: &mut ImageBuffer<Rgba<u8>, Vec<u8>>,
[INFO] [stdout]    |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_d_img`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `texture`
[INFO] [stdout]   --> src/display/display_debug.rs:69:19
[INFO] [stdout]    |
[INFO] [stdout] 69 |               mut texture: &mut Texture,
[INFO] [stdout]    |                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_texture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/display/display_debug.rs:68:15
[INFO] [stdout]    |
[INFO] [stdout] 68 |               mut d_img: &mut ImageBuffer<Rgba<u8>, Vec<u8>>,
[INFO] [stdout]    |               ----^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/display/display_debug.rs:69:15
[INFO] [stdout]    |
[INFO] [stdout] 69 |               mut texture: &mut Texture,
[INFO] [stdout]    |               ----^^^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/display/display_debug.rs:95:70
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut d_img = ImageBuffer::from_fn(EMU_WIDTH, EMU_HEIGHT, |x, y| {
[INFO] [stdout]    |                                                                      ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/display/display_debug.rs:95:73
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut d_img = ImageBuffer::from_fn(EMU_WIDTH, EMU_HEIGHT, |x, y| {
[INFO] [stdout]    |                                                                         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/display/display_snake.rs:101:70
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let mut d_img = ImageBuffer::from_fn(EMU_WIDTH, EMU_HEIGHT, |x, y| {
[INFO] [stdout]     |                                                                      ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/display/display_snake.rs:101:73
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let mut d_img = ImageBuffer::from_fn(EMU_WIDTH, EMU_HEIGHT, |x, y| {
[INFO] [stdout]     |                                                                         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cpu`
[INFO] [stdout]   --> src/display/display_nes.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let cpu = self.cpu.as_ref().borrow();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/display/display_nes.rs:46:15
[INFO] [stdout]    |
[INFO] [stdout] 46 |               mut d_img: &mut ImageBuffer<Rgba<u8>, Vec<u8>>,
[INFO] [stdout]    |               ----^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/display/display_nes.rs:47:15
[INFO] [stdout]    |
[INFO] [stdout] 47 |               mut texture: &mut Texture
[INFO] [stdout]    |               ----^^^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/display/display_nes.rs:75:76
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let mut d_img = ImageBuffer::from_fn(width as u32, height as u32, |x, y| {
[INFO] [stdout]    |                                                                            ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/display/display_nes.rs:75:79
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let mut d_img = ImageBuffer::from_fn(width as u32, height as u32, |x, y| {
[INFO] [stdout]    |                                                                               ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/display/display_debug_cartridge.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         mut d_img: &mut ImageBuffer<Rgba<u8>, Vec<u8>>,
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/display/display_debug_cartridge.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         mut texture: &mut Texture
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `updated` is assigned to, but never used
[INFO] [stdout]    --> src/display/display_debug_cartridge.rs:113:17
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let mut updated = false;
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_updated` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `updated` is never read
[INFO] [stdout]    --> src/display/display_debug_cartridge.rs:140:21
[INFO] [stdout]     |
[INFO] [stdout] 140 |                     updated = true;
[INFO] [stdout]     |                     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/display/display_debug_cartridge.rs:107:70
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let mut d_img = ImageBuffer::from_fn(EMU_WIDTH, EMU_HEIGHT, |x, y| {
[INFO] [stdout]     |                                                                      ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/display/display_debug_cartridge.rs:107:73
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let mut d_img = ImageBuffer::from_fn(EMU_WIDTH, EMU_HEIGHT, |x, y| {
[INFO] [stdout]     |                                                                         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d_img`
[INFO] [stdout]   --> src/display/display_debug.rs:68:19
[INFO] [stdout]    |
[INFO] [stdout] 68 |               mut d_img: &mut ImageBuffer<Rgba<u8>, Vec<u8>>,
[INFO] [stdout]    |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_d_img`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `texture`
[INFO] [stdout]   --> src/display/display_debug.rs:69:19
[INFO] [stdout]    |
[INFO] [stdout] 69 |               mut texture: &mut Texture,
[INFO] [stdout]    |                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_texture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/display/display_debug.rs:68:15
[INFO] [stdout]    |
[INFO] [stdout] 68 |               mut d_img: &mut ImageBuffer<Rgba<u8>, Vec<u8>>,
[INFO] [stdout]    |               ----^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/display/display_debug.rs:69:15
[INFO] [stdout]    |
[INFO] [stdout] 69 |               mut texture: &mut Texture,
[INFO] [stdout]    |               ----^^^^^^^
[INFO] [stdout]    |               |
[INFO] [stdout]    |               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu/cpu_6502.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut state = self.state.as_ref().expect("Missing state").as_ref().borrow_mut();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/display/display_debug.rs:95:70
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut d_img = ImageBuffer::from_fn(EMU_WIDTH, EMU_HEIGHT, |x, y| {
[INFO] [stdout]    |                                                                      ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/display/display_debug.rs:95:73
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let mut d_img = ImageBuffer::from_fn(EMU_WIDTH, EMU_HEIGHT, |x, y| {
[INFO] [stdout]    |                                                                         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/display/display_debug_cartridge.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         mut d_img: &mut ImageBuffer<Rgba<u8>, Vec<u8>>,
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/display/display_debug_cartridge.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         mut texture: &mut Texture
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `updated` is assigned to, but never used
[INFO] [stdout]    --> src/display/display_debug_cartridge.rs:113:17
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let mut updated = false;
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_updated` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `updated` is never read
[INFO] [stdout]    --> src/display/display_debug_cartridge.rs:140:21
[INFO] [stdout]     |
[INFO] [stdout] 140 |                     updated = true;
[INFO] [stdout]     |                     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/display/display_debug_cartridge.rs:107:70
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let mut d_img = ImageBuffer::from_fn(EMU_WIDTH, EMU_HEIGHT, |x, y| {
[INFO] [stdout]     |                                                                      ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/display/display_debug_cartridge.rs:107:73
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let mut d_img = ImageBuffer::from_fn(EMU_WIDTH, EMU_HEIGHT, |x, y| {
[INFO] [stdout]     |                                                                         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu/cpu_6502.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut state = self.state.as_ref().expect("Missing state").as_ref().borrow_mut();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> src/cpu/tests/math.rs:10:33
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn run_test_code(code: Vec<u8>, offset: u16) -> Vec<u8> {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ppu`
[INFO] [stdout]   --> src/cpu/tests/flags.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 |     create_devices!(ppu, cpu);
[INFO] [stdout]    |                     ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: `ppu` is captured in macro and introduced a unused variable
[INFO] [stdout]   --> src/cpu/tests/mod.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let mut $var1 = ppu_ref.as_ref().borrow_mut();
[INFO] [stdout]    |             ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/cpu/tests/flags.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     create_devices!(ppu, cpu);
[INFO] [stdout]    |     ------------------------- in this macro invocation
[INFO] [stdout]    = note: this warning originates in the macro `create_devices` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/ppu/mod.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |         for y in 0..EMU_HEIGHT {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/ppu/mod.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 |             for x in 0..EMU_WIDTH {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/ppu/mod.rs:87:24
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub(crate) fn cpu_read(state: &mut State, addr: u16, read_only: bool) -> u8 {
[INFO] [stdout]    |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `read_only`
[INFO] [stdout]   --> src/ppu/mod.rs:87:54
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub(crate) fn cpu_read(state: &mut State, addr: u16, read_only: bool) -> u8 {
[INFO] [stdout]    |                                                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_read_only`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/ppu/mod.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub(crate) fn cpu_write(state: &mut State, addr: u16, data: u8) {
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/ppu/mod.rs:129:55
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub(crate) fn cpu_write(state: &mut State, addr: u16, data: u8) {
[INFO] [stdout]     |                                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/cpu/tests/mod.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let mut $var1 = ppu_ref.as_ref().borrow_mut();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/cpu/tests/flags.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     create_devices!(ppu, cpu);
[INFO] [stdout]    |     ------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `create_devices` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> src/cpu/tests/math.rs:10:33
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn run_test_code(code: Vec<u8>, offset: u16) -> Vec<u8> {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `read_only`
[INFO] [stdout]   --> src/bus/mod.rs:14:50
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) fn mem_read(state: &State, addr: u16, read_only: bool) -> u8 {
[INFO] [stdout]    |                                                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_read_only`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ppu`
[INFO] [stdout]   --> src/bus/mod.rs:65:40
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub(crate) fn reset(state: &mut State, ppu: &mut Ppu, cpu: &mut Cpu) {
[INFO] [stdout]    |                                        ^^^ help: if this is intentional, prefix it with an underscore: `_ppu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/mapper/mapper0.rs:40:32
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn ppu_map_read(&mut self, state: State, addr: u16, mapped_addr: &mut u32) -> bool {
[INFO] [stdout]    |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cpu_loop` is never used
[INFO] [stdout]    --> src/cpu/mod.rs:122:15
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub(crate) fn cpu_loop(cpu: &mut Cpu) {
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `real_loop` is never used
[INFO] [stdout]    --> src/cpu/mod.rs:130:15
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub(crate) fn real_loop(ppu: &mut Ppu, cpu: &mut Cpu) {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_test_code` is never used
[INFO] [stdout]   --> src/cpu/tests/math.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn run_test_code(code: Vec<u8>, offset: u16) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cpu_read` is never used
[INFO] [stdout]   --> src/ppu/mod.rs:87:15
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub(crate) fn cpu_read(state: &mut State, addr: u16, read_only: bool) -> u8 {
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cpu_write` is never used
[INFO] [stdout]    --> src/ppu/mod.rs:129:15
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub(crate) fn cpu_write(state: &mut State, addr: u16, data: u8) {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `prg_ram_size`, `tv_system1`, `tv_system2`, and `unused` are never read
[INFO] [stdout]   --> src/cartridge/mod.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | struct Header {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] 7  |     name: Vec<char>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     prg_ram_size: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 13 |     tv_system1: u8,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 14 |     tv_system2: u8,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 15 |     unused: Vec<u8>
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `header`, `n_chrbanks`, and `v_chr_memory` are never read
[INFO] [stdout]   --> src/cartridge/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Cartridge {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 19 |     header: Header,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     n_chrbanks: u8,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 23 |     pub(crate) v_prg_memory: Vec<u8>,
[INFO] [stdout] 24 |     pub(crate) v_chr_memory: Vec<u8>
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RAM` is never used
[INFO] [stdout]  --> src/bus/mod.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const RAM: u16 = 0x0000;
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RAM_MIRRORS_END` is never used
[INFO] [stdout]   --> src/bus/mod.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const RAM_MIRRORS_END: u16 = 0x1FFF;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PPU_REGISTERS` is never used
[INFO] [stdout]   --> src/bus/mod.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const PPU_REGISTERS: u16 = 0x2000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PPU_REGISTERS_MIRRORS_END` is never used
[INFO] [stdout]   --> src/bus/mod.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const PPU_REGISTERS_MIRRORS_END: u16 = 0x3FFF;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reset` is never used
[INFO] [stdout]   --> src/bus/mod.rs:65:15
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub(crate) fn reset(state: &mut State, ppu: &mut Ppu, cpu: &mut Cpu) {
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clock` is never used
[INFO] [stdout]   --> src/bus/mod.rs:70:15
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub(crate) fn clock(ppu: &mut Ppu, cpu: &mut Cpu) -> Result<(), ()>{
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `state` is never read
[INFO] [stdout]    --> src/bus/mod.rs:112:16
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub struct Bus {
[INFO] [stdout]     |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub(crate) state: Option<Rc<RefCell<State>>>,
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ppu_name_tables` and `ppu_palette_table` are never read
[INFO] [stdout]   --> src/state.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct State {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub(crate) ppu_name_tables: Vec<Vec<u8>>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub(crate) ppu_palette_table: Vec<u8>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/bus/mod.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 |         if addr >= 0x0000 && addr <= 0xFFFF {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/bus/mod.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 |         if addr >= 0x0000 && addr <= 0xFFFF {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/bus/mod.rs:31:15
[INFO] [stdout]    |
[INFO] [stdout] 31 |     } else if addr >= 0x0000 && addr <= 0x1FFF {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/bus/mod.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |         if  addr >= 0x0000 && addr <= 0xFFFF {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/bus/mod.rs:43:31
[INFO] [stdout]    |
[INFO] [stdout] 43 |         if  addr >= 0x0000 && addr <= 0xFFFF {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/bus/mod.rs:55:20
[INFO] [stdout]    |
[INFO] [stdout] 55 |         } else if  addr >= 0x0000 && addr <= 0x1FFF {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]  --> src/mapper/mapper0.rs:9:30
[INFO] [stdout]   |
[INFO] [stdout] 9 |         if addr >= 0x8000 && addr <= 0xffff {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/mapper/mapper0.rs:25:30
[INFO] [stdout]    |
[INFO] [stdout] 25 |         if addr >= 0x8000 && addr <= 0xffff {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/mapper/mapper0.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |         if addr >= 0x0000 && addr <= 0x1fff {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/mapper/mapper0.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |         if addr >= 0x0000 && addr <= 0x1FFF {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> src/ppu/mod.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |         for y in 0..EMU_HEIGHT {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/ppu/mod.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 |             for x in 0..EMU_WIDTH {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/ppu/mod.rs:87:24
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub(crate) fn cpu_read(state: &mut State, addr: u16, read_only: bool) -> u8 {
[INFO] [stdout]    |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `read_only`
[INFO] [stdout]   --> src/ppu/mod.rs:87:54
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub(crate) fn cpu_read(state: &mut State, addr: u16, read_only: bool) -> u8 {
[INFO] [stdout]    |                                                      ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_read_only`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/ppu/mod.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub(crate) fn cpu_write(state: &mut State, addr: u16, data: u8) {
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/ppu/mod.rs:129:55
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub(crate) fn cpu_write(state: &mut State, addr: u16, data: u8) {
[INFO] [stdout]     |                                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cart`
[INFO] [stdout]  --> src/cartridge/tests/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     let cart = Cartridge::new("assets/nestest.nes");
[INFO] [stdout]   |         ^^^^ help: if this is intentional, prefix it with an underscore: `_cart`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `read_only`
[INFO] [stdout]   --> src/bus/mod.rs:14:50
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) fn mem_read(state: &State, addr: u16, read_only: bool) -> u8 {
[INFO] [stdout]    |                                                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_read_only`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ppu`
[INFO] [stdout]   --> src/bus/mod.rs:65:40
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub(crate) fn reset(state: &mut State, ppu: &mut Ppu, cpu: &mut Cpu) {
[INFO] [stdout]    |                                        ^^^ help: if this is intentional, prefix it with an underscore: `_ppu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/mapper/mapper0.rs:40:32
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn ppu_map_read(&mut self, state: State, addr: u16, mapped_addr: &mut u32) -> bool {
[INFO] [stdout]    |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 87 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cpu_loop` is never used
[INFO] [stdout]    --> src/cpu/mod.rs:122:15
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub(crate) fn cpu_loop(cpu: &mut Cpu) {
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cpu_read` is never used
[INFO] [stdout]   --> src/ppu/mod.rs:87:15
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub(crate) fn cpu_read(state: &mut State, addr: u16, read_only: bool) -> u8 {
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cpu_write` is never used
[INFO] [stdout]    --> src/ppu/mod.rs:129:15
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub(crate) fn cpu_write(state: &mut State, addr: u16, data: u8) {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `prg_ram_size`, `tv_system1`, `tv_system2`, and `unused` are never read
[INFO] [stdout]   --> src/cartridge/mod.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | struct Header {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] 7  |     name: Vec<char>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     prg_ram_size: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 13 |     tv_system1: u8,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 14 |     tv_system2: u8,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 15 |     unused: Vec<u8>
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `header`, `n_chrbanks`, and `v_chr_memory` are never read
[INFO] [stdout]   --> src/cartridge/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Cartridge {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 19 |     header: Header,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     n_chrbanks: u8,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 23 |     pub(crate) v_prg_memory: Vec<u8>,
[INFO] [stdout] 24 |     pub(crate) v_chr_memory: Vec<u8>
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RAM` is never used
[INFO] [stdout]  --> src/bus/mod.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const RAM: u16 = 0x0000;
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RAM_MIRRORS_END` is never used
[INFO] [stdout]   --> src/bus/mod.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const RAM_MIRRORS_END: u16 = 0x1FFF;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PPU_REGISTERS` is never used
[INFO] [stdout]   --> src/bus/mod.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const PPU_REGISTERS: u16 = 0x2000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PPU_REGISTERS_MIRRORS_END` is never used
[INFO] [stdout]   --> src/bus/mod.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const PPU_REGISTERS_MIRRORS_END: u16 = 0x3FFF;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reset` is never used
[INFO] [stdout]   --> src/bus/mod.rs:65:15
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub(crate) fn reset(state: &mut State, ppu: &mut Ppu, cpu: &mut Cpu) {
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `state` is never read
[INFO] [stdout]    --> src/bus/mod.rs:112:16
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub struct Bus {
[INFO] [stdout]     |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub(crate) state: Option<Rc<RefCell<State>>>,
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ppu_name_tables` and `ppu_palette_table` are never read
[INFO] [stdout]   --> src/state.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct State {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub(crate) ppu_name_tables: Vec<Vec<u8>>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub(crate) ppu_palette_table: Vec<u8>,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/bus/mod.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 |         if addr >= 0x0000 && addr <= 0xFFFF {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/bus/mod.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 |         if addr >= 0x0000 && addr <= 0xFFFF {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/bus/mod.rs:31:15
[INFO] [stdout]    |
[INFO] [stdout] 31 |     } else if addr >= 0x0000 && addr <= 0x1FFF {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/bus/mod.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |         if  addr >= 0x0000 && addr <= 0xFFFF {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/bus/mod.rs:43:31
[INFO] [stdout]    |
[INFO] [stdout] 43 |         if  addr >= 0x0000 && addr <= 0xFFFF {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/bus/mod.rs:55:20
[INFO] [stdout]    |
[INFO] [stdout] 55 |         } else if  addr >= 0x0000 && addr <= 0x1FFF {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]  --> src/mapper/mapper0.rs:9:30
[INFO] [stdout]   |
[INFO] [stdout] 9 |         if addr >= 0x8000 && addr <= 0xffff {
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/mapper/mapper0.rs:25:30
[INFO] [stdout]    |
[INFO] [stdout] 25 |         if addr >= 0x8000 && addr <= 0xffff {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/mapper/mapper0.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |         if addr >= 0x0000 && addr <= 0x1fff {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/mapper/mapper0.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |         if addr >= 0x0000 && addr <= 0x1FFF {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 83 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/bin/nestest_debug_cartridge.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/bin/nestest_debug_cartridge.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/bin/nestest_debug_cartridge.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/bin/nestest_debug_cartridge.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `piston::EventSettings`
[INFO] [stdout]  --> src/bin/nestest.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use piston::EventSettings;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nes_emulator::display::display_debug::NesDebug`
[INFO] [stdout]  --> src/bin/nestest.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use nes_emulator::display::display_debug::NesDebug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `piston::EventSettings`
[INFO] [stdout]  --> src/bin/nestest.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use piston::EventSettings;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nes_emulator::display::display_debug::NesDebug`
[INFO] [stdout]  --> src/bin/nestest.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use nes_emulator::display::display_debug::NesDebug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 6 arguments but 3 arguments were supplied
[INFO] [stdout]   --> src/bin/nestest.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 |       let mut game = NesSystem::new(
[INFO] [stdout]    |  ____________________^^^^^^^^^^^^^^-
[INFO] [stdout] 31 | |         state_ref.clone(),
[INFO] [stdout] 32 | |         cpu_ref.clone(),
[INFO] [stdout] 33 | |         ppu_ref.clone()
[INFO] [stdout] 34 | |     );
[INFO] [stdout]    | |_____- three arguments of type `u32`, `u32`, and `u32` are missing
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/display/display_nes.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] help: provide the arguments
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut game = NesSystem::new(state_ref.clone(), cpu_ref.clone(), ppu_ref.clone(), /* u32 */, /* u32 */, /* u32 */);
[INFO] [stdout]    |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 6 arguments but 3 arguments were supplied
[INFO] [stdout]   --> src/bin/nestest.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 |       let mut game = NesSystem::new(
[INFO] [stdout]    |  ____________________^^^^^^^^^^^^^^-
[INFO] [stdout] 31 | |         state_ref.clone(),
[INFO] [stdout] 32 | |         cpu_ref.clone(),
[INFO] [stdout] 33 | |         ppu_ref.clone()
[INFO] [stdout] 34 | |     );
[INFO] [stdout]    | |_____- three arguments of type `u32`, `u32`, and `u32` are missing
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/display/display_nes.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] help: provide the arguments
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut game = NesSystem::new(state_ref.clone(), cpu_ref.clone(), ppu_ref.clone(), /* u32 */, /* u32 */, /* u32 */);
[INFO] [stdout]    |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nes_emulator` (bin "nestest") due to 2 previous errors; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `nes_emulator` (bin "nestest" test) due to 2 previous errors; 2 warnings emitted
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "8817cb891d1575d53da2e0ad839c48a1ad9f2fd57d1497409d14b462bbc927ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8817cb891d1575d53da2e0ad839c48a1ad9f2fd57d1497409d14b462bbc927ba", kill_on_drop: false }`
[INFO] [stdout] 8817cb891d1575d53da2e0ad839c48a1ad9f2fd57d1497409d14b462bbc927ba
