[INFO] cloning repository https://github.com/Bensas/RustNESs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Bensas/RustNESs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBensas%2FRustNESs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBensas%2FRustNESs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8fee0e0bb09598686fafcaf5f23df1afc4b6f2c0
[INFO] testing Bensas/RustNESs against 1.75.0 for beta-1.76-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBensas%2FRustNESs" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Bensas/RustNESs on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Bensas/RustNESs
[INFO] finished tweaking git repo https://github.com/Bensas/RustNESs
[INFO] tweaked toml for git repo https://github.com/Bensas/RustNESs written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/Bensas/RustNESs 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.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded iced_core v0.7.0
[INFO] [stderr]   Downloaded iced_style v0.6.0
[INFO] [stderr]   Downloaded iced_winit v0.7.0
[INFO] [stderr]   Downloaded iced_wgpu v0.8.0
[INFO] [stderr]   Downloaded iced_graphics v0.6.0
[INFO] [stderr]   Downloaded lyon_path v1.0.3
[INFO] [stderr]   Downloaded iced_native v0.8.0
[INFO] [stderr]   Downloaded lyon_tessellation v1.0.8
[INFO] [stderr]   Downloaded iced v0.7.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 223d30fe29c760a5a68ffdf47ed0a85b7ad14ab05963dfd138913036ed857de1
[INFO] running `Command { std: "docker" "start" "-a" "223d30fe29c760a5a68ffdf47ed0a85b7ad14ab05963dfd138913036ed857de1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "223d30fe29c760a5a68ffdf47ed0a85b7ad14ab05963dfd138913036ed857de1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "223d30fe29c760a5a68ffdf47ed0a85b7ad14ab05963dfd138913036ed857de1", kill_on_drop: false }`
[INFO] [stdout] 223d30fe29c760a5a68ffdf47ed0a85b7ad14ab05963dfd138913036ed857de1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5bb78591b5db34d4fdb55512091f5b386788756a223c916cf89dfd57bb0789ec
[INFO] running `Command { std: "docker" "start" "-a" "5bb78591b5db34d4fdb55512091f5b386788756a223c916cf89dfd57bb0789ec", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.139
[INFO] [stderr]    Compiling proc-macro2 v1.0.49
[INFO] [stderr]    Compiling quote v1.0.23
[INFO] [stderr]    Compiling unicode-ident v1.0.6
[INFO] [stderr]    Compiling syn v1.0.107
[INFO] [stderr]    Compiling pkg-config v0.3.26
[INFO] [stderr]    Compiling libm v0.2.6
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling once_cell v1.17.0
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling thiserror v1.0.38
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling libloading v0.7.4
[INFO] [stderr]    Compiling smallvec v1.10.0
[INFO] [stderr]    Compiling cc v1.0.78
[INFO] [stderr]    Compiling xml-rs v0.8.4
[INFO] [stderr]    Compiling dlib v0.5.0
[INFO] [stderr]    Compiling cty v0.2.2
[INFO] [stderr]    Compiling arrayvec v0.7.2
[INFO] [stderr]    Compiling serde v1.0.152
[INFO] [stderr]    Compiling ahash v0.7.6
[INFO] [stderr]    Compiling crossbeam-utils v0.8.14
[INFO] [stderr]    Compiling siphasher v0.3.10
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling futures-core v0.3.25
[INFO] [stderr]    Compiling slotmap v1.0.6
[INFO] [stderr]    Compiling phf_shared v0.11.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling slab v0.4.7
[INFO] [stderr]    Compiling cmake v0.1.49
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]    Compiling lock_api v0.4.9
[INFO] [stderr]    Compiling scoped-tls v1.0.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.6
[INFO] [stderr]    Compiling downcast-rs v1.2.0
[INFO] [stderr]    Compiling futures-task v0.3.25
[INFO] [stderr]    Compiling futures-channel v0.3.25
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling phf_generator v0.11.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.13
[INFO] [stderr]    Compiling futures-sink v0.3.25
[INFO] [stderr]    Compiling pin-project-lite v0.2.9
[INFO] [stderr]    Compiling futures-util v0.3.25
[INFO] [stderr]    Compiling freetype-sys v0.13.1
[INFO] [stderr]    Compiling expat-sys v2.1.6
[INFO] [stderr]    Compiling smithay-client-toolkit v0.16.0
[INFO] [stderr]    Compiling raw-window-handle v0.5.0
[INFO] [stderr]    Compiling indexmap v1.9.2
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling futures-io v0.3.25
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling palette v0.6.1
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling getrandom v0.2.8
[INFO] [stderr]    Compiling num_cpus v1.15.0
[INFO] [stderr]    Compiling nix v0.24.3
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling euclid v0.22.7
[INFO] [stderr]    Compiling nix v0.25.1
[INFO] [stderr]    Compiling memmap2 v0.5.8
[INFO] [stderr]    Compiling servo-fontconfig-sys v5.1.0
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling tokio v1.24.2
[INFO] [stderr]    Compiling termcolor v1.2.0
[INFO] [stderr]    Compiling unicode-width v0.1.10
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling ttf-parser v0.18.1
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling khronos-egl v4.1.0
[INFO] [stderr]    Compiling rayon-core v1.10.1
[INFO] [stderr]    Compiling lyon_geom v1.0.4
[INFO] [stderr]    Compiling ash v0.37.2+1.3.238
[INFO] [stderr]    Compiling miniz_oxide v0.6.2
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]    Compiling codespan-reporting v0.11.1
[INFO] [stderr]    Compiling xcursor v0.3.4
[INFO] [stderr]    Compiling crossbeam-deque v0.8.2
[INFO] [stderr]    Compiling twox-hash v1.6.3
[INFO] [stderr]    Compiling spirv v0.2.0+1.5.4
[INFO] [stderr]    Compiling crossbeam-channel v0.5.6
[INFO] [stderr]    Compiling lyon_path v1.0.3
[INFO] [stderr]    Compiling gpu-alloc-types v0.2.0
[INFO] [stderr]    Compiling gpu-descriptor-types v0.1.1
[INFO] [stderr]    Compiling wayland-commons v0.29.5
[INFO] [stderr]    Compiling cfg_aliases v0.1.1
[INFO] [stderr]    Compiling unicode-xid v0.2.4
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling hexf-parse v0.2.1
[INFO] [stderr]    Compiling ab_glyph_rasterizer v0.1.8
[INFO] [stderr]    Compiling fxhash v0.2.1
[INFO] [stderr]    Compiling wgpu-core v0.14.2
[INFO] [stderr]    Compiling gpu-alloc v0.5.3
[INFO] [stderr]    Compiling toml v0.5.10
[INFO] [stderr]    Compiling gpu-descriptor v0.2.3
[INFO] [stderr]    Compiling flate2 v1.0.25
[INFO] [stderr]    Compiling float_next_after v0.1.5
[INFO] [stderr]    Compiling crossfont v0.5.1
[INFO] [stderr]    Compiling wgpu-types v0.14.1
[INFO] [stderr]    Compiling renderdoc-sys v0.7.1
[INFO] [stderr]    Compiling profiling v1.0.7
[INFO] [stderr]    Compiling glow v0.11.2
[INFO] [stderr]    Compiling foreign-types-shared v0.3.1
[INFO] [stderr]    Compiling either v1.8.0
[INFO] [stderr]    Compiling arrayref v0.3.6
[INFO] [stderr]    Compiling png v0.17.7
[INFO] [stderr]    Compiling servo-fontconfig v0.5.1
[INFO] [stderr]    Compiling lyon_algorithms v1.0.2
[INFO] [stderr]    Compiling rayon v1.6.1
[INFO] [stderr]    Compiling freetype-rs v0.26.0
[INFO] [stderr]    Compiling gethostname v0.2.3
[INFO] [stderr]    Compiling nix v0.22.3
[INFO] [stderr]    Compiling x11-dl v2.20.1
[INFO] [stderr]    Compiling find-crate v0.6.3
[INFO] [stderr]    Compiling owned_ttf_parser v0.18.0
[INFO] [stderr]    Compiling ab_glyph v0.2.19
[INFO] [stderr]    Compiling raw-window-handle v0.4.3
[INFO] [stderr]    Compiling xi-unicode v0.3.0
[INFO] [stderr]    Compiling arrayvec v0.5.2
[INFO] [stderr]    Compiling glam v0.21.3
[INFO] [stderr]    Compiling unicode-segmentation v1.10.0
[INFO] [stderr]    Compiling linked-hash-map v0.5.6
[INFO] [stderr]    Compiling glyph_brush_layout v0.2.3
[INFO] [stderr]    Compiling encase_derive_impl v0.3.0
[INFO] [stderr]    Compiling ordered-float v3.4.0
[INFO] [stderr]    Compiling raw-window-handle v0.3.4
[INFO] [stderr]    Compiling mio v0.8.5
[INFO] [stderr]    Compiling instant v0.1.12
[INFO] [stderr]    Compiling svg_fmt v0.4.1
[INFO] [stderr]    Compiling const_panic v0.2.7
[INFO] [stderr]    Compiling percent-encoding v2.2.0
[INFO] [stderr]    Compiling guillotiere v0.6.2
[INFO] [stderr]    Compiling wayland-cursor v0.29.5
[INFO] [stderr]    Compiling glyph_brush_draw_cache v0.1.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.38
[INFO] [stderr]    Compiling bytemuck_derive v1.3.0
[INFO] [stderr]    Compiling phf_macros v0.11.1
[INFO] [stderr]    Compiling futures-macro v0.3.25
[INFO] [stderr]    Compiling palette_derive v0.6.1
[INFO] [stderr]    Compiling foreign-types-macros v0.2.2
[INFO] [stderr]    Compiling encase_derive v0.3.0
[INFO] [stderr]    Compiling glyph_brush v0.7.5
[INFO] [stderr]    Compiling x11rb v0.9.0
[INFO] [stderr]    Compiling foreign-types v0.5.0
[INFO] [stderr]    Compiling phf v0.11.1
[INFO] [stderr]    Compiling bytemuck v1.12.3
[INFO] [stderr]    Compiling tiny-skia-path v0.7.0
[INFO] [stderr]    Compiling safe_arch v0.5.2
[INFO] [stderr]    Compiling calloop v0.10.5
[INFO] [stderr]    Compiling naga v0.10.0
[INFO] [stderr]    Compiling lyon_tessellation v1.0.8
[INFO] [stderr]    Compiling encase v0.3.0
[INFO] [stderr]    Compiling tiny-skia v0.7.0
[INFO] [stderr]    Compiling lyon v1.0.1
[INFO] [stderr]    Compiling iced_core v0.7.0
[INFO] [stderr]    Compiling iced_style v0.6.0
[INFO] [stderr]    Compiling futures-executor v0.3.25
[INFO] [stderr]    Compiling futures v0.3.25
[INFO] [stderr]    Compiling iced_futures v0.5.1
[INFO] [stderr]    Compiling iced_native v0.8.0
[INFO] [stderr]    Compiling clipboard_x11 v0.4.0
[INFO] [stderr]    Compiling iced_graphics v0.6.0
[INFO] [stderr]    Compiling wgpu-hal v0.14.1
[INFO] [stderr]    Compiling wgpu v0.14.2
[INFO] [stderr]    Compiling wgpu_glyph v0.18.0
[INFO] [stderr]    Compiling iced_wgpu v0.8.0
[INFO] [stderr]    Compiling smithay-clipboard v0.6.6
[INFO] [stderr]    Compiling sctk-adwaita v0.4.3
[INFO] [stderr]    Compiling clipboard_wayland v0.2.0
[INFO] [stderr]    Compiling window_clipboard v0.2.4
[INFO] [stderr]    Compiling winit v0.27.5
[INFO] [stderr]    Compiling iced_winit v0.7.0
[INFO] [stderr]    Compiling iced v0.7.0
[INFO] [stderr]    Compiling RustNESs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`
[INFO] [stdout]  --> src/ben2C02.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{sync::{Arc, Mutex}, cell::RefCell, rc::Rc};
[INFO] [stdout]   |                  ^^^  ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/ben2C02.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 |   use rand::Rng;
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/ben6502.rs:423:110
[INFO] [stdout]     |
[INFO] [stdout] 423 |             self.absolute_mem_address = (self.registers.pc as i16 + self.relative_mem_address as i16) as u16;;
[INFO] [stdout]     |                                                                                                              ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/ben6502.rs:434:110
[INFO] [stdout]     |
[INFO] [stdout] 434 |             self.absolute_mem_address = (self.registers.pc as i16 + self.relative_mem_address as i16) as u16;;
[INFO] [stdout]     |                                                                                                              ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`
[INFO] [stdout]  --> src/bus.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{sync::{Arc, Mutex}, cell::RefCell, rc::Rc};
[INFO] [stdout]   |                  ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, `rc::Rc`
[INFO] [stdout]  --> src/cartridge.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fs, rc::Rc, sync::{Mutex, Arc}};
[INFO] [stdout]   |               ^^^^^^         ^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::cell::RefCell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `MutexGuard`, `Mutex`
[INFO] [stdout]   --> src/main.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::sync::{Mutex, Arc, MutexGuard};
[INFO] [stdout]    |                 ^^^^^  ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ram::Ram2K`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use ram::Ram2K;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cartridge::Cartridge`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use cartridge::Cartridge;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `button`
[INFO] [stdout]   --> src/main.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 | use iced::widget::{button, column, row, text};
[INFO] [stdout]    |                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Renderer`, `event`
[INFO] [stdout]   --> src/main.rs:28:51
[INFO] [stdout]    |
[INFO] [stdout] 28 | use iced::{Alignment, Element, Sandbox, Settings, Renderer, event, Application, Subscription, executor, Theme, Command, Rectangle, time, ...
[INFO] [stdout]    |                                                   ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Modifiers`
[INFO] [stdout]   --> src/main.rs:30:37
[INFO] [stdout]    |
[INFO] [stdout] 30 | use iced::keyboard::{self, KeyCode, Modifiers};
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/main.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Frame`, `Path`, `Text`
[INFO] [stdout]   --> src/main.rs:40:26
[INFO] [stdout]    |
[INFO] [stdout] 40 |   Cache, Canvas, Cursor, Frame, Geometry, Path, Text,
[INFO] [stdout]    |                          ^^^^^            ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/bus.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     return Ok(0);
[INFO] [stdout]    |     ------------ any code following this expression is unreachable
[INFO] [stdout] 55 |     return Err(String::from(format!("Error reading from memory bus (No device found in given address: 0x{:x}).", addr)));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Program`
[INFO] [stdout]   --> src/main.rs:32:26
[INFO] [stdout]    |
[INFO] [stdout] 32 | use iced_native::{Event, Program};
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `device::Device`
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use device::Device;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sandbox`
[INFO] [stdout]   --> src/main.rs:28:32
[INFO] [stdout]    |
[INFO] [stdout] 28 | use iced::{Alignment, Element, Sandbox, Settings, Renderer, event, Application, Subscription, executor, Theme, Command, Rectangle, time, ...
[INFO] [stdout]    |                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/ben2C02.rs:985:13
[INFO] [stdout]     |
[INFO] [stdout] 985 |         Err(message) => {
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/ben2C02.rs:998:13
[INFO] [stdout]     |
[INFO] [stdout] 998 |         Err(message) => {
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ben6502.rs:373:7
[INFO] [stdout]     |
[INFO] [stdout] 373 |       _ => return
[INFO] [stdout]     |       ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr_high`
[INFO] [stdout]    --> src/ben6502.rs:294:13
[INFO] [stdout]     |
[INFO] [stdout] 294 |         let addr_high = 0;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_addr_high`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `readOnly`
[INFO] [stdout]   --> src/bus.rs:48:37
[INFO] [stdout]    |
[INFO] [stdout] 48 |   pub fn read(&mut self, addr: u16, readOnly: bool) -> Result<u8, String> {
[INFO] [stdout]    |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_readOnly`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `readOnly`
[INFO] [stdout]   --> src/bus.rs:58:56
[INFO] [stdout]    |
[INFO] [stdout] 58 |   pub fn read_word_little_endian(&mut self, addr: u16, readOnly: bool) -> Result<u16, String> {
[INFO] [stdout]    |                                                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_readOnly`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/controller.rs:35:34
[INFO] [stdout]    |
[INFO] [stdout] 35 |   fn write(&mut self, addr: u16, data: u8) -> Result<(), String> {
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags`
[INFO] [stdout]    --> src/main.rs:124:10
[INFO] [stdout]     |
[INFO] [stdout] 124 |   fn new(flags: Self::Flags) -> (RustNESs, iced::Command<EmulatorMessage>) {
[INFO] [stdout]     |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |     let mut cpu_bus = Bus16Bit::new(rom_file_path);
[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 variable: `i`
[INFO] [stdout]    --> src/main.rs:193:15
[INFO] [stdout]     |
[INFO] [stdout] 193 |           for i in 0..500 {
[INFO] [stdout]     |               ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_render_time`
[INFO] [stdout]    --> src/main.rs:204:15
[INFO] [stdout]     |
[INFO] [stdout] 204 |           let start_render_time = Instant::now();
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_render_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:225:86
[INFO] [stdout]     |
[INFO] [stdout] 225 |             Event::Keyboard(keyboard::Event::KeyReleased { key_code: KeyCode::Space, modifiers }) => {
[INFO] [stdout]     |                                                                                      ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:229:85
[INFO] [stdout]     |
[INFO] [stdout] 229 |             Event::Keyboard(keyboard::Event::KeyReleased { key_code: KeyCode::Key5, modifiers }) => {
[INFO] [stdout]     |                                                                                     ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:233:82
[INFO] [stdout]     |
[INFO] [stdout] 233 |             Event::Keyboard(keyboard::Event::KeyReleased { key_code: KeyCode::F, modifiers }) => {
[INFO] [stdout]     |                                                                                  ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:237:82
[INFO] [stdout]     |
[INFO] [stdout] 237 |             Event::Keyboard(keyboard::Event::KeyReleased { key_code: KeyCode::P, modifiers }) => {
[INFO] [stdout]     |                                                                                  ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:241:86
[INFO] [stdout]     |
[INFO] [stdout] 241 |             Event::Keyboard(keyboard::Event::KeyReleased { key_code: KeyCode::Enter, modifiers }) => {
[INFO] [stdout]     |                                                                                      ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `em`
[INFO] [stdout]    --> src/main.rs:323:100
[INFO] [stdout]     |
[INFO] [stdout] 323 |       subs.push(iced::time::every(time::Duration::from_millis(1000 / self.cycles_per_second)).map(|em| {EmulatorMessage::NextFrame}));
[INFO] [stdout]     |                                                                                                    ^^ help: if this is intentional, prefix it with an underscore: `_em`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cursor`
[INFO] [stdout]    --> src/main.rs:428:7
[INFO] [stdout]     |
[INFO] [stdout] 428 |       cursor: Cursor,
[INFO] [stdout]     |       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cursor`
[INFO] [stdout]    --> src/main.rs:483:7
[INFO] [stdout]     |
[INFO] [stdout] 483 |       cursor: Cursor,
[INFO] [stdout]     |       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cursor`
[INFO] [stdout]    --> src/main.rs:542:7
[INFO] [stdout]     |
[INFO] [stdout] 542 |       cursor: Cursor,
[INFO] [stdout]     |       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:594:75
[INFO] [stdout]     |
[INFO] [stdout] 594 |       Event::Keyboard(keyboard::Event::KeyPressed { key_code: KeyCode::W, modifiers }) => {
[INFO] [stdout]     |                                                                           ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:597:76
[INFO] [stdout]     |
[INFO] [stdout] 597 |       Event::Keyboard(keyboard::Event::KeyReleased { key_code: KeyCode::W, modifiers }) => {
[INFO] [stdout]     |                                                                            ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:600:75
[INFO] [stdout]     |
[INFO] [stdout] 600 |       Event::Keyboard(keyboard::Event::KeyPressed { key_code: KeyCode::A, modifiers }) => {
[INFO] [stdout]     |                                                                           ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:603:76
[INFO] [stdout]     |
[INFO] [stdout] 603 |       Event::Keyboard(keyboard::Event::KeyReleased { key_code: KeyCode::A, modifiers }) => {
[INFO] [stdout]     |                                                                            ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:606:75
[INFO] [stdout]     |
[INFO] [stdout] 606 |       Event::Keyboard(keyboard::Event::KeyPressed { key_code: KeyCode::S, modifiers }) => {
[INFO] [stdout]     |                                                                           ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:609:76
[INFO] [stdout]     |
[INFO] [stdout] 609 |       Event::Keyboard(keyboard::Event::KeyReleased { key_code: KeyCode::S, modifiers }) => {
[INFO] [stdout]     |                                                                            ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:612:75
[INFO] [stdout]     |
[INFO] [stdout] 612 |       Event::Keyboard(keyboard::Event::KeyPressed { key_code: KeyCode::D, modifiers }) => {
[INFO] [stdout]     |                                                                           ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:615:76
[INFO] [stdout]     |
[INFO] [stdout] 615 |       Event::Keyboard(keyboard::Event::KeyReleased { key_code: KeyCode::D, modifiers }) => {
[INFO] [stdout]     |                                                                            ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:618:75
[INFO] [stdout]     |
[INFO] [stdout] 618 |       Event::Keyboard(keyboard::Event::KeyPressed { key_code: KeyCode::M, modifiers }) => {
[INFO] [stdout]     |                                                                           ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:621:76
[INFO] [stdout]     |
[INFO] [stdout] 621 |       Event::Keyboard(keyboard::Event::KeyReleased { key_code: KeyCode::M, modifiers }) => {
[INFO] [stdout]     |                                                                            ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:624:75
[INFO] [stdout]     |
[INFO] [stdout] 624 |       Event::Keyboard(keyboard::Event::KeyPressed { key_code: KeyCode::N, modifiers }) => {
[INFO] [stdout]     |                                                                           ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:627:76
[INFO] [stdout]     |
[INFO] [stdout] 627 |       Event::Keyboard(keyboard::Event::KeyReleased { key_code: KeyCode::N, modifiers }) => {
[INFO] [stdout]     |                                                                            ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:630:75
[INFO] [stdout]     |
[INFO] [stdout] 630 |       Event::Keyboard(keyboard::Event::KeyPressed { key_code: KeyCode::J, modifiers }) => {
[INFO] [stdout]     |                                                                           ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:633:76
[INFO] [stdout]     |
[INFO] [stdout] 633 |       Event::Keyboard(keyboard::Event::KeyReleased { key_code: KeyCode::J, modifiers }) => {
[INFO] [stdout]     |                                                                            ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:636:75
[INFO] [stdout]     |
[INFO] [stdout] 636 |       Event::Keyboard(keyboard::Event::KeyPressed { key_code: KeyCode::H, modifiers }) => {
[INFO] [stdout]     |                                                                           ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:639:76
[INFO] [stdout]     |
[INFO] [stdout] 639 |       Event::Keyboard(keyboard::Event::KeyReleased { key_code: KeyCode::H, modifiers }) => {
[INFO] [stdout]     |                                                                            ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_sprite_overflow` and `get_sprite_zero_hit` are never used
[INFO] [stdout]    --> src/ben2C02.rs:96:12
[INFO] [stdout]     |
[INFO] [stdout] 88  |   impl StatusRegister {
[INFO] [stdout]     |   ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 96  |     pub fn get_sprite_overflow(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn get_sprite_zero_hit(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/ben2C02.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout] 125 |   impl MaskRegister {
[INFO] [stdout]     |   ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn get_grayscale(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     fn set_grayscale(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     fn set_render_background_left(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     fn set_render_sprites_left(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     fn set_render_background(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     fn set_render_sprites(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn get_enhance_red(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     fn set_enhance_red(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     pub fn get_enhance_green(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     fn set_enhance_green(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub fn get_enhance_blue(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 |     fn set_enhance_blue(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/ben2C02.rs:214:8
[INFO] [stdout]     |
[INFO] [stdout] 202 |   impl ControllerRegister {
[INFO] [stdout]     |   ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 214 |     fn set_nametable_x(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     fn set_nametable_y(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     fn set_increment_mode(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     fn set_pattern_sprite(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 246 |     fn set_pattern_background(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     fn set_sprite_size(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub fn get_slave_mode(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     fn set_slave_mode(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     fn set_enable_nmi(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name_tables_vis_buffer` is never read
[INFO] [stdout]    --> src/ben2C02.rs:401:5
[INFO] [stdout]     |
[INFO] [stdout] 346 |   pub struct Ben2C02 {
[INFO] [stdout]     |              ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 401 |     name_tables_vis_buffer: [[[Color; 256]; 240]; 2],
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_unused_bit` is never used
[INFO] [stdout]   --> src/ben6502.rs:67:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Status {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 67 |   pub fn get_unused_bit(&self) -> u8 {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `irq` is never used
[INFO] [stdout]    --> src/ben6502.rs:914:10
[INFO] [stdout]     |
[INFO] [stdout] 262 | impl Ben6502 {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 914 |   pub fn irq(&mut self) {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `OnscreenLo` and `OnscreenHi` are never constructed
[INFO] [stdout]   --> src/cartridge.rs:9:3
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub enum MirroringMode {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 9  |   OnscreenLo,
[INFO] [stdout]    |   ^^^^^^^^^^
[INFO] [stdout] 10 |   OnscreenHi
[INFO] [stdout]    |   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MirroringMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `prg_chunks`, `chr_chunks`, `prg_ram_size`, `tv_system_1`, and `tv_system_2` are never read
[INFO] [stdout]    --> src/cartridge.rs:116:3
[INFO] [stdout]     |
[INFO] [stdout] 115 | struct RomHeader {
[INFO] [stdout]     |        --------- fields in this struct
[INFO] [stdout] 116 |   name: [u8; 4],
[INFO] [stdout]     |   ^^^^
[INFO] [stdout] 117 |   prg_chunks: u8,
[INFO] [stdout]     |   ^^^^^^^^^^
[INFO] [stdout] 118 |   chr_chunks: u8,
[INFO] [stdout]     |   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |   prg_ram_size: u8,
[INFO] [stdout]     |   ^^^^^^^^^^^^
[INFO] [stdout] 122 |   tv_system_1: u8,
[INFO] [stdout]     |   ^^^^^^^^^^^
[INFO] [stdout] 123 |   tv_system_2: u8
[INFO] [stdout]     |   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rom_header` is never read
[INFO] [stdout]    --> src/cartridge.rs:130:3
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub struct Cartridge {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 130 |   rom_header: RomHeader,
[INFO] [stdout]     |   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `num_CHR_banks` is never read
[INFO] [stdout]   --> src/mapper.rs:15:3
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Mapper000 {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |   num_CHR_banks: u8,
[INFO] [stdout]    |   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decimal_word_to_hex_str` is never used
[INFO] [stdout]   --> src/utils.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 |   pub fn decimal_word_to_hex_str(word: u16) -> String {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `RustNESs` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `rust_ness`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `ben2C02` should have a snake case name
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | mod ben2C02;
[INFO] [stdout]   |     ^^^^^^^ help: convert the identifier to snake case: `ben2_c02`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:46:3
[INFO] [stdout]    |
[INFO] [stdout] 46 |   RustNESs::run(Settings::default());
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 46 |   let _ = RustNESs::run(Settings::default());
[INFO] [stdout]    |   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tableIndex` should have a snake case name
[INFO] [stdout]    --> src/main.rs:523:9
[INFO] [stdout]     |
[INFO] [stdout] 523 |     for tableIndex in 0..2 {
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `table_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tableIndex` should have a snake case name
[INFO] [stdout]    --> src/main.rs:546:11
[INFO] [stdout]     |
[INFO] [stdout] 546 |       for tableIndex in 0..2 {
[INFO] [stdout]     |           ^^^^^^^^^^ help: convert the identifier to snake case: `table_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tileIndexRow` should have a snake case name
[INFO] [stdout]    --> src/ben2C02.rs:837:13
[INFO] [stdout]     |
[INFO] [stdout] 837 |         for tileIndexRow in 0..16 {
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `tile_index_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tileIndexCol` should have a snake case name
[INFO] [stdout]    --> src/ben2C02.rs:838:15
[INFO] [stdout]     |
[INFO] [stdout] 838 |           for tileIndexCol in 0..16 {
[INFO] [stdout]     |               ^^^^^^^^^^^^ help: convert the identifier to snake case: `tile_index_col`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pixelRow` should have a snake case name
[INFO] [stdout]    --> src/ben2C02.rs:839:17
[INFO] [stdout]     |
[INFO] [stdout] 839 |             for pixelRow in 0..8 {
[INFO] [stdout]     |                 ^^^^^^^^ help: convert the identifier to snake case: `pixel_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pixelCol` should have a snake case name
[INFO] [stdout]    --> src/ben2C02.rs:842:19
[INFO] [stdout]     |
[INFO] [stdout] 842 |               for pixelCol in 0..8 {
[INFO] [stdout]     |                   ^^^^^^^^ help: convert the identifier to snake case: `pixel_col`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `PPU` should have a snake case name
[INFO] [stdout]  --> src/bus.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 |   pub PPU: Rc<RefCell<Ben2C02>>,
[INFO] [stdout]   |       ^^^ help: convert the identifier to snake case: `ppu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `PPU` should have a snake case name
[INFO] [stdout]   --> src/bus.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let PPU = Rc::new(RefCell::new(Ben2C02::new(cartridge.clone())));
[INFO] [stdout]    |         ^^^ help: convert the identifier to snake case: `ppu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `readOnly` should have a snake case name
[INFO] [stdout]   --> src/bus.rs:48:37
[INFO] [stdout]    |
[INFO] [stdout] 48 |   pub fn read(&mut self, addr: u16, readOnly: bool) -> Result<u8, String> {
[INFO] [stdout]    |                                     ^^^^^^^^ help: convert the identifier to snake case: `read_only`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `readOnly` should have a snake case name
[INFO] [stdout]   --> src/bus.rs:58:56
[INFO] [stdout]    |
[INFO] [stdout] 58 |   pub fn read_word_little_endian(&mut self, addr: u16, readOnly: bool) -> Result<u16, String> {
[INFO] [stdout]    |                                                        ^^^^^^^^ help: convert the identifier to snake case: `read_only`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `PRG_data` should have a snake case name
[INFO] [stdout]    --> src/cartridge.rs:131:3
[INFO] [stdout]     |
[INFO] [stdout] 131 |   PRG_data: Vec<u8>,
[INFO] [stdout]     |   ^^^^^^^^ help: convert the identifier to snake case: `prg_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `CHR_data` should have a snake case name
[INFO] [stdout]    --> src/cartridge.rs:132:3
[INFO] [stdout]     |
[INFO] [stdout] 132 |   CHR_data: Vec<u8>,
[INFO] [stdout]     |   ^^^^^^^^ help: convert the identifier to snake case: `chr_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait method `mapReadAddressFromCPU` should have a snake case name
[INFO] [stdout]  --> src/mapper.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 |   fn mapReadAddressFromCPU(&self, addr: u16) -> Result<u16, String>;
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `map_read_address_from_cpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait method `mapWriteAddressFromCPU` should have a snake case name
[INFO] [stdout]  --> src/mapper.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 |   fn mapWriteAddressFromCPU(&self, addr: u16) -> Result<u16, String>;
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `map_write_address_from_cpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait method `mapReadAddressFromPPU` should have a snake case name
[INFO] [stdout]  --> src/mapper.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 |   fn mapReadAddressFromPPU(&self, addr: u16) -> Result<u16, String>;
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `map_read_address_from_ppu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait method `mapWriteAddressFromPPU` should have a snake case name
[INFO] [stdout]  --> src/mapper.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 |   fn mapWriteAddressFromPPU(&self, addr: u16) -> Result<u16, String>;
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `map_write_address_from_ppu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `num_PRG_banks` should have a snake case name
[INFO] [stdout]   --> src/mapper.rs:14:3
[INFO] [stdout]    |
[INFO] [stdout] 14 |   num_PRG_banks: u8,
[INFO] [stdout]    |   ^^^^^^^^^^^^^ help: convert the identifier to snake case: `num_prg_banks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `num_CHR_banks` should have a snake case name
[INFO] [stdout]   --> src/mapper.rs:15:3
[INFO] [stdout]    |
[INFO] [stdout] 15 |   num_CHR_banks: u8,
[INFO] [stdout]    |   ^^^^^^^^^^^^^ help: convert the identifier to snake case: `num_chr_banks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `num_PRG_banks` should have a snake case name
[INFO] [stdout]   --> src/mapper.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 |   pub fn new(num_PRG_banks: u8, num_CHR_banks: u8) -> Mapper000 {
[INFO] [stdout]    |              ^^^^^^^^^^^^^ help: convert the identifier to snake case: `num_prg_banks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `num_CHR_banks` should have a snake case name
[INFO] [stdout]   --> src/mapper.rs:19:33
[INFO] [stdout]    |
[INFO] [stdout] 19 |   pub fn new(num_PRG_banks: u8, num_CHR_banks: u8) -> Mapper000 {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^ help: convert the identifier to snake case: `num_chr_banks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 90 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 56.55s
[INFO] running `Command { std: "docker" "inspect" "5bb78591b5db34d4fdb55512091f5b386788756a223c916cf89dfd57bb0789ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5bb78591b5db34d4fdb55512091f5b386788756a223c916cf89dfd57bb0789ec", kill_on_drop: false }`
[INFO] [stdout] 5bb78591b5db34d4fdb55512091f5b386788756a223c916cf89dfd57bb0789ec
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.75.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e42bdf72a4754d536d2e8769ae84447080757af451bcc9f430e5b802e443226e
[INFO] running `Command { std: "docker" "start" "-a" "e42bdf72a4754d536d2e8769ae84447080757af451bcc9f430e5b802e443226e", kill_on_drop: false }`
[INFO] [stderr]    Compiling RustNESs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `crate::Status`
[INFO] [stdout]   --> src/ben6502.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     use crate::Status;
[INFO] [stdout]    |         ^^^^^^^^^^^^^ no `Status` in the root
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items instead
[INFO] [stdout]    |
[INFO] [stdout] 94 |     use crate::ben6502::Status;
[INFO] [stdout]    |         ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 94 |     use crate::canvas::event::Status;
[INFO] [stdout]    |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 94 |     use iced::event::Status;
[INFO] [stdout]    |         ~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 94 |     use iced_native::event::Status;
[INFO] [stdout]    |         ~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`
[INFO] [stdout]  --> src/ben2C02.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{sync::{Arc, Mutex}, cell::RefCell, rc::Rc};
[INFO] [stdout]   |                  ^^^  ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/ben2C02.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 |   use rand::Rng;
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/ben6502.rs:423:110
[INFO] [stdout]     |
[INFO] [stdout] 423 |             self.absolute_mem_address = (self.registers.pc as i16 + self.relative_mem_address as i16) as u16;;
[INFO] [stdout]     |                                                                                                              ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/ben6502.rs:434:110
[INFO] [stdout]     |
[INFO] [stdout] 434 |             self.absolute_mem_address = (self.registers.pc as i16 + self.relative_mem_address as i16) as u16;;
[INFO] [stdout]     |                                                                                                              ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`
[INFO] [stdout]  --> src/bus.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{sync::{Arc, Mutex}, cell::RefCell, rc::Rc};
[INFO] [stdout]   |                  ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::Bus16Bit`
[INFO] [stdout]    --> src/bus.rs:114:7
[INFO] [stdout]     |
[INFO] [stdout] 114 |   use crate::Bus16Bit;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, `rc::Rc`
[INFO] [stdout]  --> src/cartridge.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fs, rc::Rc, sync::{Mutex, Arc}};
[INFO] [stdout]   |               ^^^^^^         ^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::cell::RefCell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `MutexGuard`, `Mutex`
[INFO] [stdout]   --> src/main.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::sync::{Mutex, Arc, MutexGuard};
[INFO] [stdout]    |                 ^^^^^  ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ram::Ram2K`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use ram::Ram2K;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cartridge::Cartridge`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use cartridge::Cartridge;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `button`
[INFO] [stdout]   --> src/main.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 | use iced::widget::{button, column, row, text};
[INFO] [stdout]    |                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Renderer`, `event`
[INFO] [stdout]   --> src/main.rs:28:51
[INFO] [stdout]    |
[INFO] [stdout] 28 | use iced::{Alignment, Element, Sandbox, Settings, Renderer, event, Application, Subscription, executor, Theme, Command, Rectangle, time, ...
[INFO] [stdout]    |                                                   ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Modifiers`
[INFO] [stdout]   --> src/main.rs:30:37
[INFO] [stdout]    |
[INFO] [stdout] 30 | use iced::keyboard::{self, KeyCode, Modifiers};
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/main.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Frame`, `Path`, `Text`
[INFO] [stdout]   --> src/main.rs:40:26
[INFO] [stdout]    |
[INFO] [stdout] 40 |   Cache, Canvas, Cursor, Frame, Geometry, Path, Text,
[INFO] [stdout]    |                          ^^^^^            ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/bus.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     return Ok(0);
[INFO] [stdout]    |     ------------ any code following this expression is unreachable
[INFO] [stdout] 55 |     return Err(String::from(format!("Error reading from memory bus (No device found in given address: 0x{:x}).", addr)));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Program`
[INFO] [stdout]   --> src/main.rs:32:26
[INFO] [stdout]    |
[INFO] [stdout] 32 | use iced_native::{Event, Program};
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `device::Device`
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use device::Device;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sandbox`
[INFO] [stdout]   --> src/main.rs:28:32
[INFO] [stdout]    |
[INFO] [stdout] 28 | use iced::{Alignment, Element, Sandbox, Settings, Renderer, event, Application, Subscription, executor, Theme, Command, Rectangle, time, ...
[INFO] [stdout]    |                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error; 21 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `RustNESs` (bin "RustNESs" test) due to 2 previous errors; 21 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "e42bdf72a4754d536d2e8769ae84447080757af451bcc9f430e5b802e443226e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e42bdf72a4754d536d2e8769ae84447080757af451bcc9f430e5b802e443226e", kill_on_drop: false }`
[INFO] [stdout] e42bdf72a4754d536d2e8769ae84447080757af451bcc9f430e5b802e443226e
[INFO] testing Bensas/RustNESs against beta-2023-12-22 for beta-1.76-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBensas%2FRustNESs" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Bensas/RustNESs on toolchain beta-2023-12-22
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-12-22" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Bensas/RustNESs
[INFO] finished tweaking git repo https://github.com/Bensas/RustNESs
[INFO] tweaked toml for git repo https://github.com/Bensas/RustNESs written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/Bensas/RustNESs 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" "+beta-2023-12-22" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+beta-2023-12-22" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 10c46c00fb27d762289ec069e1b96d907b3675fe41f73ae36f42af5f6d7926c2
[INFO] running `Command { std: "docker" "start" "-a" "10c46c00fb27d762289ec069e1b96d907b3675fe41f73ae36f42af5f6d7926c2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "10c46c00fb27d762289ec069e1b96d907b3675fe41f73ae36f42af5f6d7926c2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "10c46c00fb27d762289ec069e1b96d907b3675fe41f73ae36f42af5f6d7926c2", kill_on_drop: false }`
[INFO] [stdout] 10c46c00fb27d762289ec069e1b96d907b3675fe41f73ae36f42af5f6d7926c2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2023-12-22" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9d22ecdfeb8cbafbc9b7607a6d3a4041b1eac8935907a126a40f13f2b58e2b07
[INFO] running `Command { std: "docker" "start" "-a" "9d22ecdfeb8cbafbc9b7607a6d3a4041b1eac8935907a126a40f13f2b58e2b07", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.139
[INFO] [stderr]    Compiling proc-macro2 v1.0.49
[INFO] [stderr]    Compiling unicode-ident v1.0.6
[INFO] [stderr]    Compiling quote v1.0.23
[INFO] [stderr]    Compiling syn v1.0.107
[INFO] [stderr]    Compiling pkg-config v0.3.26
[INFO] [stderr]    Compiling libm v0.2.6
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling once_cell v1.17.0
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling thiserror v1.0.38
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling libloading v0.7.4
[INFO] [stderr]    Compiling smallvec v1.10.0
[INFO] [stderr]    Compiling xml-rs v0.8.4
[INFO] [stderr]    Compiling cc v1.0.78
[INFO] [stderr]    Compiling dlib v0.5.0
[INFO] [stderr]    Compiling serde v1.0.152
[INFO] [stderr]    Compiling cty v0.2.2
[INFO] [stderr]    Compiling arrayvec v0.7.2
[INFO] [stderr]    Compiling ahash v0.7.6
[INFO] [stderr]    Compiling crossbeam-utils v0.8.14
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling futures-core v0.3.25
[INFO] [stderr]    Compiling siphasher v0.3.10
[INFO] [stderr]    Compiling slotmap v1.0.6
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling lock_api v0.4.9
[INFO] [stderr]    Compiling cmake v0.1.49
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling phf_shared v0.11.1
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]    Compiling slab v0.4.7
[INFO] [stderr]    Compiling futures-channel v0.3.25
[INFO] [stderr]    Compiling parking_lot_core v0.9.6
[INFO] [stderr]    Compiling futures-task v0.3.25
[INFO] [stderr]    Compiling downcast-rs v1.2.0
[INFO] [stderr]    Compiling scoped-tls v1.0.1
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.13
[INFO] [stderr]    Compiling phf_generator v0.11.1
[INFO] [stderr]    Compiling futures-sink v0.3.25
[INFO] [stderr]    Compiling futures-util v0.3.25
[INFO] [stderr]    Compiling pin-project-lite v0.2.9
[INFO] [stderr]    Compiling smithay-client-toolkit v0.16.0
[INFO] [stderr]    Compiling freetype-sys v0.13.1
[INFO] [stderr]    Compiling expat-sys v2.1.6
[INFO] [stderr]    Compiling raw-window-handle v0.5.0
[INFO] [stderr]    Compiling indexmap v1.9.2
[INFO] [stderr]    Compiling futures-io v0.3.25
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling palette v0.6.1
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling servo-fontconfig-sys v5.1.0
[INFO] [stderr]    Compiling tokio v1.24.2
[INFO] [stderr]    Compiling unicode-width v0.1.10
[INFO] [stderr]    Compiling khronos-egl v4.1.0
[INFO] [stderr]    Compiling getrandom v0.2.8
[INFO] [stderr]    Compiling num_cpus v1.15.0
[INFO] [stderr]    Compiling nix v0.24.3
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling euclid v0.22.7
[INFO] [stderr]    Compiling nix v0.25.1
[INFO] [stderr]    Compiling memmap2 v0.5.8
[INFO] [stderr]    Compiling rayon-core v1.10.1
[INFO] [stderr]    Compiling ash v0.37.2+1.3.238
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]    Compiling ttf-parser v0.18.1
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling termcolor v1.2.0
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling miniz_oxide v0.6.2
[INFO] [stderr]    Compiling codespan-reporting v0.11.1
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]    Compiling lyon_geom v1.0.4
[INFO] [stderr]    Compiling crossbeam-deque v0.8.2
[INFO] [stderr]    Compiling spirv v0.2.0+1.5.4
[INFO] [stderr]    Compiling xcursor v0.3.4
[INFO] [stderr]    Compiling crossbeam-channel v0.5.6
[INFO] [stderr]    Compiling twox-hash v1.6.3
[INFO] [stderr]    Compiling lyon_path v1.0.3
[INFO] [stderr]    Compiling gpu-descriptor-types v0.1.1
[INFO] [stderr]    Compiling gpu-alloc-types v0.2.0
[INFO] [stderr]    Compiling cfg_aliases v0.1.1
[INFO] [stderr]    Compiling ab_glyph_rasterizer v0.1.8
[INFO] [stderr]    Compiling unicode-xid v0.2.4
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling hexf-parse v0.2.1
[INFO] [stderr]    Compiling gpu-alloc v0.5.3
[INFO] [stderr]    Compiling wayland-commons v0.29.5
[INFO] [stderr]    Compiling wgpu-core v0.14.2
[INFO] [stderr]    Compiling gpu-descriptor v0.2.3
[INFO] [stderr]    Compiling fxhash v0.2.1
[INFO] [stderr]    Compiling flate2 v1.0.25
[INFO] [stderr]    Compiling float_next_after v0.1.5
[INFO] [stderr]    Compiling toml v0.5.10
[INFO] [stderr]    Compiling crossfont v0.5.1
[INFO] [stderr]    Compiling wgpu-types v0.14.1
[INFO] [stderr]    Compiling arrayref v0.3.6
[INFO] [stderr]    Compiling either v1.8.0
[INFO] [stderr]    Compiling renderdoc-sys v0.7.1
[INFO] [stderr]    Compiling foreign-types-shared v0.3.1
[INFO] [stderr]    Compiling glow v0.11.2
[INFO] [stderr]    Compiling profiling v1.0.7
[INFO] [stderr]    Compiling png v0.17.7
[INFO] [stderr]    Compiling rayon v1.6.1
[INFO] [stderr]    Compiling servo-fontconfig v0.5.1
[INFO] [stderr]    Compiling lyon_algorithms v1.0.2
[INFO] [stderr]    Compiling freetype-rs v0.26.0
[INFO] [stderr]    Compiling gethostname v0.2.3
[INFO] [stderr]    Compiling owned_ttf_parser v0.18.0
[INFO] [stderr]    Compiling nix v0.22.3
[INFO] [stderr]    Compiling ab_glyph v0.2.19
[INFO] [stderr]    Compiling x11-dl v2.20.1
[INFO] [stderr]    Compiling raw-window-handle v0.4.3
[INFO] [stderr]    Compiling find-crate v0.6.3
[INFO] [stderr]    Compiling unicode-segmentation v1.10.0
[INFO] [stderr]    Compiling arrayvec v0.5.2
[INFO] [stderr]    Compiling xi-unicode v0.3.0
[INFO] [stderr]    Compiling glam v0.21.3
[INFO] [stderr]    Compiling glyph_brush_layout v0.2.3
[INFO] [stderr]    Compiling encase_derive_impl v0.3.0
[INFO] [stderr]    Compiling ordered-float v3.4.0
[INFO] [stderr]    Compiling raw-window-handle v0.3.4
[INFO] [stderr]    Compiling mio v0.8.5
[INFO] [stderr]    Compiling instant v0.1.12
[INFO] [stderr]    Compiling percent-encoding v2.2.0
[INFO] [stderr]    Compiling svg_fmt v0.4.1
[INFO] [stderr]    Compiling const_panic v0.2.7
[INFO] [stderr]    Compiling guillotiere v0.6.2
[INFO] [stderr]    Compiling glyph_brush_draw_cache v0.1.5
[INFO] [stderr]    Compiling wayland-cursor v0.29.5
[INFO] [stderr]    Compiling glyph_brush v0.7.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.38
[INFO] [stderr]    Compiling bytemuck_derive v1.3.0
[INFO] [stderr]    Compiling futures-macro v0.3.25
[INFO] [stderr]    Compiling phf_macros v0.11.1
[INFO] [stderr]    Compiling palette_derive v0.6.1
[INFO] [stderr]    Compiling foreign-types-macros v0.2.2
[INFO] [stderr]    Compiling encase_derive v0.3.0
[INFO] [stderr]    Compiling bytemuck v1.12.3
[INFO] [stderr]    Compiling foreign-types v0.5.0
[INFO] [stderr]    Compiling phf v0.11.1
[INFO] [stderr]    Compiling x11rb v0.9.0
[INFO] [stderr]    Compiling safe_arch v0.5.2
[INFO] [stderr]    Compiling tiny-skia-path v0.7.0
[INFO] [stderr]    Compiling calloop v0.10.5
[INFO] [stderr]    Compiling naga v0.10.0
[INFO] [stderr]    Compiling lyon_tessellation v1.0.8
[INFO] [stderr]    Compiling encase v0.3.0
[INFO] [stderr]    Compiling tiny-skia v0.7.0
[INFO] [stderr]    Compiling lyon v1.0.1
[INFO] [stderr]    Compiling iced_core v0.7.0
[INFO] [stderr]    Compiling iced_style v0.6.0
[INFO] [stderr]    Compiling futures-executor v0.3.25
[INFO] [stderr]    Compiling futures v0.3.25
[INFO] [stderr]    Compiling iced_futures v0.5.1
[INFO] [stderr]    Compiling iced_native v0.8.0
[INFO] [stderr]    Compiling clipboard_x11 v0.4.0
[INFO] [stderr]    Compiling iced_graphics v0.6.0
[INFO] [stderr]    Compiling wgpu-hal v0.14.1
[INFO] [stderr]    Compiling wgpu v0.14.2
[INFO] [stderr]    Compiling wgpu_glyph v0.18.0
[INFO] [stderr]    Compiling iced_wgpu v0.8.0
[INFO] [stderr]    Compiling smithay-clipboard v0.6.6
[INFO] [stderr]    Compiling sctk-adwaita v0.4.3
[INFO] [stderr]    Compiling clipboard_wayland v0.2.0
[INFO] [stderr]    Compiling window_clipboard v0.2.4
[INFO] [stderr]    Compiling winit v0.27.5
[INFO] [stderr]    Compiling iced_winit v0.7.0
[INFO] [stderr]    Compiling iced v0.7.0
[INFO] [stderr]    Compiling RustNESs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`
[INFO] [stdout]  --> src/ben2C02.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{sync::{Arc, Mutex}, cell::RefCell, rc::Rc};
[INFO] [stdout]   |                  ^^^  ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/ben2C02.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 |   use rand::Rng;
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/ben6502.rs:423:110
[INFO] [stdout]     |
[INFO] [stdout] 423 |             self.absolute_mem_address = (self.registers.pc as i16 + self.relative_mem_address as i16) as u16;;
[INFO] [stdout]     |                                                                                                              ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/ben6502.rs:434:110
[INFO] [stdout]     |
[INFO] [stdout] 434 |             self.absolute_mem_address = (self.registers.pc as i16 + self.relative_mem_address as i16) as u16;;
[INFO] [stdout]     |                                                                                                              ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`
[INFO] [stdout]  --> src/bus.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{sync::{Arc, Mutex}, cell::RefCell, rc::Rc};
[INFO] [stdout]   |                  ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, `rc::Rc`
[INFO] [stdout]  --> src/cartridge.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fs, rc::Rc, sync::{Mutex, Arc}};
[INFO] [stdout]   |               ^^^^^^         ^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::cell::RefCell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `MutexGuard`, `Mutex`
[INFO] [stdout]   --> src/main.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::sync::{Mutex, Arc, MutexGuard};
[INFO] [stdout]    |                 ^^^^^  ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ram::Ram2K`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use ram::Ram2K;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cartridge::Cartridge`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use cartridge::Cartridge;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `button`
[INFO] [stdout]   --> src/main.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 | use iced::widget::{button, column, row, text};
[INFO] [stdout]    |                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Renderer`, `event`
[INFO] [stdout]   --> src/main.rs:28:51
[INFO] [stdout]    |
[INFO] [stdout] 28 | use iced::{Alignment, Element, Sandbox, Settings, Renderer, event, Application, Subscription, executor, Theme, Command, Rectangle, time, ...
[INFO] [stdout]    |                                                   ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Modifiers`
[INFO] [stdout]   --> src/main.rs:30:37
[INFO] [stdout]    |
[INFO] [stdout] 30 | use iced::keyboard::{self, KeyCode, Modifiers};
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/main.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Frame`, `Path`, `Text`
[INFO] [stdout]   --> src/main.rs:40:26
[INFO] [stdout]    |
[INFO] [stdout] 40 |   Cache, Canvas, Cursor, Frame, Geometry, Path, Text,
[INFO] [stdout]    |                          ^^^^^            ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/bus.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     return Ok(0);
[INFO] [stdout]    |     ------------ any code following this expression is unreachable
[INFO] [stdout] 55 |     return Err(String::from(format!("Error reading from memory bus (No device found in given address: 0x{:x}).", addr)));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Program`
[INFO] [stdout]   --> src/main.rs:32:26
[INFO] [stdout]    |
[INFO] [stdout] 32 | use iced_native::{Event, Program};
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `device::Device`
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use device::Device;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sandbox`
[INFO] [stdout]   --> src/main.rs:28:32
[INFO] [stdout]    |
[INFO] [stdout] 28 | use iced::{Alignment, Element, Sandbox, Settings, Renderer, event, Application, Subscription, executor, Theme, Command, Rectangle, time, ...
[INFO] [stdout]    |                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/ben2C02.rs:985:13
[INFO] [stdout]     |
[INFO] [stdout] 985 |         Err(message) => {
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/ben2C02.rs:998:13
[INFO] [stdout]     |
[INFO] [stdout] 998 |         Err(message) => {
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/ben6502.rs:373:7
[INFO] [stdout]     |
[INFO] [stdout] 373 |       _ => return
[INFO] [stdout]     |       ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr_high`
[INFO] [stdout]    --> src/ben6502.rs:294:13
[INFO] [stdout]     |
[INFO] [stdout] 294 |         let addr_high = 0;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_addr_high`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `readOnly`
[INFO] [stdout]   --> src/bus.rs:48:37
[INFO] [stdout]    |
[INFO] [stdout] 48 |   pub fn read(&mut self, addr: u16, readOnly: bool) -> Result<u8, String> {
[INFO] [stdout]    |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_readOnly`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `readOnly`
[INFO] [stdout]   --> src/bus.rs:58:56
[INFO] [stdout]    |
[INFO] [stdout] 58 |   pub fn read_word_little_endian(&mut self, addr: u16, readOnly: bool) -> Result<u16, String> {
[INFO] [stdout]    |                                                        ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_readOnly`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/controller.rs:35:34
[INFO] [stdout]    |
[INFO] [stdout] 35 |   fn write(&mut self, addr: u16, data: u8) -> Result<(), String> {
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flags`
[INFO] [stdout]    --> src/main.rs:124:10
[INFO] [stdout]     |
[INFO] [stdout] 124 |   fn new(flags: Self::Flags) -> (RustNESs, iced::Command<EmulatorMessage>) {
[INFO] [stdout]     |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |     let mut cpu_bus = Bus16Bit::new(rom_file_path);
[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 variable: `i`
[INFO] [stdout]    --> src/main.rs:193:15
[INFO] [stdout]     |
[INFO] [stdout] 193 |           for i in 0..500 {
[INFO] [stdout]     |               ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_render_time`
[INFO] [stdout]    --> src/main.rs:204:15
[INFO] [stdout]     |
[INFO] [stdout] 204 |           let start_render_time = Instant::now();
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_render_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:225:86
[INFO] [stdout]     |
[INFO] [stdout] 225 |             Event::Keyboard(keyboard::Event::KeyReleased { key_code: KeyCode::Space, modifiers }) => {
[INFO] [stdout]     |                                                                                      ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:229:85
[INFO] [stdout]     |
[INFO] [stdout] 229 |             Event::Keyboard(keyboard::Event::KeyReleased { key_code: KeyCode::Key5, modifiers }) => {
[INFO] [stdout]     |                                                                                     ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:233:82
[INFO] [stdout]     |
[INFO] [stdout] 233 |             Event::Keyboard(keyboard::Event::KeyReleased { key_code: KeyCode::F, modifiers }) => {
[INFO] [stdout]     |                                                                                  ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:237:82
[INFO] [stdout]     |
[INFO] [stdout] 237 |             Event::Keyboard(keyboard::Event::KeyReleased { key_code: KeyCode::P, modifiers }) => {
[INFO] [stdout]     |                                                                                  ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:241:86
[INFO] [stdout]     |
[INFO] [stdout] 241 |             Event::Keyboard(keyboard::Event::KeyReleased { key_code: KeyCode::Enter, modifiers }) => {
[INFO] [stdout]     |                                                                                      ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `em`
[INFO] [stdout]    --> src/main.rs:323:100
[INFO] [stdout]     |
[INFO] [stdout] 323 |       subs.push(iced::time::every(time::Duration::from_millis(1000 / self.cycles_per_second)).map(|em| {EmulatorMessage::NextFrame}));
[INFO] [stdout]     |                                                                                                    ^^ help: if this is intentional, prefix it with an underscore: `_em`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cursor`
[INFO] [stdout]    --> src/main.rs:428:7
[INFO] [stdout]     |
[INFO] [stdout] 428 |       cursor: Cursor,
[INFO] [stdout]     |       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cursor`
[INFO] [stdout]    --> src/main.rs:483:7
[INFO] [stdout]     |
[INFO] [stdout] 483 |       cursor: Cursor,
[INFO] [stdout]     |       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cursor`
[INFO] [stdout]    --> src/main.rs:542:7
[INFO] [stdout]     |
[INFO] [stdout] 542 |       cursor: Cursor,
[INFO] [stdout]     |       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cursor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:594:75
[INFO] [stdout]     |
[INFO] [stdout] 594 |       Event::Keyboard(keyboard::Event::KeyPressed { key_code: KeyCode::W, modifiers }) => {
[INFO] [stdout]     |                                                                           ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:597:76
[INFO] [stdout]     |
[INFO] [stdout] 597 |       Event::Keyboard(keyboard::Event::KeyReleased { key_code: KeyCode::W, modifiers }) => {
[INFO] [stdout]     |                                                                            ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:600:75
[INFO] [stdout]     |
[INFO] [stdout] 600 |       Event::Keyboard(keyboard::Event::KeyPressed { key_code: KeyCode::A, modifiers }) => {
[INFO] [stdout]     |                                                                           ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:603:76
[INFO] [stdout]     |
[INFO] [stdout] 603 |       Event::Keyboard(keyboard::Event::KeyReleased { key_code: KeyCode::A, modifiers }) => {
[INFO] [stdout]     |                                                                            ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:606:75
[INFO] [stdout]     |
[INFO] [stdout] 606 |       Event::Keyboard(keyboard::Event::KeyPressed { key_code: KeyCode::S, modifiers }) => {
[INFO] [stdout]     |                                                                           ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:609:76
[INFO] [stdout]     |
[INFO] [stdout] 609 |       Event::Keyboard(keyboard::Event::KeyReleased { key_code: KeyCode::S, modifiers }) => {
[INFO] [stdout]     |                                                                            ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:612:75
[INFO] [stdout]     |
[INFO] [stdout] 612 |       Event::Keyboard(keyboard::Event::KeyPressed { key_code: KeyCode::D, modifiers }) => {
[INFO] [stdout]     |                                                                           ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:615:76
[INFO] [stdout]     |
[INFO] [stdout] 615 |       Event::Keyboard(keyboard::Event::KeyReleased { key_code: KeyCode::D, modifiers }) => {
[INFO] [stdout]     |                                                                            ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:618:75
[INFO] [stdout]     |
[INFO] [stdout] 618 |       Event::Keyboard(keyboard::Event::KeyPressed { key_code: KeyCode::M, modifiers }) => {
[INFO] [stdout]     |                                                                           ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:621:76
[INFO] [stdout]     |
[INFO] [stdout] 621 |       Event::Keyboard(keyboard::Event::KeyReleased { key_code: KeyCode::M, modifiers }) => {
[INFO] [stdout]     |                                                                            ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:624:75
[INFO] [stdout]     |
[INFO] [stdout] 624 |       Event::Keyboard(keyboard::Event::KeyPressed { key_code: KeyCode::N, modifiers }) => {
[INFO] [stdout]     |                                                                           ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:627:76
[INFO] [stdout]     |
[INFO] [stdout] 627 |       Event::Keyboard(keyboard::Event::KeyReleased { key_code: KeyCode::N, modifiers }) => {
[INFO] [stdout]     |                                                                            ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:630:75
[INFO] [stdout]     |
[INFO] [stdout] 630 |       Event::Keyboard(keyboard::Event::KeyPressed { key_code: KeyCode::J, modifiers }) => {
[INFO] [stdout]     |                                                                           ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:633:76
[INFO] [stdout]     |
[INFO] [stdout] 633 |       Event::Keyboard(keyboard::Event::KeyReleased { key_code: KeyCode::J, modifiers }) => {
[INFO] [stdout]     |                                                                            ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:636:75
[INFO] [stdout]     |
[INFO] [stdout] 636 |       Event::Keyboard(keyboard::Event::KeyPressed { key_code: KeyCode::H, modifiers }) => {
[INFO] [stdout]     |                                                                           ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifiers`
[INFO] [stdout]    --> src/main.rs:639:76
[INFO] [stdout]     |
[INFO] [stdout] 639 |       Event::Keyboard(keyboard::Event::KeyReleased { key_code: KeyCode::H, modifiers }) => {
[INFO] [stdout]     |                                                                            ^^^^^^^^^ help: try ignoring the field: `modifiers: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_sprite_overflow` and `get_sprite_zero_hit` are never used
[INFO] [stdout]    --> src/ben2C02.rs:96:12
[INFO] [stdout]     |
[INFO] [stdout] 88  |   impl StatusRegister {
[INFO] [stdout]     |   ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 96  |     pub fn get_sprite_overflow(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn get_sprite_zero_hit(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/ben2C02.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout] 125 |   impl MaskRegister {
[INFO] [stdout]     |   ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn get_grayscale(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     fn set_grayscale(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     fn set_render_background_left(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     fn set_render_sprites_left(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     fn set_render_background(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     fn set_render_sprites(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn get_enhance_red(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     fn set_enhance_red(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     pub fn get_enhance_green(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     fn set_enhance_green(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub fn get_enhance_blue(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 |     fn set_enhance_blue(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/ben2C02.rs:214:8
[INFO] [stdout]     |
[INFO] [stdout] 202 |   impl ControllerRegister {
[INFO] [stdout]     |   ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 214 |     fn set_nametable_x(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     fn set_nametable_y(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     fn set_increment_mode(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     fn set_pattern_sprite(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 246 |     fn set_pattern_background(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     fn set_sprite_size(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub fn get_slave_mode(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     fn set_slave_mode(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     fn set_enable_nmi(&mut self, value: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name_tables_vis_buffer` is never read
[INFO] [stdout]    --> src/ben2C02.rs:401:5
[INFO] [stdout]     |
[INFO] [stdout] 346 |   pub struct Ben2C02 {
[INFO] [stdout]     |              ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 401 |     name_tables_vis_buffer: [[[Color; 256]; 240]; 2],
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_unused_bit` is never used
[INFO] [stdout]   --> src/ben6502.rs:67:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Status {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 67 |   pub fn get_unused_bit(&self) -> u8 {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `irq` is never used
[INFO] [stdout]    --> src/ben6502.rs:914:10
[INFO] [stdout]     |
[INFO] [stdout] 262 | impl Ben6502 {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 914 |   pub fn irq(&mut self) {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `OnscreenLo` and `OnscreenHi` are never constructed
[INFO] [stdout]   --> src/cartridge.rs:9:3
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub enum MirroringMode {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 9  |   OnscreenLo,
[INFO] [stdout]    |   ^^^^^^^^^^
[INFO] [stdout] 10 |   OnscreenHi
[INFO] [stdout]    |   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MirroringMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `prg_chunks`, `chr_chunks`, `prg_ram_size`, `tv_system_1`, and `tv_system_2` are never read
[INFO] [stdout]    --> src/cartridge.rs:116:3
[INFO] [stdout]     |
[INFO] [stdout] 115 | struct RomHeader {
[INFO] [stdout]     |        --------- fields in this struct
[INFO] [stdout] 116 |   name: [u8; 4],
[INFO] [stdout]     |   ^^^^
[INFO] [stdout] 117 |   prg_chunks: u8,
[INFO] [stdout]     |   ^^^^^^^^^^
[INFO] [stdout] 118 |   chr_chunks: u8,
[INFO] [stdout]     |   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |   prg_ram_size: u8,
[INFO] [stdout]     |   ^^^^^^^^^^^^
[INFO] [stdout] 122 |   tv_system_1: u8,
[INFO] [stdout]     |   ^^^^^^^^^^^
[INFO] [stdout] 123 |   tv_system_2: u8
[INFO] [stdout]     |   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rom_header` is never read
[INFO] [stdout]    --> src/cartridge.rs:130:3
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub struct Cartridge {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 130 |   rom_header: RomHeader,
[INFO] [stdout]     |   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `num_CHR_banks` is never read
[INFO] [stdout]   --> src/mapper.rs:15:3
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Mapper000 {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |   num_CHR_banks: u8,
[INFO] [stdout]    |   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decimal_word_to_hex_str` is never used
[INFO] [stdout]   --> src/utils.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 |   pub fn decimal_word_to_hex_str(word: u16) -> String {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `RustNESs` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `rust_ness`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `ben2C02` should have a snake case name
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | mod ben2C02;
[INFO] [stdout]   |     ^^^^^^^ help: convert the identifier to snake case: `ben2_c02`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:46:3
[INFO] [stdout]    |
[INFO] [stdout] 46 |   RustNESs::run(Settings::default());
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 46 |   let _ = RustNESs::run(Settings::default());
[INFO] [stdout]    |   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tableIndex` should have a snake case name
[INFO] [stdout]    --> src/main.rs:523:9
[INFO] [stdout]     |
[INFO] [stdout] 523 |     for tableIndex in 0..2 {
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `table_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tableIndex` should have a snake case name
[INFO] [stdout]    --> src/main.rs:546:11
[INFO] [stdout]     |
[INFO] [stdout] 546 |       for tableIndex in 0..2 {
[INFO] [stdout]     |           ^^^^^^^^^^ help: convert the identifier to snake case: `table_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tileIndexRow` should have a snake case name
[INFO] [stdout]    --> src/ben2C02.rs:837:13
[INFO] [stdout]     |
[INFO] [stdout] 837 |         for tileIndexRow in 0..16 {
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `tile_index_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `tileIndexCol` should have a snake case name
[INFO] [stdout]    --> src/ben2C02.rs:838:15
[INFO] [stdout]     |
[INFO] [stdout] 838 |           for tileIndexCol in 0..16 {
[INFO] [stdout]     |               ^^^^^^^^^^^^ help: convert the identifier to snake case: `tile_index_col`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pixelRow` should have a snake case name
[INFO] [stdout]    --> src/ben2C02.rs:839:17
[INFO] [stdout]     |
[INFO] [stdout] 839 |             for pixelRow in 0..8 {
[INFO] [stdout]     |                 ^^^^^^^^ help: convert the identifier to snake case: `pixel_row`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pixelCol` should have a snake case name
[INFO] [stdout]    --> src/ben2C02.rs:842:19
[INFO] [stdout]     |
[INFO] [stdout] 842 |               for pixelCol in 0..8 {
[INFO] [stdout]     |                   ^^^^^^^^ help: convert the identifier to snake case: `pixel_col`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `PPU` should have a snake case name
[INFO] [stdout]  --> src/bus.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 |   pub PPU: Rc<RefCell<Ben2C02>>,
[INFO] [stdout]   |       ^^^ help: convert the identifier to snake case: `ppu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `PPU` should have a snake case name
[INFO] [stdout]   --> src/bus.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let PPU = Rc::new(RefCell::new(Ben2C02::new(cartridge.clone())));
[INFO] [stdout]    |         ^^^ help: convert the identifier to snake case: `ppu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `readOnly` should have a snake case name
[INFO] [stdout]   --> src/bus.rs:48:37
[INFO] [stdout]    |
[INFO] [stdout] 48 |   pub fn read(&mut self, addr: u16, readOnly: bool) -> Result<u8, String> {
[INFO] [stdout]    |                                     ^^^^^^^^ help: convert the identifier to snake case: `read_only`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `readOnly` should have a snake case name
[INFO] [stdout]   --> src/bus.rs:58:56
[INFO] [stdout]    |
[INFO] [stdout] 58 |   pub fn read_word_little_endian(&mut self, addr: u16, readOnly: bool) -> Result<u16, String> {
[INFO] [stdout]    |                                                        ^^^^^^^^ help: convert the identifier to snake case: `read_only`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `PRG_data` should have a snake case name
[INFO] [stdout]    --> src/cartridge.rs:131:3
[INFO] [stdout]     |
[INFO] [stdout] 131 |   PRG_data: Vec<u8>,
[INFO] [stdout]     |   ^^^^^^^^ help: convert the identifier to snake case: `prg_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `CHR_data` should have a snake case name
[INFO] [stdout]    --> src/cartridge.rs:132:3
[INFO] [stdout]     |
[INFO] [stdout] 132 |   CHR_data: Vec<u8>,
[INFO] [stdout]     |   ^^^^^^^^ help: convert the identifier to snake case: `chr_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait method `mapReadAddressFromCPU` should have a snake case name
[INFO] [stdout]  --> src/mapper.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 |   fn mapReadAddressFromCPU(&self, addr: u16) -> Result<u16, String>;
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `map_read_address_from_cpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait method `mapWriteAddressFromCPU` should have a snake case name
[INFO] [stdout]  --> src/mapper.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 |   fn mapWriteAddressFromCPU(&self, addr: u16) -> Result<u16, String>;
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `map_write_address_from_cpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait method `mapReadAddressFromPPU` should have a snake case name
[INFO] [stdout]  --> src/mapper.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 |   fn mapReadAddressFromPPU(&self, addr: u16) -> Result<u16, String>;
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `map_read_address_from_ppu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait method `mapWriteAddressFromPPU` should have a snake case name
[INFO] [stdout]  --> src/mapper.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 |   fn mapWriteAddressFromPPU(&self, addr: u16) -> Result<u16, String>;
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `map_write_address_from_ppu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `num_PRG_banks` should have a snake case name
[INFO] [stdout]   --> src/mapper.rs:14:3
[INFO] [stdout]    |
[INFO] [stdout] 14 |   num_PRG_banks: u8,
[INFO] [stdout]    |   ^^^^^^^^^^^^^ help: convert the identifier to snake case: `num_prg_banks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `num_CHR_banks` should have a snake case name
[INFO] [stdout]   --> src/mapper.rs:15:3
[INFO] [stdout]    |
[INFO] [stdout] 15 |   num_CHR_banks: u8,
[INFO] [stdout]    |   ^^^^^^^^^^^^^ help: convert the identifier to snake case: `num_chr_banks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `num_PRG_banks` should have a snake case name
[INFO] [stdout]   --> src/mapper.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 |   pub fn new(num_PRG_banks: u8, num_CHR_banks: u8) -> Mapper000 {
[INFO] [stdout]    |              ^^^^^^^^^^^^^ help: convert the identifier to snake case: `num_prg_banks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `num_CHR_banks` should have a snake case name
[INFO] [stdout]   --> src/mapper.rs:19:33
[INFO] [stdout]    |
[INFO] [stdout] 19 |   pub fn new(num_PRG_banks: u8, num_CHR_banks: u8) -> Mapper000 {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^ help: convert the identifier to snake case: `num_chr_banks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 90 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1m 01s
[INFO] running `Command { std: "docker" "inspect" "9d22ecdfeb8cbafbc9b7607a6d3a4041b1eac8935907a126a40f13f2b58e2b07", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9d22ecdfeb8cbafbc9b7607a6d3a4041b1eac8935907a126a40f13f2b58e2b07", kill_on_drop: false }`
[INFO] [stdout] 9d22ecdfeb8cbafbc9b7607a6d3a4041b1eac8935907a126a40f13f2b58e2b07
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2023-12-22" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 724dbbefbfed94cd4002f75d11d2379213bff8aa5ea0576a9fa39902b2495189
[INFO] running `Command { std: "docker" "start" "-a" "724dbbefbfed94cd4002f75d11d2379213bff8aa5ea0576a9fa39902b2495189", kill_on_drop: false }`
[INFO] [stderr]    Compiling RustNESs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `crate::Status`
[INFO] [stdout]   --> src/ben6502.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     use crate::Status;
[INFO] [stdout]    |         ^^^^^^^^^^^^^ no `Status` in the root
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items instead
[INFO] [stdout]    |
[INFO] [stdout] 94 |     use crate::ben6502::Status;
[INFO] [stdout]    |         ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 94 |     use crate::canvas::event::Status;
[INFO] [stdout]    |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 94 |     use iced::event::Status;
[INFO] [stdout]    |         ~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 94 |     use iced_native::event::Status;
[INFO] [stdout]    |         ~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`
[INFO] [stdout]  --> src/ben2C02.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{sync::{Arc, Mutex}, cell::RefCell, rc::Rc};
[INFO] [stdout]   |                  ^^^  ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/ben2C02.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 |   use rand::Rng;
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/ben6502.rs:423:110
[INFO] [stdout]     |
[INFO] [stdout] 423 |             self.absolute_mem_address = (self.registers.pc as i16 + self.relative_mem_address as i16) as u16;;
[INFO] [stdout]     |                                                                                                              ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/ben6502.rs:434:110
[INFO] [stdout]     |
[INFO] [stdout] 434 |             self.absolute_mem_address = (self.registers.pc as i16 + self.relative_mem_address as i16) as u16;;
[INFO] [stdout]     |                                                                                                              ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`
[INFO] [stdout]  --> src/bus.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{sync::{Arc, Mutex}, cell::RefCell, rc::Rc};
[INFO] [stdout]   |                  ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::Bus16Bit`
[INFO] [stdout]    --> src/bus.rs:114:7
[INFO] [stdout]     |
[INFO] [stdout] 114 |   use crate::Bus16Bit;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`, `rc::Rc`
[INFO] [stdout]  --> src/cartridge.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fs, rc::Rc, sync::{Mutex, Arc}};
[INFO] [stdout]   |               ^^^^^^         ^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::cell::RefCell;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `MutexGuard`, `Mutex`
[INFO] [stdout]   --> src/main.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::sync::{Mutex, Arc, MutexGuard};
[INFO] [stdout]    |                 ^^^^^  ^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ram::Ram2K`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use ram::Ram2K;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cartridge::Cartridge`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use cartridge::Cartridge;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `button`
[INFO] [stdout]   --> src/main.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 | use iced::widget::{button, column, row, text};
[INFO] [stdout]    |                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Renderer`, `event`
[INFO] [stdout]   --> src/main.rs:28:51
[INFO] [stdout]    |
[INFO] [stdout] 28 | use iced::{Alignment, Element, Sandbox, Settings, Renderer, event, Application, Subscription, executor, Theme, Command, Rectangle, time, ...
[INFO] [stdout]    |                                                   ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Modifiers`
[INFO] [stdout]   --> src/main.rs:30:37
[INFO] [stdout]    |
[INFO] [stdout] 30 | use iced::keyboard::{self, KeyCode, Modifiers};
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/main.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Frame`, `Path`, `Text`
[INFO] [stdout]   --> src/main.rs:40:26
[INFO] [stdout]    |
[INFO] [stdout] 40 |   Cache, Canvas, Cursor, Frame, Geometry, Path, Text,
[INFO] [stdout]    |                          ^^^^^            ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/bus.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     return Ok(0);
[INFO] [stdout]    |     ------------ any code following this expression is unreachable
[INFO] [stdout] 55 |     return Err(String::from(format!("Error reading from memory bus (No device found in given address: 0x{:x}).", addr)));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Program`
[INFO] [stdout]   --> src/main.rs:32:26
[INFO] [stdout]    |
[INFO] [stdout] 32 | use iced_native::{Event, Program};
[INFO] [stdout]    |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `device::Device`
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use device::Device;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sandbox`
[INFO] [stdout]   --> src/main.rs:28:32
[INFO] [stdout]    |
[INFO] [stdout] 28 | use iced::{Alignment, Element, Sandbox, Settings, Renderer, event, Application, Subscription, executor, Theme, Command, Rectangle, time, ...
[INFO] [stdout]    |                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 21 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `RustNESs` (bin "RustNESs" test) due to 2 previous errors; 21 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "724dbbefbfed94cd4002f75d11d2379213bff8aa5ea0576a9fa39902b2495189", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "724dbbefbfed94cd4002f75d11d2379213bff8aa5ea0576a9fa39902b2495189", kill_on_drop: false }`
[INFO] [stdout] 724dbbefbfed94cd4002f75d11d2379213bff8aa5ea0576a9fa39902b2495189
