[INFO] cloning repository https://github.com/garebareDA/nes_emulator
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/garebareDA/nes_emulator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FgarebareDA%2Fnes_emulator", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FgarebareDA%2Fnes_emulator'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8e903807cbd238ed8c79d61ea9d9a199ad4ef026
[INFO] checking garebareDA/nes_emulator against try#b1f2594eac607c1f051534800237eeedb5590a49 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FgarebareDA%2Fnes_emulator" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/garebareDA/nes_emulator
[INFO] finished tweaking git repo https://github.com/garebareDA/nes_emulator
[INFO] tweaked toml for git repo https://github.com/garebareDA/nes_emulator written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/garebareDA/nes_emulator on toolchain b1f2594eac607c1f051534800237eeedb5590a49
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/garebareDA/nes_emulator 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" "+b1f2594eac607c1f051534800237eeedb5590a49" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fd4876d0481ee9d5a4d37d2146bf4f723108536673a4011a20cf925c30f1c737
[INFO] running `Command { std: "docker" "start" "-a" "fd4876d0481ee9d5a4d37d2146bf4f723108536673a4011a20cf925c30f1c737", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fd4876d0481ee9d5a4d37d2146bf4f723108536673a4011a20cf925c30f1c737", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fd4876d0481ee9d5a4d37d2146bf4f723108536673a4011a20cf925c30f1c737", kill_on_drop: false }`
[INFO] [stdout] fd4876d0481ee9d5a4d37d2146bf4f723108536673a4011a20cf925c30f1c737
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 82d1099c43965c2a8cb111d757360fba662611fd67e408daef9e69edfee1f8ed
[INFO] running `Command { std: "docker" "start" "-a" "82d1099c43965c2a8cb111d757360fba662611fd67e408daef9e69edfee1f8ed", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling libc v0.2.71
[INFO] [stderr]    Compiling xml-rs v0.8.3
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling libloading v0.6.2
[INFO] [stderr]    Compiling proc-macro2 v1.0.18
[INFO] [stderr]     Checking piston-float v1.0.0
[INFO] [stderr]     Checking log v0.4.8
[INFO] [stderr]    Compiling syn v1.0.30
[INFO] [stderr]    Compiling rayon-core v1.7.0
[INFO] [stderr]    Compiling khronos_api v2.2.0
[INFO] [stderr]    Compiling pkg-config v0.3.17
[INFO] [stderr]    Compiling serde v1.0.111
[INFO] [stderr]     Checking piston-viewport v1.0.0
[INFO] [stderr]    Compiling parking_lot_core v0.6.2
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling crc32fast v1.2.0
[INFO] [stderr]    Compiling num-derive v0.2.5
[INFO] [stderr]     Checking adler32 v1.0.4
[INFO] [stderr]     Checking dlib v0.4.2
[INFO] [stderr]     Checking downcast-rs v1.1.1
[INFO] [stderr]     Checking piston-graphics_api_version v0.2.0
[INFO] [stderr]     Checking wayland-sys v0.21.13
[INFO] [stderr]    Compiling xml-rs v0.7.0
[INFO] [stderr]     Checking walkdir v2.3.1
[INFO] [stderr]    Compiling derivative v1.0.4
[INFO] [stderr]     Checking smallvec v0.6.13
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]     Checking draw_state v0.8.0
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling memoffset v0.5.4
[INFO] [stderr]    Compiling wayland-scanner v0.21.13
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]    Compiling gl_generator v0.13.1
[INFO] [stderr]    Compiling num-integer v0.1.42
[INFO] [stderr]    Compiling x11-dl v2.18.5
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]     Checking stb_truetype v0.3.1
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling num-iter v0.1.40
[INFO] [stderr]    Compiling cc v1.0.54
[INFO] [stderr]     Checking lzw v0.10.0
[INFO] [stderr]     Checking either v1.5.3
[INFO] [stderr]     Checking xdg v2.2.0
[INFO] [stderr]     Checking deflate v0.7.20
[INFO] [stderr]     Checking nix v0.14.1
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]    Compiling gl_generator v0.10.0
[INFO] [stderr]     Checking crossbeam-queue v0.2.2
[INFO] [stderr]    Compiling gl_generator v0.9.0
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.6
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.4
[INFO] [stderr]     Checking inflate v0.4.5
[INFO] [stderr]     Checking crossbeam-deque v0.7.3
[INFO] [stderr]     Checking ordered-float v1.0.2
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking line_drawing v0.7.0
[INFO] [stderr]     Checking rusttype v0.8.3
[INFO] [stderr]    Compiling libloading v0.5.2
[INFO] [stderr]     Checking lock_api v0.3.4
[INFO] [stderr]     Checking color_quant v1.0.1
[INFO] [stderr]    Compiling gl v0.11.0
[INFO] [stderr]     Checking gif v0.10.3
[INFO] [stderr]    Compiling gfx_gl v0.5.0
[INFO] [stderr]     Checking rayon v1.3.0
[INFO] [stderr]     Checking rusttype v0.7.9
[INFO] [stderr]     Checking andrew v0.2.1
[INFO] [stderr]     Checking png v0.15.3
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]    Compiling wayland-client v0.21.13
[INFO] [stderr]    Compiling wayland-protocols v0.21.13
[INFO] [stderr]     Checking raw-window-handle v0.3.3
[INFO] [stderr]     Checking piston-texture v0.8.0
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]     Checking gfx_core v0.8.3
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking shader_version v0.6.0
[INFO] [stderr]     Checking vecmath v1.0.0
[INFO] [stderr]     Checking interpolation v0.2.0
[INFO] [stderr]     Checking read_color v1.0.0
[INFO] [stderr]     Checking piston-shaders_graphics2d v0.3.1
[INFO] [stderr]     Checking piston2d-graphics v0.35.0
[INFO] [stderr]     Checking tiff v0.3.1
[INFO] [stderr]     Checking gfx v0.17.1
[INFO] [stderr]    Compiling serde_derive v1.0.111
[INFO] [stderr]     Checking wayland-commons v0.21.13
[INFO] [stderr]     Checking gfx_device_gl v0.15.5
[INFO] [stderr]     Checking jpeg-decoder v0.1.19
[INFO] [stderr]     Checking image v0.22.5
[INFO] [stderr]     Checking pistoncore-input v0.28.1
[INFO] [stderr]     Checking piston-gfx_texture v0.39.0
[INFO] [stderr]     Checking pistoncore-window v0.44.0
[INFO] [stderr]     Checking pistoncore-event_loop v0.49.0
[INFO] [stderr]     Checking piston2d-gfx_graphics v0.65.0
[INFO] [stderr]     Checking piston v0.49.0
[INFO] [stderr]     Checking smithay-client-toolkit v0.4.6
[INFO] [stderr]     Checking winit v0.19.5
[INFO] [stderr]     Checking glutin v0.21.2
[INFO] [stderr]     Checking pistoncore-glutin_window v0.63.0
[INFO] [stderr]     Checking piston_window v0.104.0
[INFO] [stderr]     Checking nes_emulator v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/cpu/process.rs:632:13
[INFO] [stdout]     |
[INFO] [stdout] 632 |   bus.write((addr | 0x0100), data);
[INFO] [stdout]     |             ^             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 632 -   bus.write((addr | 0x0100), data);
[INFO] [stdout] 632 +   bus.write(addr | 0x0100 , data);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/cpu/process.rs:632:13
[INFO] [stdout]     |
[INFO] [stdout] 632 |   bus.write((addr | 0x0100), data);
[INFO] [stdout]     |             ^             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 632 -   bus.write((addr | 0x0100), data);
[INFO] [stdout] 632 +   bus.write(addr | 0x0100 , data);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mode`
[INFO] [stdout]    --> src/cpu/process.rs:559:67
[INFO] [stdout]     |
[INFO] [stdout] 559 | pub fn rla(opeland: u16, register: &mut Registers, bus: &mut Bus, mode: &str) {
[INFO] [stdout]     |                                                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_mode`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/cpu/run.rs:523:5
[INFO] [stdout]     |
[INFO] [stdout] 519 |     0xC4 => (Opecode::CPX, Addressing::ZeroPage, 3),
[INFO] [stdout]     |     ---- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 523 |     0xC4 => (Opecode::CPY, Addressing::ZeroPage, 3),
[INFO] [stdout]     |     ^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/cpu/run.rs:524:5
[INFO] [stdout]     |
[INFO] [stdout] 520 |     0xCC => (Opecode::CPX, Addressing::Absolute, 4),
[INFO] [stdout]     |     ---- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 524 |     0xCC => (Opecode::CPY, Addressing::Absolute, 4),
[INFO] [stdout]     |     ^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mmc`
[INFO] [stdout]   --> src/ppu/tile.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     mmc: &mmc::Mmc,
[INFO] [stdout]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_mmc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mode`
[INFO] [stdout]    --> src/cpu/process.rs:559:67
[INFO] [stdout]     |
[INFO] [stdout] 559 | pub fn rla(opeland: u16, register: &mut Registers, bus: &mut Bus, mode: &str) {
[INFO] [stdout]     |                                                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_mode`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/render.rs:75:7
[INFO] [stdout]    |
[INFO] [stdout] 75 |   let mut scale = 2;
[INFO] [stdout]    |       ----^^^^^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/cpu/run.rs:63:3
[INFO] [stdout]    |
[INFO] [stdout]  6 | enum Opecode {
[INFO] [stdout]    |      ------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 63 |   ALR,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 64 |   ANC,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 65 |   ARR,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 66 |   AXS,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 67 |   LAX,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 68 |   SAX,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 69 |   DCP,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 70 |   ISC,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 71 |   RLA,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 72 |   RRA,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 73 |   SLO,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 74 |   SRE,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 75 |   SKB,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 76 |   IGN,
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Opecode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sprite_addr` and `sprite_data` are never read
[INFO] [stdout]   --> src/ppu/register/mod.rs:13:3
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Registers {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |   sprite_addr: u8,
[INFO] [stdout]    |   ^^^^^^^^^^^
[INFO] [stdout] 14 |   sprite_data: u16,
[INFO] [stdout]    |   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Registers` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `NES_HEADER_SIZE` should have a snake case name
[INFO] [stdout]   --> src/cassette/roms.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let NES_HEADER_SIZE = 0x0010;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `nes_header_size`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `PROGRAM_ROM_SIZE` should have a snake case name
[INFO] [stdout]   --> src/cassette/roms.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let PROGRAM_ROM_SIZE = 0x4000;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `program_rom_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `CHARACTER_ROM_SIZE` should have a snake case name
[INFO] [stdout]   --> src/cassette/roms.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let CHARACTER_ROM_SIZE = 0x2000;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `character_rom_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_A` should have a snake case name
[INFO] [stdout]   --> src/cpu/register.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 |   pub fn set_A(&mut self, a: u8) {
[INFO] [stdout]    |          ^^^^^ help: convert the identifier to snake case: `set_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_X` should have a snake case name
[INFO] [stdout]   --> src/cpu/register.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 51 |   pub fn set_X(&mut self, x:u8) {
[INFO] [stdout]    |          ^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_Y` should have a snake case name
[INFO] [stdout]   --> src/cpu/register.rs:55:10
[INFO] [stdout]    |
[INFO] [stdout] 55 |   pub fn set_Y(&mut self, y:u8) {
[INFO] [stdout]    |          ^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_SP` should have a snake case name
[INFO] [stdout]   --> src/cpu/register.rs:59:10
[INFO] [stdout]    |
[INFO] [stdout] 59 |   pub fn set_SP(&mut self, sp:u8){
[INFO] [stdout]    |          ^^^^^^ help: convert the identifier to snake case: `set_sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_P` should have a snake case name
[INFO] [stdout]   --> src/cpu/register.rs:63:10
[INFO] [stdout]    |
[INFO] [stdout] 63 |   pub fn set_P(&mut self, v: u8) -> &mut Self {
[INFO] [stdout]    |          ^^^^^ help: convert the identifier to snake case: `set_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_PC` should have a snake case name
[INFO] [stdout]   --> src/cpu/register.rs:83:10
[INFO] [stdout]    |
[INFO] [stdout] 83 |   pub fn set_PC(&mut self, pc: u16) {
[INFO] [stdout]    |          ^^^^^^ help: convert the identifier to snake case: `set_pc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_A` should have a snake case name
[INFO] [stdout]    --> src/cpu/register.rs:107:10
[INFO] [stdout]     |
[INFO] [stdout] 107 |   pub fn get_A(&self) -> u8 {
[INFO] [stdout]     |          ^^^^^ help: convert the identifier to snake case: `get_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_X` should have a snake case name
[INFO] [stdout]    --> src/cpu/register.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 |   pub fn get_X(&self) -> u8 {
[INFO] [stdout]     |          ^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_Y` should have a snake case name
[INFO] [stdout]    --> src/cpu/register.rs:115:10
[INFO] [stdout]     |
[INFO] [stdout] 115 |   pub fn get_Y(&self) -> u8 {
[INFO] [stdout]     |          ^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_P` should have a snake case name
[INFO] [stdout]    --> src/cpu/register.rs:119:10
[INFO] [stdout]     |
[INFO] [stdout] 119 |   pub fn get_P(&self) -> u8 {
[INFO] [stdout]     |          ^^^^^ help: convert the identifier to snake case: `get_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_PC` should have a snake case name
[INFO] [stdout]    --> src/cpu/register.rs:134:10
[INFO] [stdout]     |
[INFO] [stdout] 134 |   pub fn get_PC(&self) -> u16 {
[INFO] [stdout]     |          ^^^^^^ help: convert the identifier to snake case: `get_pc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_SP` should have a snake case name
[INFO] [stdout]    --> src/cpu/register.rs:138:10
[INFO] [stdout]     |
[INFO] [stdout] 138 |   pub fn get_SP(&self) -> u8 {
[INFO] [stdout]     |          ^^^^^^ help: convert the identifier to snake case: `get_sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inc_SP` should have a snake case name
[INFO] [stdout]    --> src/cpu/register.rs:158:10
[INFO] [stdout]     |
[INFO] [stdout] 158 |   pub fn inc_SP(&mut self) {
[INFO] [stdout]     |          ^^^^^^ help: convert the identifier to snake case: `inc_sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dec_SP` should have a snake case name
[INFO] [stdout]    --> src/cpu/register.rs:162:10
[INFO] [stdout]     |
[INFO] [stdout] 162 |   pub fn dec_SP(&mut self) {
[INFO] [stdout]     |          ^^^^^^ help: convert the identifier to snake case: `dec_sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inc_PC` should have a snake case name
[INFO] [stdout]    --> src/cpu/register.rs:166:10
[INFO] [stdout]     |
[INFO] [stdout] 166 |   pub fn inc_PC(&mut self) {
[INFO] [stdout]     |          ^^^^^^ help: convert the identifier to snake case: `inc_pc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/cpu/run.rs:523:5
[INFO] [stdout]     |
[INFO] [stdout] 519 |     0xC4 => (Opecode::CPX, Addressing::ZeroPage, 3),
[INFO] [stdout]     |     ---- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 523 |     0xC4 => (Opecode::CPY, Addressing::ZeroPage, 3),
[INFO] [stdout]     |     ^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/cpu/run.rs:524:5
[INFO] [stdout]     |
[INFO] [stdout] 520 |     0xCC => (Opecode::CPX, Addressing::Absolute, 4),
[INFO] [stdout]     |     ---- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 524 |     0xCC => (Opecode::CPY, Addressing::Absolute, 4),
[INFO] [stdout]     |     ^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mmc`
[INFO] [stdout]   --> src/ppu/tile.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     mmc: &mmc::Mmc,
[INFO] [stdout]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_mmc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/render.rs:75:7
[INFO] [stdout]    |
[INFO] [stdout] 75 |   let mut scale = 2;
[INFO] [stdout]    |       ----^^^^^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/cpu/run.rs:63:3
[INFO] [stdout]    |
[INFO] [stdout]  6 | enum Opecode {
[INFO] [stdout]    |      ------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 63 |   ALR,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 64 |   ANC,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 65 |   ARR,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 66 |   AXS,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 67 |   LAX,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 68 |   SAX,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 69 |   DCP,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 70 |   ISC,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 71 |   RLA,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 72 |   RRA,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 73 |   SLO,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 74 |   SRE,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 75 |   SKB,
[INFO] [stdout]    |   ^^^
[INFO] [stdout] 76 |   IGN,
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Opecode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sprite_addr` and `sprite_data` are never read
[INFO] [stdout]   --> src/ppu/register/mod.rs:13:3
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Registers {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |   sprite_addr: u8,
[INFO] [stdout]    |   ^^^^^^^^^^^
[INFO] [stdout] 14 |   sprite_data: u16,
[INFO] [stdout]    |   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Registers` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `NES_HEADER_SIZE` should have a snake case name
[INFO] [stdout]   --> src/cassette/roms.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let NES_HEADER_SIZE = 0x0010;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `nes_header_size`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `PROGRAM_ROM_SIZE` should have a snake case name
[INFO] [stdout]   --> src/cassette/roms.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let PROGRAM_ROM_SIZE = 0x4000;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `program_rom_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `CHARACTER_ROM_SIZE` should have a snake case name
[INFO] [stdout]   --> src/cassette/roms.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let CHARACTER_ROM_SIZE = 0x2000;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `character_rom_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_A` should have a snake case name
[INFO] [stdout]   --> src/cpu/register.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 |   pub fn set_A(&mut self, a: u8) {
[INFO] [stdout]    |          ^^^^^ help: convert the identifier to snake case: `set_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_X` should have a snake case name
[INFO] [stdout]   --> src/cpu/register.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 51 |   pub fn set_X(&mut self, x:u8) {
[INFO] [stdout]    |          ^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_Y` should have a snake case name
[INFO] [stdout]   --> src/cpu/register.rs:55:10
[INFO] [stdout]    |
[INFO] [stdout] 55 |   pub fn set_Y(&mut self, y:u8) {
[INFO] [stdout]    |          ^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_SP` should have a snake case name
[INFO] [stdout]   --> src/cpu/register.rs:59:10
[INFO] [stdout]    |
[INFO] [stdout] 59 |   pub fn set_SP(&mut self, sp:u8){
[INFO] [stdout]    |          ^^^^^^ help: convert the identifier to snake case: `set_sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_P` should have a snake case name
[INFO] [stdout]   --> src/cpu/register.rs:63:10
[INFO] [stdout]    |
[INFO] [stdout] 63 |   pub fn set_P(&mut self, v: u8) -> &mut Self {
[INFO] [stdout]    |          ^^^^^ help: convert the identifier to snake case: `set_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_PC` should have a snake case name
[INFO] [stdout]   --> src/cpu/register.rs:83:10
[INFO] [stdout]    |
[INFO] [stdout] 83 |   pub fn set_PC(&mut self, pc: u16) {
[INFO] [stdout]    |          ^^^^^^ help: convert the identifier to snake case: `set_pc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_A` should have a snake case name
[INFO] [stdout]    --> src/cpu/register.rs:107:10
[INFO] [stdout]     |
[INFO] [stdout] 107 |   pub fn get_A(&self) -> u8 {
[INFO] [stdout]     |          ^^^^^ help: convert the identifier to snake case: `get_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_X` should have a snake case name
[INFO] [stdout]    --> src/cpu/register.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 |   pub fn get_X(&self) -> u8 {
[INFO] [stdout]     |          ^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_Y` should have a snake case name
[INFO] [stdout]    --> src/cpu/register.rs:115:10
[INFO] [stdout]     |
[INFO] [stdout] 115 |   pub fn get_Y(&self) -> u8 {
[INFO] [stdout]     |          ^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_P` should have a snake case name
[INFO] [stdout]    --> src/cpu/register.rs:119:10
[INFO] [stdout]     |
[INFO] [stdout] 119 |   pub fn get_P(&self) -> u8 {
[INFO] [stdout]     |          ^^^^^ help: convert the identifier to snake case: `get_p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_PC` should have a snake case name
[INFO] [stdout]    --> src/cpu/register.rs:134:10
[INFO] [stdout]     |
[INFO] [stdout] 134 |   pub fn get_PC(&self) -> u16 {
[INFO] [stdout]     |          ^^^^^^ help: convert the identifier to snake case: `get_pc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_SP` should have a snake case name
[INFO] [stdout]    --> src/cpu/register.rs:138:10
[INFO] [stdout]     |
[INFO] [stdout] 138 |   pub fn get_SP(&self) -> u8 {
[INFO] [stdout]     |          ^^^^^^ help: convert the identifier to snake case: `get_sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inc_SP` should have a snake case name
[INFO] [stdout]    --> src/cpu/register.rs:158:10
[INFO] [stdout]     |
[INFO] [stdout] 158 |   pub fn inc_SP(&mut self) {
[INFO] [stdout]     |          ^^^^^^ help: convert the identifier to snake case: `inc_sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dec_SP` should have a snake case name
[INFO] [stdout]    --> src/cpu/register.rs:162:10
[INFO] [stdout]     |
[INFO] [stdout] 162 |   pub fn dec_SP(&mut self) {
[INFO] [stdout]     |          ^^^^^^ help: convert the identifier to snake case: `dec_sp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inc_PC` should have a snake case name
[INFO] [stdout]    --> src/cpu/register.rs:166:10
[INFO] [stdout]     |
[INFO] [stdout] 166 |   pub fn inc_PC(&mut self) {
[INFO] [stdout]     |          ^^^^^^ help: convert the identifier to snake case: `inc_pc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 39s
[INFO] running `Command { std: "docker" "inspect" "82d1099c43965c2a8cb111d757360fba662611fd67e408daef9e69edfee1f8ed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "82d1099c43965c2a8cb111d757360fba662611fd67e408daef9e69edfee1f8ed", kill_on_drop: false }`
[INFO] [stdout] 82d1099c43965c2a8cb111d757360fba662611fd67e408daef9e69edfee1f8ed
