[INFO] updating cached repository https://github.com/fChristenson/nes-emulator
[INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"`
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] 522c12dc9b70240911959eb1abd505dca2d93bae
[INFO] checking fChristenson/nes-emulator against master#bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FfChristenson%2Fnes-emulator" "/workspace/builds/worker-2/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/fChristenson/nes-emulator on toolchain bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/fChristenson/nes-emulator
[INFO] finished tweaking git repo https://github.com/fChristenson/nes-emulator
[INFO] tweaked toml for git repo https://github.com/fChristenson/nes-emulator written to /workspace/builds/worker-2/source/Cargo.toml
[INFO] crate git repo https://github.com/fChristenson/nes-emulator already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 2420b89bb0edc520482024f75f64dfb33add78acc29c053e1188d0d9a3e9e31d
[INFO] running `"docker" "start" "-a" "2420b89bb0edc520482024f75f64dfb33add78acc29c053e1188d0d9a3e9e31d"`
[INFO] [stderr]     Checking nes-emulator v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib/instructions.rs:33:18
[INFO] [stderr]    |
[INFO] [stderr] 33 |   operation: Box<Fn(&Cpu, u8, &Parameter) -> u8>,
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Cpu, u8, &Parameter) -> u8`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cpu`
[INFO] [stderr]  --> src/lib/instruction_operations.rs:4:28
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn adc_immediate_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]   |                            ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `memoryAddress`
[INFO] [stderr]  --> src/lib/instruction_operations.rs:4:39
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn adc_immediate_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]   |                                       ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_memoryAddress`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `param`
[INFO] [stderr]  --> src/lib/instruction_operations.rs:4:58
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn adc_immediate_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]   |                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_param`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cpu`
[INFO] [stderr]  --> src/lib/instruction_operations.rs:8:28
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub fn adc_zero_page_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]   |                            ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `memoryAddress`
[INFO] [stderr]  --> src/lib/instruction_operations.rs:8:39
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub fn adc_zero_page_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]   |                                       ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_memoryAddress`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `param`
[INFO] [stderr]  --> src/lib/instruction_operations.rs:8:58
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub fn adc_zero_page_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]   |                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_param`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cpu`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:12:30
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub fn adc_zero_page_x_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `memoryAddress`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:12:41
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub fn adc_zero_page_x_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_memoryAddress`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `param`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:12:60
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub fn adc_zero_page_x_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_param`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cpu`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:16:27
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub fn adc_absolute_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `memoryAddress`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:16:38
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub fn adc_absolute_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                      ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_memoryAddress`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `param`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:16:57
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub fn adc_absolute_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_param`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cpu`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:20:29
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub fn adc_absolute_x_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `memoryAddress`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:20:40
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub fn adc_absolute_x_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                        ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_memoryAddress`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `param`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:20:59
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub fn adc_absolute_x_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_param`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cpu`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:24:29
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub fn adc_absolute_y_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `memoryAddress`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:24:40
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub fn adc_absolute_y_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                        ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_memoryAddress`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `param`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:24:59
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub fn adc_absolute_y_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_param`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cpu`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:28:35
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub fn adc_indexed_indirect_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `memoryAddress`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:28:46
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub fn adc_indexed_indirect_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                              ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_memoryAddress`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `param`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:28:65
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub fn adc_indexed_indirect_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_param`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cpu`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:32:35
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub fn adc_indirect_indexed_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `memoryAddress`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:32:46
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub fn adc_indirect_indexed_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                              ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_memoryAddress`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `param`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:32:65
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub fn adc_indirect_indexed_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_param`
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `P`
[INFO] [stderr]  --> src/lib/cpu.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub struct P {
[INFO] [stderr]   |            ^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: enum is never used: `PRegisterFlag`
[INFO] [stderr]  --> src/lib/cpu.rs:5:10
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub enum PRegisterFlag {
[INFO] [stderr]   |          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `get_bit`
[INFO] [stderr]   --> src/lib/cpu.rs:17:3
[INFO] [stderr]    |
[INFO] [stderr] 17 |   fn get_bit(&self, n: u8) -> u8 {
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `toggle_bit`
[INFO] [stderr]   --> src/lib/cpu.rs:22:3
[INFO] [stderr]    |
[INFO] [stderr] 22 |   fn toggle_bit(&mut self, n: u8) {
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `set_bit`
[INFO] [stderr]   --> src/lib/cpu.rs:26:3
[INFO] [stderr]    |
[INFO] [stderr] 26 |   fn set_bit(&mut self, n: u8, v: u8) {
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `get_flag_value`
[INFO] [stderr]   --> src/lib/cpu.rs:32:3
[INFO] [stderr]    |
[INFO] [stderr] 32 |   fn get_flag_value(&self, flag: PRegisterFlag) -> u8 {
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `set_flag_value`
[INFO] [stderr]   --> src/lib/cpu.rs:45:3
[INFO] [stderr]    |
[INFO] [stderr] 45 |   fn set_flag_value(&mut self, flag: PRegisterFlag, value: u8) {
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `Cpu`
[INFO] [stderr]   --> src/lib/cpu.rs:59:12
[INFO] [stderr]    |
[INFO] [stderr] 59 | pub struct Cpu {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `new`
[INFO] [stderr]   --> src/lib/cpu.rs:69:3
[INFO] [stderr]    |
[INFO] [stderr] 69 |   pub fn new() -> Cpu {
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `adc_immediate_logic`
[INFO] [stderr]  --> src/lib/instruction_operations.rs:4:8
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn adc_immediate_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `adc_zero_page_logic`
[INFO] [stderr]  --> src/lib/instruction_operations.rs:8:8
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub fn adc_zero_page_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `adc_zero_page_x_logic`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub fn adc_zero_page_x_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `adc_absolute_logic`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:16:8
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub fn adc_absolute_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `adc_absolute_x_logic`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:20:8
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub fn adc_absolute_x_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `adc_absolute_y_logic`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:24:8
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub fn adc_absolute_y_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `adc_indexed_indirect_logic`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:28:8
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub fn adc_indexed_indirect_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `adc_indirect_indexed_logic`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:32:8
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub fn adc_indirect_indexed_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum is never used: `InstructionType`
[INFO] [stderr]  --> src/lib/instructions.rs:6:10
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub enum InstructionType {
[INFO] [stderr]   |          ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum is never used: `AddressingMode`
[INFO] [stderr]   --> src/lib/instructions.rs:11:10
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub enum AddressingMode {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `Instruction`
[INFO] [stderr]   --> src/lib/instructions.rs:27:12
[INFO] [stderr]    |
[INFO] [stderr] 27 | pub struct Instruction {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `adc`
[INFO] [stderr]   --> src/lib/instructions.rs:37:3
[INFO] [stderr]    |
[INFO] [stderr] 37 |   pub fn adc(addressing_mode: AddressingMode) -> Instruction {
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `high_param`
[INFO] [stderr]    --> src/lib/instructions.rs:107:3
[INFO] [stderr]     |
[INFO] [stderr] 107 |   fn high_param(memory: &mut Memory, low_address: u8) -> u8 {
[INFO] [stderr]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `calculate_page_crossed_penalty`
[INFO] [stderr]    --> src/lib/instructions.rs:112:3
[INFO] [stderr]     |
[INFO] [stderr] 112 |   fn calculate_page_crossed_penalty(address_before: u8, address_after: u8) -> u8 {
[INFO] [stderr]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `execute`
[INFO] [stderr]    --> src/lib/instructions.rs:120:3
[INFO] [stderr]     |
[INFO] [stderr] 120 |   fn execute(&self, cpu: &Cpu, memory: &mut Memory, starting_address: u8) -> u8 {
[INFO] [stderr]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `Parameter`
[INFO] [stderr]  --> src/lib/parameter.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub struct Parameter {
[INFO] [stderr]   |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `Stack`
[INFO] [stderr]  --> src/lib/stack.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct Stack {
[INFO] [stderr]   |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `new`
[INFO] [stderr]  --> src/lib/stack.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 |     pub fn new() -> Stack {
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `push`
[INFO] [stderr]   --> src/lib/stack.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 |     pub fn push(&mut self, memory: &mut Memory, value: u8) {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `pop`
[INFO] [stderr]   --> src/lib/stack.rs:17:3
[INFO] [stderr]    |
[INFO] [stderr] 17 |   pub fn pop(&mut self, memory: &mut Memory) -> u8 {
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable `memoryAddress` should have a snake case name
[INFO] [stderr]  --> src/lib/instruction_operations.rs:4:39
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn adc_immediate_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]   |                                       ^^^^^^^^^^^^^ help: convert the identifier to snake case: `memory_address`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `memoryAddress` should have a snake case name
[INFO] [stderr]  --> src/lib/instruction_operations.rs:8:39
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub fn adc_zero_page_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]   |                                       ^^^^^^^^^^^^^ help: convert the identifier to snake case: `memory_address`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `memoryAddress` should have a snake case name
[INFO] [stderr]   --> src/lib/instruction_operations.rs:12:41
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub fn adc_zero_page_x_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `memory_address`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `memoryAddress` should have a snake case name
[INFO] [stderr]   --> src/lib/instruction_operations.rs:16:38
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub fn adc_absolute_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                      ^^^^^^^^^^^^^ help: convert the identifier to snake case: `memory_address`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `memoryAddress` should have a snake case name
[INFO] [stderr]   --> src/lib/instruction_operations.rs:20:40
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub fn adc_absolute_x_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `memory_address`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `memoryAddress` should have a snake case name
[INFO] [stderr]   --> src/lib/instruction_operations.rs:24:40
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub fn adc_absolute_y_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `memory_address`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `memoryAddress` should have a snake case name
[INFO] [stderr]   --> src/lib/instruction_operations.rs:28:46
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub fn adc_indexed_indirect_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                              ^^^^^^^^^^^^^ help: convert the identifier to snake case: `memory_address`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `memoryAddress` should have a snake case name
[INFO] [stderr]   --> src/lib/instruction_operations.rs:32:46
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub fn adc_indirect_indexed_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                              ^^^^^^^^^^^^^ help: convert the identifier to snake case: `memory_address`
[INFO] [stderr] 
[INFO] [stderr] error: literal out of range for u8
[INFO] [stderr]    --> src/lib/instructions.rs:113:25
[INFO] [stderr]     |
[INFO] [stderr] 113 |     if (address_after & 0xFF00) != (address_before & 0xFF00) {
[INFO] [stderr]     |                         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[deny(overflowing_literals)]` on by default
[INFO] [stderr]     = note: the literal `0xFF00` (decimal `65280`) does not fit into the type `u8` and will become `0u8`
[INFO] [stderr]     = help: consider using `u16` instead
[INFO] [stderr] 
[INFO] [stderr] error: literal out of range for u8
[INFO] [stderr]    --> src/lib/instructions.rs:113:54
[INFO] [stderr]     |
[INFO] [stderr] 113 |     if (address_after & 0xFF00) != (address_before & 0xFF00) {
[INFO] [stderr]     |                                                      ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the literal `0xFF00` (decimal `65280`) does not fit into the type `u8` and will become `0u8`
[INFO] [stderr]     = help: consider using `u16` instead
[INFO] [stderr] 
[INFO] [stderr] error: literal out of range for u8
[INFO] [stderr]    --> src/lib/instructions.rs:203:40
[INFO] [stderr]     |
[INFO] [stderr] 203 |           address_high = address_low & 0xFF00;
[INFO] [stderr]     |                                        ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the literal `0xFF00` (decimal `65280`) does not fit into the type `u8` and will become `0u8`
[INFO] [stderr]     = help: consider using `u16` instead
[INFO] [stderr] 
[INFO] [stderr] error: literal out of range for u8
[INFO] [stderr]  --> src/lib/stack.rs:9:28
[INFO] [stderr]   |
[INFO] [stderr] 9 |       Stack{stack_pointer: 0x01FF}
[INFO] [stderr]   |                            ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: the literal `0x01FF` (decimal `511`) does not fit into the type `u8` and will become `255u8`
[INFO] [stderr]   = help: consider using `u16` instead
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 4 previous errors
[INFO] [stderr] 
[INFO] [stderr] error: could not compile `nes-emulator`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib/instructions.rs:33:18
[INFO] [stderr]    |
[INFO] [stderr] 33 |   operation: Box<Fn(&Cpu, u8, &Parameter) -> u8>,
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&Cpu, u8, &Parameter) -> u8`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cpu`
[INFO] [stderr]  --> src/lib/instruction_operations.rs:4:28
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn adc_immediate_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]   |                            ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `memoryAddress`
[INFO] [stderr]  --> src/lib/instruction_operations.rs:4:39
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn adc_immediate_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]   |                                       ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_memoryAddress`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `param`
[INFO] [stderr]  --> src/lib/instruction_operations.rs:4:58
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn adc_immediate_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]   |                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_param`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cpu`
[INFO] [stderr]  --> src/lib/instruction_operations.rs:8:28
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub fn adc_zero_page_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]   |                            ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `memoryAddress`
[INFO] [stderr]  --> src/lib/instruction_operations.rs:8:39
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub fn adc_zero_page_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]   |                                       ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_memoryAddress`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `param`
[INFO] [stderr]  --> src/lib/instruction_operations.rs:8:58
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub fn adc_zero_page_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]   |                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_param`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cpu`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:12:30
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub fn adc_zero_page_x_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                              ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `memoryAddress`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:12:41
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub fn adc_zero_page_x_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_memoryAddress`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `param`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:12:60
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub fn adc_zero_page_x_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_param`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cpu`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:16:27
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub fn adc_absolute_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `memoryAddress`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:16:38
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub fn adc_absolute_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                      ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_memoryAddress`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `param`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:16:57
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub fn adc_absolute_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_param`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cpu`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:20:29
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub fn adc_absolute_x_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `memoryAddress`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:20:40
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub fn adc_absolute_x_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                        ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_memoryAddress`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `param`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:20:59
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub fn adc_absolute_x_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_param`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cpu`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:24:29
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub fn adc_absolute_y_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `memoryAddress`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:24:40
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub fn adc_absolute_y_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                        ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_memoryAddress`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `param`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:24:59
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub fn adc_absolute_y_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_param`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cpu`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:28:35
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub fn adc_indexed_indirect_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `memoryAddress`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:28:46
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub fn adc_indexed_indirect_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                              ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_memoryAddress`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `param`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:28:65
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub fn adc_indexed_indirect_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_param`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cpu`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:32:35
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub fn adc_indirect_indexed_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `memoryAddress`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:32:46
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub fn adc_indirect_indexed_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                              ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_memoryAddress`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `param`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:32:65
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub fn adc_indirect_indexed_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_param`
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `P`
[INFO] [stderr]  --> src/lib/cpu.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub struct P {
[INFO] [stderr]   |            ^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: enum is never used: `PRegisterFlag`
[INFO] [stderr]  --> src/lib/cpu.rs:5:10
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub enum PRegisterFlag {
[INFO] [stderr]   |          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `get_bit`
[INFO] [stderr]   --> src/lib/cpu.rs:17:3
[INFO] [stderr]    |
[INFO] [stderr] 17 |   fn get_bit(&self, n: u8) -> u8 {
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `toggle_bit`
[INFO] [stderr]   --> src/lib/cpu.rs:22:3
[INFO] [stderr]    |
[INFO] [stderr] 22 |   fn toggle_bit(&mut self, n: u8) {
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `set_bit`
[INFO] [stderr]   --> src/lib/cpu.rs:26:3
[INFO] [stderr]    |
[INFO] [stderr] 26 |   fn set_bit(&mut self, n: u8, v: u8) {
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `get_flag_value`
[INFO] [stderr]   --> src/lib/cpu.rs:32:3
[INFO] [stderr]    |
[INFO] [stderr] 32 |   fn get_flag_value(&self, flag: PRegisterFlag) -> u8 {
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `set_flag_value`
[INFO] [stderr]   --> src/lib/cpu.rs:45:3
[INFO] [stderr]    |
[INFO] [stderr] 45 |   fn set_flag_value(&mut self, flag: PRegisterFlag, value: u8) {
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `Cpu`
[INFO] [stderr]   --> src/lib/cpu.rs:59:12
[INFO] [stderr]    |
[INFO] [stderr] 59 | pub struct Cpu {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `new`
[INFO] [stderr]   --> src/lib/cpu.rs:69:3
[INFO] [stderr]    |
[INFO] [stderr] 69 |   pub fn new() -> Cpu {
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `adc_immediate_logic`
[INFO] [stderr]  --> src/lib/instruction_operations.rs:4:8
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn adc_immediate_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `adc_zero_page_logic`
[INFO] [stderr]  --> src/lib/instruction_operations.rs:8:8
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub fn adc_zero_page_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `adc_zero_page_x_logic`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub fn adc_zero_page_x_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `adc_absolute_logic`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:16:8
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub fn adc_absolute_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `adc_absolute_x_logic`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:20:8
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub fn adc_absolute_x_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `adc_absolute_y_logic`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:24:8
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub fn adc_absolute_y_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `adc_indexed_indirect_logic`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:28:8
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub fn adc_indexed_indirect_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `adc_indirect_indexed_logic`
[INFO] [stderr]   --> src/lib/instruction_operations.rs:32:8
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub fn adc_indirect_indexed_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum is never used: `InstructionType`
[INFO] [stderr]  --> src/lib/instructions.rs:6:10
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub enum InstructionType {
[INFO] [stderr]   |          ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum is never used: `AddressingMode`
[INFO] [stderr]   --> src/lib/instructions.rs:11:10
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub enum AddressingMode {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `Instruction`
[INFO] [stderr]   --> src/lib/instructions.rs:27:12
[INFO] [stderr]    |
[INFO] [stderr] 27 | pub struct Instruction {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `adc`
[INFO] [stderr]   --> src/lib/instructions.rs:37:3
[INFO] [stderr]    |
[INFO] [stderr] 37 |   pub fn adc(addressing_mode: AddressingMode) -> Instruction {
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `high_param`
[INFO] [stderr]    --> src/lib/instructions.rs:107:3
[INFO] [stderr]     |
[INFO] [stderr] 107 |   fn high_param(memory: &mut Memory, low_address: u8) -> u8 {
[INFO] [stderr]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `calculate_page_crossed_penalty`
[INFO] [stderr]    --> src/lib/instructions.rs:112:3
[INFO] [stderr]     |
[INFO] [stderr] 112 |   fn calculate_page_crossed_penalty(address_before: u8, address_after: u8) -> u8 {
[INFO] [stderr]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `execute`
[INFO] [stderr]    --> src/lib/instructions.rs:120:3
[INFO] [stderr]     |
[INFO] [stderr] 120 |   fn execute(&self, cpu: &Cpu, memory: &mut Memory, starting_address: u8) -> u8 {
[INFO] [stderr]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `Parameter`
[INFO] [stderr]  --> src/lib/parameter.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub struct Parameter {
[INFO] [stderr]   |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `Stack`
[INFO] [stderr]  --> src/lib/stack.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct Stack {
[INFO] [stderr]   |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `new`
[INFO] [stderr]  --> src/lib/stack.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 |     pub fn new() -> Stack {
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `push`
[INFO] [stderr]   --> src/lib/stack.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 |     pub fn push(&mut self, memory: &mut Memory, value: u8) {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method is never used: `pop`
[INFO] [stderr]   --> src/lib/stack.rs:17:3
[INFO] [stderr]    |
[INFO] [stderr] 17 |   pub fn pop(&mut self, memory: &mut Memory) -> u8 {
[INFO] [stderr]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable `memoryAddress` should have a snake case name
[INFO] [stderr]  --> src/lib/instruction_operations.rs:4:39
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn adc_immediate_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]   |                                       ^^^^^^^^^^^^^ help: convert the identifier to snake case: `memory_address`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `memoryAddress` should have a snake case name
[INFO] [stderr]  --> src/lib/instruction_operations.rs:8:39
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub fn adc_zero_page_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]   |                                       ^^^^^^^^^^^^^ help: convert the identifier to snake case: `memory_address`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `memoryAddress` should have a snake case name
[INFO] [stderr]   --> src/lib/instruction_operations.rs:12:41
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub fn adc_zero_page_x_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `memory_address`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `memoryAddress` should have a snake case name
[INFO] [stderr]   --> src/lib/instruction_operations.rs:16:38
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub fn adc_absolute_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                      ^^^^^^^^^^^^^ help: convert the identifier to snake case: `memory_address`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `memoryAddress` should have a snake case name
[INFO] [stderr]   --> src/lib/instruction_operations.rs:20:40
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub fn adc_absolute_x_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `memory_address`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `memoryAddress` should have a snake case name
[INFO] [stderr]   --> src/lib/instruction_operations.rs:24:40
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub fn adc_absolute_y_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `memory_address`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `memoryAddress` should have a snake case name
[INFO] [stderr]   --> src/lib/instruction_operations.rs:28:46
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub fn adc_indexed_indirect_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                              ^^^^^^^^^^^^^ help: convert the identifier to snake case: `memory_address`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `memoryAddress` should have a snake case name
[INFO] [stderr]   --> src/lib/instruction_operations.rs:32:46
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub fn adc_indirect_indexed_logic(cpu: &Cpu, memoryAddress: u8, param: &Parameter) -> u8 {
[INFO] [stderr]    |                                              ^^^^^^^^^^^^^ help: convert the identifier to snake case: `memory_address`
[INFO] [stderr] 
[INFO] [stderr] error: literal out of range for u8
[INFO] [stderr]    --> src/lib/instructions.rs:113:25
[INFO] [stderr]     |
[INFO] [stderr] 113 |     if (address_after & 0xFF00) != (address_before & 0xFF00) {
[INFO] [stderr]     |                         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[deny(overflowing_literals)]` on by default
[INFO] [stderr]     = note: the literal `0xFF00` (decimal `65280`) does not fit into the type `u8` and will become `0u8`
[INFO] [stderr]     = help: consider using `u16` instead
[INFO] [stderr] 
[INFO] [stderr] error: literal out of range for u8
[INFO] [stderr]    --> src/lib/instructions.rs:113:54
[INFO] [stderr]     |
[INFO] [stderr] 113 |     if (address_after & 0xFF00) != (address_before & 0xFF00) {
[INFO] [stderr]     |                                                      ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the literal `0xFF00` (decimal `65280`) does not fit into the type `u8` and will become `0u8`
[INFO] [stderr]     = help: consider using `u16` instead
[INFO] [stderr] 
[INFO] [stderr] error: literal out of range for u8
[INFO] [stderr]    --> src/lib/instructions.rs:203:40
[INFO] [stderr]     |
[INFO] [stderr] 203 |           address_high = address_low & 0xFF00;
[INFO] [stderr]     |                                        ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the literal `0xFF00` (decimal `65280`) does not fit into the type `u8` and will become `0u8`
[INFO] [stderr]     = help: consider using `u16` instead
[INFO] [stderr] 
[INFO] [stderr] error: literal out of range for u8
[INFO] [stderr]  --> src/lib/stack.rs:9:28
[INFO] [stderr]   |
[INFO] [stderr] 9 |       Stack{stack_pointer: 0x01FF}
[INFO] [stderr]   |                            ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: the literal `0x01FF` (decimal `511`) does not fit into the type `u8` and will become `255u8`
[INFO] [stderr]   = help: consider using `u16` instead
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 4 previous errors
[INFO] [stderr] 
[INFO] [stderr] error: could not compile `nes-emulator`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "2420b89bb0edc520482024f75f64dfb33add78acc29c053e1188d0d9a3e9e31d"`
[INFO] running `"docker" "rm" "-f" "2420b89bb0edc520482024f75f64dfb33add78acc29c053e1188d0d9a3e9e31d"`
[INFO] [stdout] 2420b89bb0edc520482024f75f64dfb33add78acc29c053e1188d0d9a3e9e31d
