[INFO] cloning repository https://github.com/mj-hd/rnes
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mj-hd/rnes" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmj-hd%2Frnes", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmj-hd%2Frnes'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d1976baa6d0a5ee2ff11e17d4aa2214abc5d3e8b
[INFO] testing mj-hd/rnes/d1976baa6d0a5ee2ff11e17d4aa2214abc5d3e8b against 1.97.0-beta.6 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmj-hd%2Frnes" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mj-hd/rnes
[INFO] finished tweaking git repo https://github.com/mj-hd/rnes
[INFO] tweaked toml for git repo https://github.com/mj-hd/rnes written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mj-hd/rnes on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mj-hd/rnes 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.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded winit_input_helper v0.9.0
[INFO] [stderr]   Downloaded wayland-sys v0.28.5
[INFO] [stderr]   Downloaded gfx-backend-empty v0.6.0
[INFO] [stderr]   Downloaded gfx-descriptor v0.2.0
[INFO] [stderr]   Downloaded fs2 v0.4.3
[INFO] [stderr]   Downloaded bitmatch v0.1.1
[INFO] [stderr]   Downloaded boolean_expression v0.3.11
[INFO] [stderr]   Downloaded scoped-tls v1.0.0
[INFO] [stderr]   Downloaded wayland-client v0.28.5
[INFO] [stderr]   Downloaded dlib v0.5.0
[INFO] [stderr]   Downloaded dlib v0.4.2
[INFO] [stderr]   Downloaded winapi-build v0.1.1
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.23
[INFO] [stderr]   Downloaded mio-extras v2.0.6
[INFO] [stderr]   Downloaded itertools v0.9.0
[INFO] [stderr]   Downloaded xcursor v0.3.3
[INFO] [stderr]   Downloaded utf8parse v0.2.0
[INFO] [stderr]   Downloaded gfx-memory v0.2.2
[INFO] [stderr]   Downloaded ws2_32-sys v0.2.1
[INFO] [stderr]   Downloaded typed-arena v2.0.1
[INFO] [stderr]   Downloaded either v1.6.1
[INFO] [stderr]   Downloaded nibble_vec v0.1.0
[INFO] [stderr]   Downloaded dirs-next v2.0.0
[INFO] [stderr]   Downloaded dirs-sys-next v0.1.2
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.73
[INFO] [stderr]   Downloaded thunderdome v0.3.0
[INFO] [stderr]   Downloaded andrew v0.3.1
[INFO] [stderr]   Downloaded wayland-cursor v0.28.5
[INFO] [stderr]   Downloaded iovec v0.1.4
[INFO] [stderr]   Downloaded endian-type v0.1.2
[INFO] [stderr]   Downloaded proc-macro-nested v0.1.7
[INFO] [stderr]   Downloaded proc-macro-hack v0.5.19
[INFO] [stderr]   Downloaded futures-sink v0.3.14
[INFO] [stderr]   Downloaded futures-macro v0.3.14
[INFO] [stderr]   Downloaded humantime v2.1.0
[INFO] [stderr]   Downloaded bitfield v0.13.2
[INFO] [stderr]   Downloaded env_logger v0.8.3
[INFO] [stderr]   Downloaded futures-io v0.3.14
[INFO] [stderr]   Downloaded futures-core v0.3.14
[INFO] [stderr]   Downloaded pollster v0.2.4
[INFO] [stderr]   Downloaded fuchsia-zircon-sys v0.3.3
[INFO] [stderr]   Downloaded redox_users v0.4.0
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.73
[INFO] [stderr]   Downloaded gfx-auxil v0.7.0
[INFO] [stderr]   Downloaded thiserror-impl v1.0.24
[INFO] [stderr]   Downloaded wgpu-types v0.6.1
[INFO] [stderr]   Downloaded owned_ttf_parser v0.6.0
[INFO] [stderr]   Downloaded redox_syscall v0.2.7
[INFO] [stderr]   Downloaded rayon-core v1.9.0
[INFO] [stderr]   Downloaded calloop v0.6.5
[INFO] [stderr]   Downloaded thiserror v1.0.24
[INFO] [stderr]   Downloaded memmap2 v0.1.0
[INFO] [stderr]   Downloaded net2 v0.2.37
[INFO] [stderr]   Downloaded getrandom v0.2.2
[INFO] [stderr]   Downloaded miow v0.2.2
[INFO] [stderr]   Downloaded fuchsia-zircon v0.3.3
[INFO] [stderr]   Downloaded pixels v0.2.0
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.73
[INFO] [stderr]   Downloaded d3d12 v0.3.2
[INFO] [stderr]   Downloaded futures-task v0.3.14
[INFO] [stderr]   Downloaded num-rational v0.1.42
[INFO] [stderr]   Downloaded wayland-commons v0.28.5
[INFO] [stderr]   Downloaded futures-channel v0.3.14
[INFO] [stderr]   Downloaded futures-executor v0.3.14
[INFO] [stderr]   Downloaded wayland-scanner v0.28.5
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.73
[INFO] [stderr]   Downloaded png v0.12.0
[INFO] [stderr]   Downloaded rayon v1.5.0
[INFO] [stderr]   Downloaded gif v0.10.3
[INFO] [stderr]   Downloaded proc-macro2 v1.0.26
[INFO] [stderr]   Downloaded libloading v0.6.7
[INFO] [stderr]   Downloaded rusttype v0.9.2
[INFO] [stderr]   Downloaded gfx-backend-vulkan v0.6.5
[INFO] [stderr]   Downloaded futures v0.3.14
[INFO] [stderr]   Downloaded ultraviolet v0.4.6
[INFO] [stderr]   Downloaded syn v0.15.44
[INFO] [stderr]   Downloaded regex v1.5.3
[INFO] [stderr]   Downloaded kernel32-sys v0.2.2
[INFO] [stderr]   Downloaded cc v1.0.67
[INFO] [stderr]   Downloaded gfx-hal v0.6.0
[INFO] [stderr]   Downloaded x11 v2.18.2
[INFO] [stderr]   Downloaded js-sys v0.3.50
[INFO] [stderr]   Downloaded xml-rs v0.8.3
[INFO] [stderr]   Downloaded wide v0.4.6
[INFO] [stderr]   Downloaded naga v0.2.0
[INFO] [stderr]   Downloaded gfx-backend-dx12 v0.6.13
[INFO] [stderr]   Downloaded gfx-backend-dx11 v0.6.17
[INFO] [stderr]   Downloaded serde v1.0.125
[INFO] [stderr]   Downloaded rustyline v8.0.0
[INFO] [stderr]   Downloaded wgpu v0.6.2
[INFO] [stderr]   Downloaded ttf-parser v0.6.2
[INFO] [stderr]   Downloaded mio v0.6.23
[INFO] [stderr]   Downloaded unicode-segmentation v1.7.1
[INFO] [stderr]   Downloaded wgpu-core v0.6.5
[INFO] [stderr]   Downloaded gfx-backend-metal v0.6.5
[INFO] [stderr]   Downloaded image v0.19.0
[INFO] [stderr]   Downloaded smithay-client-toolkit v0.12.3
[INFO] [stderr]   Downloaded deflate v0.7.20
[INFO] [stderr]   Downloaded wayland-protocols v0.28.5
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.73
[INFO] [stderr]   Downloaded futures-util v0.3.14
[INFO] [stderr]   Downloaded nom v6.1.2
[INFO] [stderr]   Downloaded nix v0.18.0
[INFO] [stderr]   Downloaded syn v1.0.71
[INFO] [stderr]   Downloaded jpeg-decoder v0.1.22
[INFO] [stderr]   Downloaded radix_trie v0.2.1
[INFO] [stderr]   Downloaded winit v0.24.0
[INFO] [stderr]   Downloaded ash v0.31.0
[INFO] [stderr]   Downloaded winapi v0.2.8
[INFO] [stderr]   Downloaded spirv_cross v0.22.2
[INFO] [stderr]   Downloaded libc v0.2.94
[INFO] [stderr]   Downloaded metal v0.20.0
[INFO] [stderr]   Downloaded web-sys v0.3.48
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 54a84e5dd5cf25a0c9d6b00a153c709503e07e9e3a23ac8de3fff536da645365
[INFO] running `Command { std: "docker" "start" "54a84e5dd5cf25a0c9d6b00a153c709503e07e9e3a23ac8de3fff536da645365", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "54a84e5dd5cf25a0c9d6b00a153c709503e07e9e3a23ac8de3fff536da645365", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "54a84e5dd5cf25a0c9d6b00a153c709503e07e9e3a23ac8de3fff536da645365" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "54a84e5dd5cf25a0c9d6b00a153c709503e07e9e3a23ac8de3fff536da645365", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "54a84e5dd5cf25a0c9d6b00a153c709503e07e9e3a23ac8de3fff536da645365" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling libc v0.2.94
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.26
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling pkg-config v0.3.19
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling smallvec v1.6.1
[INFO] [stderr]    Compiling memchr v2.4.0
[INFO] [stderr]    Compiling syn v1.0.71
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling xml-rs v0.8.3
[INFO] [stderr]    Compiling slab v0.4.3
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling crossbeam-utils v0.8.4
[INFO] [stderr]    Compiling wayland-sys v0.28.5
[INFO] [stderr]    Compiling libloading v0.7.0
[INFO] [stderr]    Compiling libloading v0.6.7
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling dlib v0.5.0
[INFO] [stderr]    Compiling memoffset v0.6.3
[INFO] [stderr]    Compiling proc-macro-hack v0.5.19
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling wayland-scanner v0.28.5
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling instant v0.1.9
[INFO] [stderr]    Compiling once_cell v1.7.2
[INFO] [stderr]    Compiling nom v6.1.2
[INFO] [stderr]    Compiling proc-macro-nested v0.1.7
[INFO] [stderr]    Compiling pin-project-lite v0.2.6
[INFO] [stderr]    Compiling fxhash v0.2.1
[INFO] [stderr]    Compiling raw-window-handle v0.3.3
[INFO] [stderr]    Compiling nix v0.20.0
[INFO] [stderr]    Compiling parking_lot_core v0.8.3
[INFO] [stderr]    Compiling gfx-hal v0.6.0
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling x11 v2.18.2
[INFO] [stderr]    Compiling lock_api v0.4.4
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling futures-core v0.3.14
[INFO] [stderr]    Compiling nix v0.18.0
[INFO] [stderr]    Compiling downcast-rs v1.2.0
[INFO] [stderr]    Compiling ttf-parser v0.6.2
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling futures-sink v0.3.14
[INFO] [stderr]    Compiling rayon-core v1.9.0
[INFO] [stderr]    Compiling scoped-tls v1.0.0
[INFO] [stderr]    Compiling futures-channel v0.3.14
[INFO] [stderr]    Compiling parking_lot v0.11.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.4
[INFO] [stderr]    Compiling wayland-client v0.28.5
[INFO] [stderr]    Compiling wayland-protocols v0.28.5
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling arrayvec v0.5.2
[INFO] [stderr]    Compiling futures-task v0.3.14
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling ab_glyph_rasterizer v0.1.4
[INFO] [stderr]    Compiling futures-io v0.3.14
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling owned_ttf_parser v0.6.0
[INFO] [stderr]    Compiling rusttype v0.9.2
[INFO] [stderr]    Compiling bit-set v0.5.2
[INFO] [stderr]    Compiling walkdir v2.3.2
[INFO] [stderr]    Compiling crossbeam-deque v0.8.0
[INFO] [stderr]    Compiling spirv_headers v1.5.0
[INFO] [stderr]    Compiling xcursor v0.3.3
[INFO] [stderr]    Compiling net2 v0.2.37
[INFO] [stderr]    Compiling iovec v0.1.4
[INFO] [stderr]    Compiling wayland-commons v0.28.5
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling crossbeam-channel v0.5.1
[INFO] [stderr]    Compiling ash v0.31.0
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]    Compiling rayon v1.5.0
[INFO] [stderr]    Compiling x11-dl v2.18.5
[INFO] [stderr]    Compiling tracing-core v0.1.18
[INFO] [stderr]    Compiling xdg v2.2.0
[INFO] [stderr]    Compiling inplace_it v0.3.3
[INFO] [stderr]    Compiling adler32 v1.2.0
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling wide v0.4.6
[INFO] [stderr]    Compiling tracing v0.1.26
[INFO] [stderr]    Compiling andrew v0.3.1
[INFO] [stderr]    Compiling wayland-cursor v0.28.5
[INFO] [stderr]    Compiling mio v0.6.23
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]    Compiling gfx-backend-empty v0.6.0
[INFO] [stderr]    Compiling calloop v0.6.5
[INFO] [stderr]    Compiling futures-macro v0.3.14
[INFO] [stderr]    Compiling thiserror-impl v1.0.24
[INFO] [stderr]    Compiling gfx-descriptor v0.2.0
[INFO] [stderr]    Compiling gfx-memory v0.2.2
[INFO] [stderr]    Compiling memmap2 v0.1.0
[INFO] [stderr]    Compiling dlib v0.4.2
[INFO] [stderr]    Compiling wgpu-types v0.6.1
[INFO] [stderr]    Compiling num-derive v0.2.5
[INFO] [stderr]    Compiling lazycell v1.3.0
[INFO] [stderr]    Compiling copyless v0.1.5
[INFO] [stderr]    Compiling bytemuck v1.5.1
[INFO] [stderr]    Compiling mio-extras v2.0.6
[INFO] [stderr]    Compiling futures-util v0.3.14
[INFO] [stderr]    Compiling thiserror v1.0.24
[INFO] [stderr]    Compiling naga v0.2.0
[INFO] [stderr]    Compiling deflate v0.7.20
[INFO] [stderr]    Compiling inflate v0.4.5
[INFO] [stderr]    Compiling itertools v0.9.0
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling futures-executor v0.3.14
[INFO] [stderr]    Compiling nibble_vec v0.1.0
[INFO] [stderr]    Compiling regex-syntax v0.6.25
[INFO] [stderr]    Compiling percent-encoding v2.1.0
[INFO] [stderr]    Compiling futures v0.3.14
[INFO] [stderr]    Compiling anyhow v1.0.40
[INFO] [stderr]    Compiling lzw v0.10.0
[INFO] [stderr]    Compiling typed-arena v2.0.1
[INFO] [stderr]    Compiling endian-type v0.1.2
[INFO] [stderr]    Compiling gif v0.10.3
[INFO] [stderr]    Compiling radix_trie v0.2.1
[INFO] [stderr]    Compiling gfx-backend-vulkan v0.6.5
[INFO] [stderr]    Compiling boolean_expression v0.3.11
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling jpeg-decoder v0.1.22
[INFO] [stderr]    Compiling png v0.12.0
[INFO] [stderr]    Compiling ultraviolet v0.4.6
[INFO] [stderr]    Compiling wgpu-core v0.6.5
[INFO] [stderr]    Compiling regex v1.5.3
[INFO] [stderr]    Compiling num-rational v0.1.42
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling pollster v0.2.4
[INFO] [stderr]    Compiling utf8parse v0.2.0
[INFO] [stderr]    Compiling unicode-segmentation v1.7.1
[INFO] [stderr]    Compiling scoped_threadpool v0.1.9
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling unicode-width v0.1.8
[INFO] [stderr]    Compiling termcolor v1.1.2
[INFO] [stderr]    Compiling image v0.19.0
[INFO] [stderr]    Compiling rustyline v8.0.0
[INFO] [stderr]    Compiling bitmatch v0.1.1
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]    Compiling bitfield v0.13.2
[INFO] [stderr]    Compiling env_logger v0.8.3
[INFO] [stderr]    Compiling wgpu v0.6.2
[INFO] [stderr]    Compiling smithay-client-toolkit v0.12.3
[INFO] [stderr]    Compiling pixels v0.2.0
[INFO] [stderr]    Compiling winit v0.24.0
[INFO] [stderr]    Compiling winit_input_helper v0.9.0
[INFO] [stderr]    Compiling rnes v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/apu.rs:86:49
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub fn write_square_ch1_control1(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]    |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/apu.rs:90:49
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn write_square_ch1_control2(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]    |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/apu.rs:94:46
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn write_square_ch1_freq1(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]    |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/apu.rs:98:46
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn write_square_ch1_freq2(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]    |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:102:49
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn write_square_ch2_control1(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:106:49
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn write_square_ch2_control2(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:110:46
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub fn write_square_ch2_freq1(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:114:46
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn write_square_ch2_freq2(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:118:42
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub fn write_sign_control(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:122:40
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn write_sign_freq1(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:126:40
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub fn write_sign_freq2(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:130:43
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn write_noise_control(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:134:40
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn write_noise_rand(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:138:44
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn write_noise_duration(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:142:43
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn write_dpcm_control1(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:146:43
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub fn write_dpcm_control2(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:150:43
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub fn write_dpcm_control3(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:154:43
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub fn write_dpcm_control4(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:158:43
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn write_voice_control(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/mmc.rs:71:29
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn write_ppu(&mut self, addr: u16, data: u8) -> Result<()> {
[INFO] [stdout]    |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/mmc.rs:71:40
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn write_ppu(&mut self, addr: u16, data: u8) -> Result<()> {
[INFO] [stdout]    |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/mmc.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 |     fn write_ppu(&mut self, addr: u16, data: u8) -> Result<()> {
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/mmc.rs:281:40
[INFO] [stdout]     |
[INFO] [stdout] 281 |     fn write_ppu(&mut self, addr: u16, data: u8) -> Result<()> {
[INFO] [stdout]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `apu` is never read
[INFO] [stdout]   --> src/nes.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Nes {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     apu: Rc<RefCell<Apu>>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/joypad.rs:7:51
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, FromPrimitive)]
[INFO] [stdout]   |                                                   ^------------
[INFO] [stdout]   |                                                   |
[INFO] [stdout]   |                                                   `FromPrimitive` is not local
[INFO] [stdout]   |                                                   move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_JoypadKey`
[INFO] [stdout] 8 | pub enum JoypadKey {
[INFO] [stdout]   |          --------- `JoypadKey` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/rom.rs:82:10
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(FromPrimitive, Debug)]
[INFO] [stdout]    |          ^------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `FromPrimitive` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ConsoleType`
[INFO] [stdout] 83 | pub enum ConsoleType {
[INFO] [stdout]    |          ----------- `ConsoleType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/rom.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[derive(FromPrimitive, Debug)]
[INFO] [stdout]    |          ^------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `FromPrimitive` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_MapperType`
[INFO] [stdout] 98 | pub enum MapperType {
[INFO] [stdout]    |          ---------- `MapperType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rom.rs:104:10
[INFO] [stdout]     |
[INFO] [stdout] 104 | #[derive(FromPrimitive, Debug)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_SubmapperType`
[INFO] [stdout] 105 | pub enum SubmapperType {
[INFO] [stdout]     |          ------------- `SubmapperType` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rom.rs:115:10
[INFO] [stdout]     |
[INFO] [stdout] 115 | #[derive(FromPrimitive, Debug)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CpuPpuTimingMode`
[INFO] [stdout] 116 | pub enum CpuPpuTimingMode {
[INFO] [stdout]     |          ---------------- `CpuPpuTimingMode` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rom.rs:130:10
[INFO] [stdout]     |
[INFO] [stdout] 130 | #[derive(FromPrimitive, Debug)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ExpansionDeviceType`
[INFO] [stdout] 131 | pub enum ExpansionDeviceType {
[INFO] [stdout]     |          ------------------- `ExpansionDeviceType` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:147:33
[INFO] [stdout]     |
[INFO] [stdout] 147 | ...                   nes_sender.send(NesThreadEvent::Player1Keydown(*joypad_key));
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 147 |                                 let _ = nes_sender.send(NesThreadEvent::Player1Keydown(*joypad_key));
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:150:33
[INFO] [stdout]     |
[INFO] [stdout] 150 | ...                   nes_sender.send(NesThreadEvent::Player1Keyup(*joypad_key));
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 150 |                                 let _ = nes_sender.send(NesThreadEvent::Player1Keyup(*joypad_key));
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 39s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v6.1.2, wgpu-core v0.6.5
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "54a84e5dd5cf25a0c9d6b00a153c709503e07e9e3a23ac8de3fff536da645365", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "54a84e5dd5cf25a0c9d6b00a153c709503e07e9e3a23ac8de3fff536da645365" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/apu.rs:86:49
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub fn write_square_ch1_control1(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]    |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/apu.rs:90:49
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn write_square_ch1_control2(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]    |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/apu.rs:94:46
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn write_square_ch1_freq1(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]    |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/apu.rs:98:46
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn write_square_ch1_freq2(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]    |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:102:49
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn write_square_ch2_control1(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:106:49
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn write_square_ch2_control2(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:110:46
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub fn write_square_ch2_freq1(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:114:46
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn write_square_ch2_freq2(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:118:42
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub fn write_sign_control(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:122:40
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn write_sign_freq1(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:126:40
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub fn write_sign_freq2(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:130:43
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn write_noise_control(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:134:40
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn write_noise_rand(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:138:44
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn write_noise_duration(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:142:43
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn write_dpcm_control1(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:146:43
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub fn write_dpcm_control2(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:150:43
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub fn write_dpcm_control3(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:154:43
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub fn write_dpcm_control4(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:158:43
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn write_voice_control(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/mmc.rs:71:29
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn write_ppu(&mut self, addr: u16, data: u8) -> Result<()> {
[INFO] [stdout]    |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/mmc.rs:71:40
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn write_ppu(&mut self, addr: u16, data: u8) -> Result<()> {
[INFO] [stdout]    |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/mmc.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 |     fn write_ppu(&mut self, addr: u16, data: u8) -> Result<()> {
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/mmc.rs:281:40
[INFO] [stdout]     |
[INFO] [stdout] 281 |     fn write_ppu(&mut self, addr: u16, data: u8) -> Result<()> {
[INFO] [stdout]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `apu` is never read
[INFO] [stdout]   --> src/nes.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Nes {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     apu: Rc<RefCell<Apu>>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/joypad.rs:7:51
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, FromPrimitive)]
[INFO] [stdout]   |                                                   ^------------
[INFO] [stdout]   |                                                   |
[INFO] [stdout]   |                                                   `FromPrimitive` is not local
[INFO] [stdout]   |                                                   move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_JoypadKey`
[INFO] [stdout] 8 | pub enum JoypadKey {
[INFO] [stdout]   |          --------- `JoypadKey` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/rom.rs:82:10
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(FromPrimitive, Debug)]
[INFO] [stdout]    |          ^------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `FromPrimitive` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ConsoleType`
[INFO] [stdout] 83 | pub enum ConsoleType {
[INFO] [stdout]    |          ----------- `ConsoleType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/rom.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[derive(FromPrimitive, Debug)]
[INFO] [stdout]    |          ^------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `FromPrimitive` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_MapperType`
[INFO] [stdout] 98 | pub enum MapperType {
[INFO] [stdout]    |          ---------- `MapperType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rnes v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rom.rs:104:10
[INFO] [stdout]     |
[INFO] [stdout] 104 | #[derive(FromPrimitive, Debug)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_SubmapperType`
[INFO] [stdout] 105 | pub enum SubmapperType {
[INFO] [stdout]     |          ------------- `SubmapperType` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rom.rs:115:10
[INFO] [stdout]     |
[INFO] [stdout] 115 | #[derive(FromPrimitive, Debug)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CpuPpuTimingMode`
[INFO] [stdout] 116 | pub enum CpuPpuTimingMode {
[INFO] [stdout]     |          ---------------- `CpuPpuTimingMode` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rom.rs:130:10
[INFO] [stdout]     |
[INFO] [stdout] 130 | #[derive(FromPrimitive, Debug)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ExpansionDeviceType`
[INFO] [stdout] 131 | pub enum ExpansionDeviceType {
[INFO] [stdout]     |          ------------------- `ExpansionDeviceType` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:147:33
[INFO] [stdout]     |
[INFO] [stdout] 147 | ...                   nes_sender.send(NesThreadEvent::Player1Keydown(*joypad_key));
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 147 |                                 let _ = nes_sender.send(NesThreadEvent::Player1Keydown(*joypad_key));
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:150:33
[INFO] [stdout]     |
[INFO] [stdout] 150 | ...                   nes_sender.send(NesThreadEvent::Player1Keyup(*joypad_key));
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 150 |                                 let _ = nes_sender.send(NesThreadEvent::Player1Keyup(*joypad_key));
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/apu.rs:86:49
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub fn write_square_ch1_control1(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]    |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/apu.rs:90:49
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn write_square_ch1_control2(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]    |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/apu.rs:94:46
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn write_square_ch1_freq1(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]    |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/apu.rs:98:46
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn write_square_ch1_freq2(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]    |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:102:49
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn write_square_ch2_control1(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:106:49
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn write_square_ch2_control2(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:110:46
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub fn write_square_ch2_freq1(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:114:46
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn write_square_ch2_freq2(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:118:42
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub fn write_sign_control(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:122:40
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn write_sign_freq1(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:126:40
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub fn write_sign_freq2(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:130:43
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn write_noise_control(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:134:40
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn write_noise_rand(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:138:44
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn write_noise_duration(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:142:43
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn write_dpcm_control1(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:146:43
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub fn write_dpcm_control2(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:150:43
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub fn write_dpcm_control3(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:154:43
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub fn write_dpcm_control4(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/apu.rs:158:43
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn write_voice_control(&mut self, data: u8) -> Result<()> {
[INFO] [stdout]     |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/mmc.rs:71:29
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn write_ppu(&mut self, addr: u16, data: u8) -> Result<()> {
[INFO] [stdout]    |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/mmc.rs:71:40
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn write_ppu(&mut self, addr: u16, data: u8) -> Result<()> {
[INFO] [stdout]    |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/mmc.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 |     fn write_ppu(&mut self, addr: u16, data: u8) -> Result<()> {
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/mmc.rs:281:40
[INFO] [stdout]     |
[INFO] [stdout] 281 |     fn write_ppu(&mut self, addr: u16, data: u8) -> Result<()> {
[INFO] [stdout]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `apu` is never read
[INFO] [stdout]   --> src/nes.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Nes {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     apu: Rc<RefCell<Apu>>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/joypad.rs:7:51
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, FromPrimitive)]
[INFO] [stdout]   |                                                   ^------------
[INFO] [stdout]   |                                                   |
[INFO] [stdout]   |                                                   `FromPrimitive` is not local
[INFO] [stdout]   |                                                   move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_JoypadKey`
[INFO] [stdout] 8 | pub enum JoypadKey {
[INFO] [stdout]   |          --------- `JoypadKey` is not local
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/rom.rs:82:10
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(FromPrimitive, Debug)]
[INFO] [stdout]    |          ^------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `FromPrimitive` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ConsoleType`
[INFO] [stdout] 83 | pub enum ConsoleType {
[INFO] [stdout]    |          ----------- `ConsoleType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/rom.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[derive(FromPrimitive, Debug)]
[INFO] [stdout]    |          ^------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `FromPrimitive` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_MapperType`
[INFO] [stdout] 98 | pub enum MapperType {
[INFO] [stdout]    |          ---------- `MapperType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rom.rs:104:10
[INFO] [stdout]     |
[INFO] [stdout] 104 | #[derive(FromPrimitive, Debug)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_SubmapperType`
[INFO] [stdout] 105 | pub enum SubmapperType {
[INFO] [stdout]     |          ------------- `SubmapperType` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rom.rs:115:10
[INFO] [stdout]     |
[INFO] [stdout] 115 | #[derive(FromPrimitive, Debug)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CpuPpuTimingMode`
[INFO] [stdout] 116 | pub enum CpuPpuTimingMode {
[INFO] [stdout]     |          ---------------- `CpuPpuTimingMode` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/rom.rs:130:10
[INFO] [stdout]     |
[INFO] [stdout] 130 | #[derive(FromPrimitive, Debug)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ExpansionDeviceType`
[INFO] [stdout] 131 | pub enum ExpansionDeviceType {
[INFO] [stdout]     |          ------------------- `ExpansionDeviceType` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.41s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v6.1.2, wgpu-core v0.6.5
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "54a84e5dd5cf25a0c9d6b00a153c709503e07e9e3a23ac8de3fff536da645365", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "54a84e5dd5cf25a0c9d6b00a153c709503e07e9e3a23ac8de3fff536da645365" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/apu.rs:86:49
[INFO] [stderr]    |
[INFO] [stderr] 86 |     pub fn write_square_ch1_control1(&mut self, data: u8) -> Result<()> {
[INFO] [stderr]    |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/apu.rs:90:49
[INFO] [stderr]    |
[INFO] [stderr] 90 |     pub fn write_square_ch1_control2(&mut self, data: u8) -> Result<()> {
[INFO] [stderr]    |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/apu.rs:94:46
[INFO] [stderr]    |
[INFO] [stderr] 94 |     pub fn write_square_ch1_freq1(&mut self, data: u8) -> Result<()> {
[INFO] [stderr]    |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/apu.rs:98:46
[INFO] [stderr]    |
[INFO] [stderr] 98 |     pub fn write_square_ch1_freq2(&mut self, data: u8) -> Result<()> {
[INFO] [stderr]    |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> src/apu.rs:102:49
[INFO] [stderr]     |
[INFO] [stderr] 102 |     pub fn write_square_ch2_control1(&mut self, data: u8) -> Result<()> {
[INFO] [stderr]     |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> src/apu.rs:106:49
[INFO] [stderr]     |
[INFO] [stderr] 106 |     pub fn write_square_ch2_control2(&mut self, data: u8) -> Result<()> {
[INFO] [stderr]     |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> src/apu.rs:110:46
[INFO] [stderr]     |
[INFO] [stderr] 110 |     pub fn write_square_ch2_freq1(&mut self, data: u8) -> Result<()> {
[INFO] [stderr]     |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> src/apu.rs:114:46
[INFO] [stderr]     |
[INFO] [stderr] 114 |     pub fn write_square_ch2_freq2(&mut self, data: u8) -> Result<()> {
[INFO] [stderr]     |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> src/apu.rs:118:42
[INFO] [stderr]     |
[INFO] [stderr] 118 |     pub fn write_sign_control(&mut self, data: u8) -> Result<()> {
[INFO] [stderr]     |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> src/apu.rs:122:40
[INFO] [stderr]     |
[INFO] [stderr] 122 |     pub fn write_sign_freq1(&mut self, data: u8) -> Result<()> {
[INFO] [stderr]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> src/apu.rs:126:40
[INFO] [stderr]     |
[INFO] [stderr] 126 |     pub fn write_sign_freq2(&mut self, data: u8) -> Result<()> {
[INFO] [stderr]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> src/apu.rs:130:43
[INFO] [stderr]     |
[INFO] [stderr] 130 |     pub fn write_noise_control(&mut self, data: u8) -> Result<()> {
[INFO] [stderr]     |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> src/apu.rs:134:40
[INFO] [stderr]     |
[INFO] [stderr] 134 |     pub fn write_noise_rand(&mut self, data: u8) -> Result<()> {
[INFO] [stderr]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> src/apu.rs:138:44
[INFO] [stderr]     |
[INFO] [stderr] 138 |     pub fn write_noise_duration(&mut self, data: u8) -> Result<()> {
[INFO] [stderr]     |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> src/apu.rs:142:43
[INFO] [stderr]     |
[INFO] [stderr] 142 |     pub fn write_dpcm_control1(&mut self, data: u8) -> Result<()> {
[INFO] [stderr]     |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> src/apu.rs:146:43
[INFO] [stderr]     |
[INFO] [stderr] 146 |     pub fn write_dpcm_control2(&mut self, data: u8) -> Result<()> {
[INFO] [stderr]     |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> src/apu.rs:150:43
[INFO] [stderr]     |
[INFO] [stderr] 150 |     pub fn write_dpcm_control3(&mut self, data: u8) -> Result<()> {
[INFO] [stderr]     |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> src/apu.rs:154:43
[INFO] [stderr]     |
[INFO] [stderr] 154 |     pub fn write_dpcm_control4(&mut self, data: u8) -> Result<()> {
[INFO] [stderr]     |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> src/apu.rs:158:43
[INFO] [stderr]     |
[INFO] [stderr] 158 |     pub fn write_voice_control(&mut self, data: u8) -> Result<()> {
[INFO] [stderr]     |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `addr`
[INFO] [stderr]   --> src/mmc.rs:71:29
[INFO] [stderr]    |
[INFO] [stderr] 71 |     fn write_ppu(&mut self, addr: u16, data: u8) -> Result<()> {
[INFO] [stderr]    |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/mmc.rs:71:40
[INFO] [stderr]    |
[INFO] [stderr] 71 |     fn write_ppu(&mut self, addr: u16, data: u8) -> Result<()> {
[INFO] [stderr]    |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `addr`
[INFO] [stderr]    --> src/mmc.rs:281:29
[INFO] [stderr]     |
[INFO] [stderr] 281 |     fn write_ppu(&mut self, addr: u16, data: u8) -> Result<()> {
[INFO] [stderr]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> src/mmc.rs:281:40
[INFO] [stderr]     |
[INFO] [stderr] 281 |     fn write_ppu(&mut self, addr: u16, data: u8) -> Result<()> {
[INFO] [stderr]     |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: field `apu` is never read
[INFO] [stderr]   --> src/nes.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub struct Nes {
[INFO] [stderr]    |            --- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 18 |     apu: Rc<RefCell<Apu>>,
[INFO] [stderr]    |     ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/joypad.rs:7:51
[INFO] [stderr]   |
[INFO] [stderr] 7 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, FromPrimitive)]
[INFO] [stderr]   |                                                   ^------------
[INFO] [stderr]   |                                                   |
[INFO] [stderr]   |                                                   `FromPrimitive` is not local
[INFO] [stderr]   |                                                   move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_JoypadKey`
[INFO] [stderr] 8 | pub enum JoypadKey {
[INFO] [stderr]   |          --------- `JoypadKey` is not local
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]   = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/rom.rs:82:10
[INFO] [stderr]    |
[INFO] [stderr] 82 | #[derive(FromPrimitive, Debug)]
[INFO] [stderr]    |          ^------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `FromPrimitive` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ConsoleType`
[INFO] [stderr] 83 | pub enum ConsoleType {
[INFO] [stderr]    |          ----------- `ConsoleType` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/rom.rs:97:10
[INFO] [stderr]    |
[INFO] [stderr] 97 | #[derive(FromPrimitive, Debug)]
[INFO] [stderr]    |          ^------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `FromPrimitive` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_MapperType`
[INFO] [stderr] 98 | pub enum MapperType {
[INFO] [stderr]    |          ---------- `MapperType` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/rom.rs:104:10
[INFO] [stderr]     |
[INFO] [stderr] 104 | #[derive(FromPrimitive, Debug)]
[INFO] [stderr]     |          ^------------
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `FromPrimitive` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_SubmapperType`
[INFO] [stderr] 105 | pub enum SubmapperType {
[INFO] [stderr]     |          ------------- `SubmapperType` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/rom.rs:115:10
[INFO] [stderr]     |
[INFO] [stderr] 115 | #[derive(FromPrimitive, Debug)]
[INFO] [stderr]     |          ^------------
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `FromPrimitive` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CpuPpuTimingMode`
[INFO] [stderr] 116 | pub enum CpuPpuTimingMode {
[INFO] [stderr]     |          ---------------- `CpuPpuTimingMode` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/rom.rs:130:10
[INFO] [stderr]     |
[INFO] [stderr] 130 | #[derive(FromPrimitive, Debug)]
[INFO] [stderr]     |          ^------------
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `FromPrimitive` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ExpansionDeviceType`
[INFO] [stderr] 131 | pub enum ExpansionDeviceType {
[INFO] [stderr]     |          ------------------- `ExpansionDeviceType` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `rnes` (lib) generated 30 warnings (run `cargo fix --lib -p rnes` to apply 23 suggestions)
[INFO] [stderr] warning: `rnes` (lib test) generated 30 warnings (30 duplicates)
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/main.rs:147:33
[INFO] [stderr]     |
[INFO] [stderr] 147 | ...                   nes_sender.send(NesThreadEvent::Player1Keydown(*joypad_key));
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 147 |                                 let _ = nes_sender.send(NesThreadEvent::Player1Keydown(*joypad_key));
[INFO] [stderr]     |                                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/main.rs:150:33
[INFO] [stderr]     |
[INFO] [stderr] 150 | ...                   nes_sender.send(NesThreadEvent::Player1Keyup(*joypad_key));
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 150 |                                 let _ = nes_sender.send(NesThreadEvent::Player1Keyup(*joypad_key));
[INFO] [stderr]     |                                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `rnes` (bin "rnes" test) generated 2 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v6.1.2, wgpu-core v0.6.5
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rnes-3f746b9e1bee922e)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rnes-393e75d1e6c0f386)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rnes
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "54a84e5dd5cf25a0c9d6b00a153c709503e07e9e3a23ac8de3fff536da645365", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "54a84e5dd5cf25a0c9d6b00a153c709503e07e9e3a23ac8de3fff536da645365", kill_on_drop: false }`
[INFO] [stdout] 54a84e5dd5cf25a0c9d6b00a153c709503e07e9e3a23ac8de3fff536da645365
