[INFO] updating cached repository fChristenson/nes-emulator [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/fChristenson/nes-emulator [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/fChristenson/nes-emulator" "work/ex/clippy-test-run/sources/stable/gh/fChristenson/nes-emulator"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/fChristenson/nes-emulator'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/fChristenson/nes-emulator" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/fChristenson/nes-emulator"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/fChristenson/nes-emulator'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 522c12dc9b70240911959eb1abd505dca2d93bae [INFO] sha for GitHub repo fChristenson/nes-emulator: 522c12dc9b70240911959eb1abd505dca2d93bae [INFO] validating manifest of fChristenson/nes-emulator on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of fChristenson/nes-emulator on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing fChristenson/nes-emulator [INFO] finished frobbing fChristenson/nes-emulator [INFO] frobbed toml for fChristenson/nes-emulator written to work/ex/clippy-test-run/sources/stable/gh/fChristenson/nes-emulator/Cargo.toml [INFO] started frobbing fChristenson/nes-emulator [INFO] finished frobbing fChristenson/nes-emulator [INFO] frobbed toml for fChristenson/nes-emulator written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/fChristenson/nes-emulator/Cargo.toml [INFO] crate fChristenson/nes-emulator has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting fChristenson/nes-emulator against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/fChristenson/nes-emulator:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dclippy::into_iter_on_array" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 5e7556599291673d1ab6ec532b9154119e99f199b281ce598a1ae696140dbce6 [INFO] running `"docker" "start" "-a" "5e7556599291673d1ab6ec532b9154119e99f199b281ce598a1ae696140dbce6"` [INFO] [stderr] Checking nes-emulator v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/cpu.rs:71:27 [INFO] [stderr] | [INFO] [stderr] 71 | Cpu{x: 0, y: 0, a: 0, p: p, program_counter: 0, stack_pointer: 0} [INFO] [stderr] | ^^^^ help: replace it with: `p` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/instructions.rs:138:11 [INFO] [stderr] | [INFO] [stderr] 138 | address: address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `address` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/instructions.rs:146:11 [INFO] [stderr] | [INFO] [stderr] 146 | address: address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `address` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/instructions.rs:154:11 [INFO] [stderr] | [INFO] [stderr] 154 | address: address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `address` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/instructions.rs:162:11 [INFO] [stderr] | [INFO] [stderr] 162 | address: address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `address` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/instructions.rs:170:11 [INFO] [stderr] | [INFO] [stderr] 170 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/instructions.rs:171:11 [INFO] [stderr] | [INFO] [stderr] 171 | address: address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `address` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/instructions.rs:179:11 [INFO] [stderr] | [INFO] [stderr] 179 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/instructions.rs:180:11 [INFO] [stderr] | [INFO] [stderr] 180 | address: address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `address` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/instructions.rs:187:11 [INFO] [stderr] | [INFO] [stderr] 187 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/instructions.rs:224:11 [INFO] [stderr] | [INFO] [stderr] 224 | extra_cycles: extra_cycles, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `extra_cycles` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/instructions.rs:239:11 [INFO] [stderr] | [INFO] [stderr] 239 | extra_cycles: extra_cycles, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `extra_cycles` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/cpu.rs:71:27 [INFO] [stderr] | [INFO] [stderr] 71 | Cpu{x: 0, y: 0, a: 0, p: p, program_counter: 0, stack_pointer: 0} [INFO] [stderr] | ^^^^ help: replace it with: `p` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/instructions.rs:138:11 [INFO] [stderr] | [INFO] [stderr] 138 | address: address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `address` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/instructions.rs:146:11 [INFO] [stderr] | [INFO] [stderr] 146 | address: address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `address` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/instructions.rs:154:11 [INFO] [stderr] | [INFO] [stderr] 154 | address: address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `address` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/instructions.rs:162:11 [INFO] [stderr] | [INFO] [stderr] 162 | address: address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `address` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/instructions.rs:170:11 [INFO] [stderr] | [INFO] [stderr] 170 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/instructions.rs:171:11 [INFO] [stderr] | [INFO] [stderr] 171 | address: address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `address` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/instructions.rs:179:11 [INFO] [stderr] | [INFO] [stderr] 179 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/instructions.rs:180:11 [INFO] [stderr] | [INFO] [stderr] 180 | address: address, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `address` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/instructions.rs:187:11 [INFO] [stderr] | [INFO] [stderr] 187 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/instructions.rs:224:11 [INFO] [stderr] | [INFO] [stderr] 224 | extra_cycles: extra_cycles, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `extra_cycles` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib/instructions.rs:239:11 [INFO] [stderr] | [INFO] [stderr] 239 | extra_cycles: extra_cycles, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `extra_cycles` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [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: consider using `_cpu` instead [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: consider using `_memoryAddress` instead [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: consider using `_param` instead [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: consider using `_cpu` instead [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: consider using `_memoryAddress` instead [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: consider using `_param` instead [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: consider using `_cpu` instead [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: consider using `_memoryAddress` instead [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: consider using `_param` instead [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: consider using `_cpu` instead [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: consider using `_memoryAddress` instead [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: consider using `_param` instead [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: consider using `_cpu` instead [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: consider using `_cpu` instead [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: consider using `_memoryAddress` instead [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: consider using `_param` instead [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: consider using `_cpu` instead [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: consider using `_memoryAddress` instead [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: consider using `_param` instead [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: consider using `_cpu` instead [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: consider using `_memoryAddress` instead [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: consider using `_param` instead [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: consider using `_cpu` instead [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: consider using `_memoryAddress` instead [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: consider using `_param` instead [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: consider using `_cpu` instead [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: consider using `_memoryAddress` instead [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: consider using `_param` instead [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: consider using `_cpu` instead [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: consider using `_memoryAddress` instead [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: consider using `_param` instead [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: consider using `_cpu` instead [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: consider using `_memoryAddress` instead [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: consider using `_param` instead [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: consider using `_cpu` instead [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: consider using `_memoryAddress` instead [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: consider using `_param` instead [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: consider using `_memoryAddress` instead [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: consider using `_param` instead [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: consider using `_cpu` instead [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: consider using `_memoryAddress` instead [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: consider using `_param` instead [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: consider using `_cpu` instead [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: consider using `_memoryAddress` instead [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: consider using `_param` instead [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: consider using `_cpu` instead [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: consider using `_memoryAddress` instead [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: consider using `_param` instead [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `P` [INFO] [stderr] --> src/lib/cpu.rs:1:1 [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:1 [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:1 [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:1 [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:1 [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:1 [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:1 [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:1 [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:1 [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:1 [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:1 [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:1 [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:1 [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:1 [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:1 [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:1 [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: manual implementation of an assign operation [INFO] [stderr] --> src/lib/cpu.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | self.value = self.value ^ (1 << n) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.value ^= (1 << n)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: variable `memoryAddress` should have a snake case name such as `memory_address` [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] | ^^^^^^^^^^^^^ [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 such as `memory_address` [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] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `memoryAddress` should have a snake case name such as `memory_address` [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] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `memoryAddress` should have a snake case name such as `memory_address` [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] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `memoryAddress` should have a snake case name such as `memory_address` [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] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `memoryAddress` should have a snake case name such as `memory_address` [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] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `memoryAddress` should have a snake case name such as `memory_address` [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] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `memoryAddress` should have a snake case name such as `memory_address` [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] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `P` [INFO] [stderr] --> src/lib/cpu.rs:1:1 [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:1 [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:1 [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:1 [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:1 [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:1 [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:1 [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:1 [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:1 [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:1 [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:1 [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:1 [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:1 [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:1 [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:1 [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:1 [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] error: attempt to shift left with overflow [INFO] [stderr] --> src/lib/instructions.rs:108:17 [INFO] [stderr] | [INFO] [stderr] 108 | let shift = memory.read(low_address + 1) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(exceeding_bitshifts)] on by default [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib/cpu.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | self.value = self.value ^ (1 << n) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.value ^= (1 << n)` [INFO] [stderr] warning: 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: #[warn(overflowing_literals)] on by default [INFO] [stderr] = note: the literal `0xFF00` (decimal `65280`) does not fit into an `u8` and will become `0u8` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: consider using `u16` instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: 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 an `u8` and will become `0u8` [INFO] [stderr] = help: consider using `u16` instead [INFO] [stderr] [INFO] [stderr] error: attempt to shift left with overflow [INFO] [stderr] --> src/lib/instructions.rs:209:18 [INFO] [stderr] | [INFO] [stderr] 209 | value: (value_high << 8) | value_low, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: attempt to shift left with overflow [INFO] [stderr] --> src/lib/instructions.rs:219:38 [INFO] [stderr] | [INFO] [stderr] 219 | let value_true = memory.read((value_high << 8) | value_low); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: attempt to shift left with overflow [INFO] [stderr] --> src/lib/instructions.rs:223:20 [INFO] [stderr] | [INFO] [stderr] 223 | address: (value_high << 8) | value_low, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: attempt to shift left with overflow [INFO] [stderr] --> src/lib/instructions.rs:231:29 [INFO] [stderr] | [INFO] [stderr] 231 | let address_true = ((value_high << 8) | value_low) + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: attempt to shift left with overflow [INFO] [stderr] --> src/lib/instructions.rs:234:55 [INFO] [stderr] | [INFO] [stderr] 234 | Instruction::calculate_page_crossed_penalty((value_high << 8) | value_low, address_true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `memoryAddress` should have a snake case name such as `memory_address` [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] | ^^^^^^^^^^^^^ [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 such as `memory_address` [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] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `address` [INFO] [stderr] --> src/lib/instructions.rs:145:30 [INFO] [stderr] | [INFO] [stderr] 145 | value: memory.read(address & 0xFF), [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: variable `memoryAddress` should have a snake case name such as `memory_address` [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] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `memoryAddress` should have a snake case name such as `memory_address` [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] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `memoryAddress` should have a snake case name such as `memory_address` [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] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `memoryAddress` should have a snake case name such as `memory_address` [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] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `memoryAddress` should have a snake case name such as `memory_address` [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] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/lib/instructions.rs:200:9 [INFO] [stderr] | [INFO] [stderr] 200 | / let mut address_high = address_low + 1; [INFO] [stderr] 201 | | [INFO] [stderr] 202 | | if (address_low & 0xFF) == 0xFF { [INFO] [stderr] 203 | | address_high = address_low & 0xFF00; [INFO] [stderr] 204 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let address_high = if (address_low & 0xFF) == 0xFF { address_low & 0xFF00 } else { address_low + 1 };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] warning: variable `memoryAddress` should have a snake case name such as `memory_address` [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] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `address_low` [INFO] [stderr] --> src/lib/instructions.rs:202:12 [INFO] [stderr] | [INFO] [stderr] 202 | if (address_low & 0xFF) == 0xFF { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: 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 an `u8` and will become `0u8` [INFO] [stderr] = help: consider using `u16` instead [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `value` [INFO] [stderr] --> src/lib/instructions.rs:217:37 [INFO] [stderr] | [INFO] [stderr] 217 | let value_low = memory.read(value & 0xFF); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `(value + 1)` [INFO] [stderr] --> src/lib/instructions.rs:218:38 [INFO] [stderr] | [INFO] [stderr] 218 | let value_high = memory.read((value + 1) & 0xFF); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `value` [INFO] [stderr] --> src/lib/instructions.rs:229:37 [INFO] [stderr] | [INFO] [stderr] 229 | let value_low = memory.read(value & 0xFF); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `(value + 1)` [INFO] [stderr] --> src/lib/instructions.rs:230:38 [INFO] [stderr] | [INFO] [stderr] 230 | let value_high = memory.read((value + 1) & 0xFF); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of left operand [INFO] [stderr] --> src/lib/instructions.rs:244:5 [INFO] [stderr] | [INFO] [stderr] 244 | &self.cycles + parameter.extra_cycles + (&self.operation)(cpu, starting_address, ¶meter) [INFO] [stderr] | ------------^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `self.cycles` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: 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 an `u8` and will become `255u8` [INFO] [stderr] = help: consider using `u16` instead [INFO] [stderr] [INFO] [stderr] error: attempt to shift left with overflow [INFO] [stderr] --> src/lib/instructions.rs:108:17 [INFO] [stderr] | [INFO] [stderr] 108 | let shift = memory.read(low_address + 1) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(exceeding_bitshifts)] on by default [INFO] [stderr] [INFO] [stderr] warning: 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: #[warn(overflowing_literals)] on by default [INFO] [stderr] = note: the literal `0xFF00` (decimal `65280`) does not fit into an `u8` and will become `0u8` [INFO] [stderr] = help: consider using `u16` instead [INFO] [stderr] [INFO] [stderr] warning: 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 an `u8` and will become `0u8` [INFO] [stderr] = help: consider using `u16` instead [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors [INFO] [stderr] [INFO] [stderr] error: attempt to shift left with overflow [INFO] [stderr] --> src/lib/instructions.rs:209:18 [INFO] [stderr] | [INFO] [stderr] 209 | value: (value_high << 8) | value_low, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: attempt to shift left with overflow [INFO] [stderr] --> src/lib/instructions.rs:219:38 [INFO] [stderr] | [INFO] [stderr] 219 | let value_true = memory.read((value_high << 8) | value_low); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: attempt to shift left with overflow [INFO] [stderr] --> src/lib/instructions.rs:223:20 [INFO] [stderr] | [INFO] [stderr] 223 | address: (value_high << 8) | value_low, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: attempt to shift left with overflow [INFO] [stderr] --> src/lib/instructions.rs:231:29 [INFO] [stderr] | [INFO] [stderr] 231 | let address_true = ((value_high << 8) | value_low) + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: attempt to shift left with overflow [INFO] [stderr] --> src/lib/instructions.rs:234:55 [INFO] [stderr] | [INFO] [stderr] 234 | Instruction::calculate_page_crossed_penalty((value_high << 8) | value_low, address_true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `address` [INFO] [stderr] --> src/lib/instructions.rs:145:30 [INFO] [stderr] | [INFO] [stderr] 145 | value: memory.read(address & 0xFF), [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/lib/instructions.rs:200:9 [INFO] [stderr] | [INFO] [stderr] 200 | / let mut address_high = address_low + 1; [INFO] [stderr] 201 | | [INFO] [stderr] 202 | | if (address_low & 0xFF) == 0xFF { [INFO] [stderr] 203 | | address_high = address_low & 0xFF00; [INFO] [stderr] 204 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let address_high = if (address_low & 0xFF) == 0xFF { address_low & 0xFF00 } else { address_low + 1 };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `address_low` [INFO] [stderr] --> src/lib/instructions.rs:202:12 [INFO] [stderr] | [INFO] [stderr] 202 | if (address_low & 0xFF) == 0xFF { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: 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 an `u8` and will become `0u8` [INFO] [stderr] = help: consider using `u16` instead [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `value` [INFO] [stderr] --> src/lib/instructions.rs:217:37 [INFO] [stderr] | [INFO] [stderr] 217 | let value_low = memory.read(value & 0xFF); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `(value + 1)` [INFO] [stderr] --> src/lib/instructions.rs:218:38 [INFO] [stderr] | [INFO] [stderr] 218 | let value_high = memory.read((value + 1) & 0xFF); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `value` [INFO] [stderr] --> src/lib/instructions.rs:229:37 [INFO] [stderr] | [INFO] [stderr] 229 | let value_low = memory.read(value & 0xFF); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `(value + 1)` [INFO] [stderr] --> src/lib/instructions.rs:230:38 [INFO] [stderr] | [INFO] [stderr] 230 | let value_high = memory.read((value + 1) & 0xFF); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] error: Could not compile `nes-emulator`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: needlessly taken reference of left operand [INFO] [stderr] --> src/lib/instructions.rs:244:5 [INFO] [stderr] | [INFO] [stderr] 244 | &self.cycles + parameter.extra_cycles + (&self.operation)(cpu, starting_address, ¶meter) [INFO] [stderr] | ------------^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `self.cycles` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: 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 an `u8` and will become `255u8` [INFO] [stderr] = help: consider using `u16` instead [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 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" "5e7556599291673d1ab6ec532b9154119e99f199b281ce598a1ae696140dbce6"` [INFO] running `"docker" "rm" "-f" "5e7556599291673d1ab6ec532b9154119e99f199b281ce598a1ae696140dbce6"` [INFO] [stdout] 5e7556599291673d1ab6ec532b9154119e99f199b281ce598a1ae696140dbce6