[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] checking mj-hd/rnes against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmj-hd%2Frnes" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-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-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mj-hd/rnes on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pollster v0.2.4
[INFO] [stderr]   Downloaded redox_syscall v0.2.7
[INFO] [stderr]   Downloaded memoffset v0.6.3
[INFO] [stderr]   Downloaded env_logger v0.8.3
[INFO] [stderr]   Downloaded crossbeam-utils v0.8.4
[INFO] [stderr]   Downloaded bitmatch v0.1.1
[INFO] [stderr]   Downloaded boolean_expression v0.3.11
[INFO] [stderr]   Downloaded crossbeam-epoch v0.9.4
[INFO] [stderr]   Downloaded rustyline v8.0.0
[INFO] [stderr]   Downloaded regex v1.5.3
[INFO] [stderr]   Downloaded syn v1.0.71
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ed3a50ffca1bf024921e8bb5c95c05fcabec54e4db7f53f1da569b413c8effb1
[INFO] running `Command { std: "docker" "start" "-a" "ed3a50ffca1bf024921e8bb5c95c05fcabec54e4db7f53f1da569b413c8effb1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ed3a50ffca1bf024921e8bb5c95c05fcabec54e4db7f53f1da569b413c8effb1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ed3a50ffca1bf024921e8bb5c95c05fcabec54e4db7f53f1da569b413c8effb1", kill_on_drop: false }`
[INFO] [stdout] ed3a50ffca1bf024921e8bb5c95c05fcabec54e4db7f53f1da569b413c8effb1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 94dd0cd2fc3c90953bbd00be7012b3d00db8cb52aa307ab692ea74dda3bab152
[INFO] running `Command { std: "docker" "start" "-a" "94dd0cd2fc3c90953bbd00be7012b3d00db8cb52aa307ab692ea74dda3bab152", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.94
[INFO] [stderr]    Compiling proc-macro2 v1.0.26
[INFO] [stderr]    Compiling pkg-config v0.3.19
[INFO] [stderr]    Compiling memchr v2.4.0
[INFO] [stderr]     Checking smallvec v1.6.1
[INFO] [stderr]    Compiling syn v1.0.71
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]    Compiling xml-rs v0.8.3
[INFO] [stderr]     Checking slab v0.4.3
[INFO] [stderr]     Checking libloading v0.6.7
[INFO] [stderr]    Compiling crossbeam-utils v0.8.4
[INFO] [stderr]     Checking libloading v0.7.0
[INFO] [stderr]    Compiling memoffset v0.6.3
[INFO] [stderr]    Compiling nom v6.1.2
[INFO] [stderr]     Checking instant v0.1.9
[INFO] [stderr]     Checking pin-project-lite v0.2.6
[INFO] [stderr]     Checking once_cell v1.7.2
[INFO] [stderr]     Checking lock_api v0.4.4
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking scoped-tls v1.0.0
[INFO] [stderr]    Compiling rayon-core v1.9.0
[INFO] [stderr]     Checking dlib v0.5.0
[INFO] [stderr]     Checking futures-core v0.3.14
[INFO] [stderr]    Compiling nix v0.18.0
[INFO] [stderr]     Checking futures-sink v0.3.14
[INFO] [stderr]     Checking ttf-parser v0.6.2
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking futures-io v0.3.14
[INFO] [stderr]     Checking futures-task v0.3.14
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]     Checking futures-channel v0.3.14
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.4
[INFO] [stderr]     Checking walkdir v2.3.2
[INFO] [stderr]     Checking ash v0.31.0
[INFO] [stderr]     Checking spirv_headers v1.5.0
[INFO] [stderr]     Checking bit-set v0.5.2
[INFO] [stderr]     Checking tracing-core v0.1.18
[INFO] [stderr]    Compiling rayon v1.5.0
[INFO] [stderr]    Compiling wayland-sys v0.28.5
[INFO] [stderr]    Compiling x11 v2.18.2
[INFO] [stderr]    Compiling x11-dl v2.18.5
[INFO] [stderr]    Compiling wide v0.4.6
[INFO] [stderr]     Checking inplace_it v0.3.3
[INFO] [stderr]     Checking crossbeam-epoch v0.9.4
[INFO] [stderr]     Checking crossbeam-channel v0.5.1
[INFO] [stderr]     Checking xdg v2.2.0
[INFO] [stderr]     Checking tracing v0.1.26
[INFO] [stderr]     Checking dlib v0.4.2
[INFO] [stderr]     Checking wgpu-types v0.6.1
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]     Checking owned_ttf_parser v0.6.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.0
[INFO] [stderr]     Checking copyless v0.1.5
[INFO] [stderr]     Checking lazycell v1.3.0
[INFO] [stderr]     Checking bytemuck v1.5.1
[INFO] [stderr]     Checking rusttype v0.9.2
[INFO] [stderr]    Compiling itertools v0.9.0
[INFO] [stderr]     Checking num-iter v0.1.42
[INFO] [stderr]    Compiling wayland-scanner v0.28.5
[INFO] [stderr]     Checking aho-corasick v0.7.18
[INFO] [stderr]     Checking deflate v0.7.20
[INFO] [stderr]     Checking nibble_vec v0.1.0
[INFO] [stderr]     Checking typed-arena v2.0.1
[INFO] [stderr]     Checking regex-syntax v0.6.25
[INFO] [stderr]     Checking raw-window-handle v0.3.3
[INFO] [stderr]     Checking nix v0.20.0
[INFO] [stderr]     Checking parking_lot_core v0.8.3
[INFO] [stderr]     Checking gfx-hal v0.6.0
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking net2 v0.2.37
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking andrew v0.3.1
[INFO] [stderr]     Checking parking_lot v0.11.1
[INFO] [stderr]     Checking memmap2 v0.1.0
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling anyhow v1.0.40
[INFO] [stderr]     Checking endian-type v0.1.2
[INFO] [stderr]     Checking dirs-next v2.0.0
[INFO] [stderr]     Checking regex v1.5.3
[INFO] [stderr]     Checking ultraviolet v0.4.6
[INFO] [stderr]     Checking radix_trie v0.2.1
[INFO] [stderr]     Checking png v0.12.0
[INFO] [stderr]    Compiling boolean_expression v0.3.11
[INFO] [stderr]     Checking mio-extras v2.0.6
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking fs2 v0.4.3
[INFO] [stderr]    Compiling num-derive v0.2.5
[INFO] [stderr]     Checking num-rational v0.1.42
[INFO] [stderr]     Checking unicode-segmentation v1.7.1
[INFO] [stderr]     Checking utf8parse v0.2.0
[INFO] [stderr]     Checking pollster v0.2.4
[INFO] [stderr]     Checking env_logger v0.8.3
[INFO] [stderr]     Checking xcursor v0.3.3
[INFO] [stderr]     Checking bitfield v0.13.2
[INFO] [stderr]    Compiling wayland-client v0.28.5
[INFO] [stderr]    Compiling wayland-protocols v0.28.5
[INFO] [stderr]     Checking jpeg-decoder v0.1.22
[INFO] [stderr]     Checking gfx-backend-empty v0.6.0
[INFO] [stderr]     Checking gfx-descriptor v0.2.0
[INFO] [stderr]     Checking gfx-memory v0.2.2
[INFO] [stderr]     Checking calloop v0.6.5
[INFO] [stderr]     Checking image v0.19.0
[INFO] [stderr]     Checking wayland-commons v0.28.5
[INFO] [stderr]     Checking rustyline v8.0.0
[INFO] [stderr]     Checking gfx-backend-vulkan v0.6.5
[INFO] [stderr]    Compiling futures-macro v0.3.14
[INFO] [stderr]    Compiling thiserror-impl v1.0.24
[INFO] [stderr]    Compiling bitmatch v0.1.1
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]     Checking wayland-cursor v0.28.5
[INFO] [stderr]     Checking futures-util v0.3.14
[INFO] [stderr]     Checking thiserror v1.0.24
[INFO] [stderr]     Checking naga v0.2.0
[INFO] [stderr]     Checking wgpu-core v0.6.5
[INFO] [stderr]     Checking futures-executor v0.3.14
[INFO] [stderr]     Checking futures v0.3.14
[INFO] [stderr]     Checking wgpu v0.6.2
[INFO] [stderr]     Checking pixels v0.2.0
[INFO] [stderr]     Checking smithay-client-toolkit v0.12.3
[INFO] [stderr]     Checking winit v0.24.0
[INFO] [stderr]     Checking winit_input_helper v0.9.0
[INFO] [stderr]     Checking 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 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] [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 47.52s
[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 3`
[INFO] running `Command { std: "docker" "inspect" "94dd0cd2fc3c90953bbd00be7012b3d00db8cb52aa307ab692ea74dda3bab152", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "94dd0cd2fc3c90953bbd00be7012b3d00db8cb52aa307ab692ea74dda3bab152", kill_on_drop: false }`
[INFO] [stdout] 94dd0cd2fc3c90953bbd00be7012b3d00db8cb52aa307ab692ea74dda3bab152
