[INFO] updating cached repository https://github.com/kregoslup/r_nes [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] [stderr] From https://github.com/kregoslup/r_nes [INFO] [stderr] 562d8be..d76b893 master -> master [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] d76b8932acb30c2920ea4c4425f08091b5323d90 [INFO] checking kregoslup/r_nes against master#ba72b15666b2491415aec703a02c2364fe5e2790 for pr-71140 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkregoslup%2Fr_nes" "/workspace/builds/worker-0/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-0/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/kregoslup/r_nes on toolchain ba72b15666b2491415aec703a02c2364fe5e2790 [INFO] running `"/workspace/cargo-home/bin/cargo" "+ba72b15666b2491415aec703a02c2364fe5e2790" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/kregoslup/r_nes [INFO] finished tweaking git repo https://github.com/kregoslup/r_nes [INFO] tweaked toml for git repo https://github.com/kregoslup/r_nes written to /workspace/builds/worker-0/source/Cargo.toml [INFO] crate git repo https://github.com/kregoslup/r_nes already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+ba72b15666b2491415aec703a02c2364fe5e2790" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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" "+ba72b15666b2491415aec703a02c2364fe5e2790" "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] dbfd1bfb65c6fc62d3f4a75188b629d55c201a6a7cd16287d85f64f7ee2d0a1f [INFO] running `"docker" "start" "-a" "dbfd1bfb65c6fc62d3f4a75188b629d55c201a6a7cd16287d85f64f7ee2d0a1f"` [INFO] [stderr] Checking r_nes v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `AddressingMode` [INFO] [stderr] --> src/cpu.rs:6:37 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::addressing::{Addressing, AddressingMode, AddressingRegistry}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/cpu.rs:93:45 [INFO] [stderr] | [INFO] [stderr] 93 | if self.overflow_occurred(lhs, rhs, (result as u8)) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/cpu.rs:142:32 [INFO] [stderr] | [INFO] [stderr] 142 | let indirect_address = (self.fetch(self.program_counter) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::addressing::Addressing` [INFO] [stderr] --> src/op_code.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::addressing::Addressing; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `dirs::home_dir` [INFO] [stderr] --> src/bus.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use dirs::home_dir; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BorrowMut`, `Borrow` [INFO] [stderr] --> src/addressing.rs:1:19 [INFO] [stderr] | [INFO] [stderr] 1 | use std::borrow::{BorrowMut, Borrow}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `AddressingMode` [INFO] [stderr] --> src/cpu.rs:6:37 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::addressing::{Addressing, AddressingMode, AddressingRegistry}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/cpu.rs:93:45 [INFO] [stderr] | [INFO] [stderr] 93 | if self.overflow_occurred(lhs, rhs, (result as u8)) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/cpu.rs:142:32 [INFO] [stderr] | [INFO] [stderr] 142 | let indirect_address = (self.fetch(self.program_counter) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::addressing::Addressing` [INFO] [stderr] --> src/op_code.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::addressing::Addressing; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/op_code.rs:28:9 [INFO] [stderr] | [INFO] [stderr] 28 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BorrowMut`, `Borrow` [INFO] [stderr] --> src/addressing.rs:1:19 [INFO] [stderr] | [INFO] [stderr] 1 | use std::borrow::{BorrowMut, Borrow}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `addressing` [INFO] [stderr] --> src/cpu.rs:170:36 [INFO] [stderr] | [INFO] [stderr] 170 | fn indirect_address(&mut self, addressing: &Addressing) -> u16 { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_addressing` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `addressing` [INFO] [stderr] --> src/cpu.rs:182:28 [INFO] [stderr] | [INFO] [stderr] 182 | fn relative(&mut self, addressing: &Addressing) -> u16 { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_addressing` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `borrow` [INFO] [stderr] --> src/cpu.rs:518:13 [INFO] [stderr] | [INFO] [stderr] 518 | let borrow = self.get_borrow(); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_borrow` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `lhs_page` [INFO] [stderr] --> src/cpu.rs:559:13 [INFO] [stderr] | [INFO] [stderr] 559 | let lhs_page = lhs % 255; [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lhs_page` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rhs_page` [INFO] [stderr] --> src/cpu.rs:560:13 [INFO] [stderr] | [INFO] [stderr] 560 | let rhs_page = rhs % 255; [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rhs_page` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cpu.rs:487:13 [INFO] [stderr] | [INFO] [stderr] 487 | let mut result = (Wrapping(target) - Wrapping(value)).0; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cpu.rs:502:13 [INFO] [stderr] | [INFO] [stderr] 502 | let mut result = (self.acc as u16) + (value as u16) + (self.status.contains(Flags::CARRY) as u16); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cpu.rs:519:13 [INFO] [stderr] | [INFO] [stderr] 519 | let mut result = Wrapping(self.acc as u16) - (Wrapping(value as u16) - Wrapping(self.status.contains(Flags::CARRY) as u16)); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_flag` [INFO] [stderr] --> src/cpu.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | pub fn set_flag(&mut self, value: bool, flag: Flags) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/cpu.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn new(bus: Bus) -> Cpu { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_carry` [INFO] [stderr] --> src/cpu.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | fn set_carry(&mut self, result: u16) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_zero` [INFO] [stderr] --> src/cpu.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 76 | fn set_zero(&mut self, result: u16) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_negative` [INFO] [stderr] --> src/cpu.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | fn set_negative(&mut self, result: u16) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_overflow` [INFO] [stderr] --> src/cpu.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | fn set_overflow(&mut self, lhs: u8, rhs: u8, result: u16) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_borrow` [INFO] [stderr] --> src/cpu.rs:100:5 [INFO] [stderr] | [INFO] [stderr] 100 | fn set_borrow(&mut self, result: u16) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `indexed_indirect_address` [INFO] [stderr] --> src/cpu.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | fn indexed_indirect_address(&mut self) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `zero_page_address` [INFO] [stderr] --> src/cpu.rs:119:5 [INFO] [stderr] | [INFO] [stderr] 119 | fn zero_page_address(&mut self) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `immediate_address` [INFO] [stderr] --> src/cpu.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | fn immediate_address(&mut self) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `absolute_address` [INFO] [stderr] --> src/cpu.rs:131:5 [INFO] [stderr] | [INFO] [stderr] 131 | fn absolute_address(&mut self) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `indirect_indexed_address` [INFO] [stderr] --> src/cpu.rs:140:5 [INFO] [stderr] | [INFO] [stderr] 140 | fn indirect_indexed_address(&mut self) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `indexed_address` [INFO] [stderr] --> src/cpu.rs:150:5 [INFO] [stderr] | [INFO] [stderr] 150 | fn indexed_address(&mut self, addressing: &Addressing) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `zero_page_indexed_address` [INFO] [stderr] --> src/cpu.rs:162:5 [INFO] [stderr] | [INFO] [stderr] 162 | fn zero_page_indexed_address(&mut self, addressing: &Addressing) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `absolute_indexed_address` [INFO] [stderr] --> src/cpu.rs:166:5 [INFO] [stderr] | [INFO] [stderr] 166 | fn absolute_indexed_address(&mut self, addressing: &Addressing) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `indirect_address` [INFO] [stderr] --> src/cpu.rs:170:5 [INFO] [stderr] | [INFO] [stderr] 170 | fn indirect_address(&mut self, addressing: &Addressing) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `relative` [INFO] [stderr] --> src/cpu.rs:182:5 [INFO] [stderr] | [INFO] [stderr] 182 | fn relative(&mut self, addressing: &Addressing) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `fetch_address` [INFO] [stderr] --> src/cpu.rs:187:5 [INFO] [stderr] | [INFO] [stderr] 187 | fn fetch_address(&mut self, addressing: &Addressing) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `fetch_with_addressing_mode` [INFO] [stderr] --> src/cpu.rs:221:5 [INFO] [stderr] | [INFO] [stderr] 221 | fn fetch_with_addressing_mode(&mut self, addressing: &Addressing) -> (u8, Option) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `fetch` [INFO] [stderr] --> src/cpu.rs:230:5 [INFO] [stderr] | [INFO] [stderr] 230 | fn fetch(&mut self, address: u16) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `store` [INFO] [stderr] --> src/cpu.rs:234:5 [INFO] [stderr] | [INFO] [stderr] 234 | fn store(&mut self, value: u8, address: Option) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `evaluate` [INFO] [stderr] --> src/cpu.rs:242:5 [INFO] [stderr] | [INFO] [stderr] 242 | pub fn evaluate(&mut self, op_code: OpCode) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `branch` [INFO] [stderr] --> src/cpu.rs:274:5 [INFO] [stderr] | [INFO] [stderr] 274 | fn branch(&mut self, addressing: Addressing, branch_instruction: u8) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `extract_branch_flag` [INFO] [stderr] --> src/cpu.rs:295:5 [INFO] [stderr] | [INFO] [stderr] 295 | fn extract_branch_flag(&mut self, branch_instruction: u8) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `extract_branch_equality` [INFO] [stderr] --> src/cpu.rs:301:5 [INFO] [stderr] | [INFO] [stderr] 301 | fn extract_branch_equality(&mut self, branch_instruction: u8) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `branch_on_flag` [INFO] [stderr] --> src/cpu.rs:305:5 [INFO] [stderr] | [INFO] [stderr] 305 | fn branch_on_flag(&mut self, addressing: Addressing, branch_equality: bool, flag: Flags) -> (bool, bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `bit_test` [INFO] [stderr] --> src/cpu.rs:318:5 [INFO] [stderr] | [INFO] [stderr] 318 | fn bit_test(&mut self, addressing: Addressing) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `jump` [INFO] [stderr] --> src/cpu.rs:335:5 [INFO] [stderr] | [INFO] [stderr] 335 | fn jump(&mut self, addressing: Addressing) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `store_register` [INFO] [stderr] --> src/cpu.rs:345:5 [INFO] [stderr] | [INFO] [stderr] 345 | fn store_register(&mut self, addressing: Addressing, target: u8) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `offset_by_one` [INFO] [stderr] --> src/cpu.rs:355:5 [INFO] [stderr] | [INFO] [stderr] 355 | fn offset_by_one(&mut self, addressing: Addressing, increment: bool) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `load_register` [INFO] [stderr] --> src/cpu.rs:371:5 [INFO] [stderr] | [INFO] [stderr] 371 | fn load_register(&mut self, addressing: Addressing, target: AddressingRegistry) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `shift_left` [INFO] [stderr] --> src/cpu.rs:386:5 [INFO] [stderr] | [INFO] [stderr] 386 | fn shift_left(&mut self, addressing: Addressing) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `logical_shift_right` [INFO] [stderr] --> src/cpu.rs:399:5 [INFO] [stderr] | [INFO] [stderr] 399 | fn logical_shift_right(&mut self, addressing: Addressing) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `rotate_left` [INFO] [stderr] --> src/cpu.rs:413:5 [INFO] [stderr] | [INFO] [stderr] 413 | fn rotate_left(&mut self, addressing: Addressing) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `rotate_right` [INFO] [stderr] --> src/cpu.rs:428:5 [INFO] [stderr] | [INFO] [stderr] 428 | fn rotate_right(&mut self, addressing: Addressing) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_rotation_flags` [INFO] [stderr] --> src/cpu.rs:443:5 [INFO] [stderr] | [INFO] [stderr] 443 | fn set_rotation_flags(&mut self, result: u8, carry: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `force_break` [INFO] [stderr] --> src/cpu.rs:449:5 [INFO] [stderr] | [INFO] [stderr] 449 | fn force_break(&mut self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `store_accumulator` [INFO] [stderr] --> src/cpu.rs:456:5 [INFO] [stderr] | [INFO] [stderr] 456 | fn store_accumulator(&mut self, addressing: Addressing) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `load_accumulator` [INFO] [stderr] --> src/cpu.rs:464:5 [INFO] [stderr] | [INFO] [stderr] 464 | fn load_accumulator(&mut self, addressing: Addressing) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `carry_arithmetic` [INFO] [stderr] --> src/cpu.rs:474:5 [INFO] [stderr] | [INFO] [stderr] 474 | fn carry_arithmetic(&mut self, operation: fn(u8, u8) -> (u8, bool), lhs: u8, rhs: u8) -> (u8, bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `overflow_occurred` [INFO] [stderr] --> src/cpu.rs:480:5 [INFO] [stderr] | [INFO] [stderr] 480 | fn overflow_occurred(&self, lhs: u8, rhs: u8, result: u8) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `compare` [INFO] [stderr] --> src/cpu.rs:484:5 [INFO] [stderr] | [INFO] [stderr] 484 | fn compare(&mut self, addressing: Addressing, target: u8) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add_with_carry` [INFO] [stderr] --> src/cpu.rs:499:5 [INFO] [stderr] | [INFO] [stderr] 499 | fn add_with_carry(&mut self, addressing: Addressing) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `sub_with_borrow` [INFO] [stderr] --> src/cpu.rs:515:5 [INFO] [stderr] | [INFO] [stderr] 515 | fn sub_with_borrow(&mut self, addressing: Addressing) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `bitwise_instruction` [INFO] [stderr] --> src/cpu.rs:531:5 [INFO] [stderr] | [INFO] [stderr] 531 | fn bitwise_instruction(&mut self, addressing: Addressing, operation: fn(u8, u8) -> u8, additional_cycle: bool) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `count_additional_cycles` [INFO] [stderr] --> src/cpu.rs:544:5 [INFO] [stderr] | [INFO] [stderr] 544 | fn count_additional_cycles(&mut self, mut cycles: u8, add_cycles: bool, additional_cycle: bool) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `page_boundary_crossed` [INFO] [stderr] --> src/cpu.rs:554:5 [INFO] [stderr] | [INFO] [stderr] 554 | fn page_boundary_crossed(&self, value: u8) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_on_different_page` [INFO] [stderr] --> src/cpu.rs:558:5 [INFO] [stderr] | [INFO] [stderr] 558 | fn is_on_different_page(&self, lhs: u16, rhs: u16) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_borrow` [INFO] [stderr] --> src/cpu.rs:564:5 [INFO] [stderr] | [INFO] [stderr] 564 | fn get_borrow(&mut self) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `OpCode` [INFO] [stderr] --> src/op_code.rs:3:12 [INFO] [stderr] | [INFO] [stderr] 3 | pub struct OpCode { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/op_code.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | pub fn new(value: u8) -> OpCode { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `upper_op_code` [INFO] [stderr] --> src/op_code.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn upper_op_code(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `mid_op_code` [INFO] [stderr] --> src/op_code.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn mid_op_code(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `lower_op_code` [INFO] [stderr] --> src/op_code.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn lower_op_code(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `load_rom` [INFO] [stderr] --> src/bus.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn load_rom(path: &Path) -> Bus { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/bus.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn new(memory: Vec) -> Bus { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `fetch` [INFO] [stderr] --> src/bus.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn fetch(&self, address: u16) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `store` [INFO] [stderr] --> src/bus.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn store(&mut self, value: u8, address: u16) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `read_file` [INFO] [stderr] --> src/bus.rs:33:4 [INFO] [stderr] | [INFO] [stderr] 33 | fn read_file(path: &Path) -> Vec { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Addressing` [INFO] [stderr] --> src/addressing.rs:3:12 [INFO] [stderr] | [INFO] [stderr] 3 | pub struct Addressing { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `IndexedIndirect` [INFO] [stderr] --> src/addressing.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | IndexedIndirect, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `IndirectIndexed` [INFO] [stderr] --> src/addressing.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | IndirectIndexed, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ZeroPage` [INFO] [stderr] --> src/addressing.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | ZeroPage, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Immediate` [INFO] [stderr] --> src/addressing.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | Immediate, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Absolute` [INFO] [stderr] --> src/addressing.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | Absolute, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `AbsoluteIndexed` [INFO] [stderr] --> src/addressing.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | AbsoluteIndexed, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ZeroPageIndexed` [INFO] [stderr] --> src/addressing.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | ZeroPageIndexed, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Accumulator` [INFO] [stderr] --> src/addressing.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | Accumulator, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Indirect` [INFO] [stderr] --> src/addressing.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | Indirect, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Relative` [INFO] [stderr] --> src/addressing.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | Relative [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `X` [INFO] [stderr] --> src/addressing.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | X, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Y` [INFO] [stderr] --> src/addressing.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | Y [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `indexed_indirect` [INFO] [stderr] --> src/addressing.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn indexed_indirect() -> Addressing { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `indirect_indexed` [INFO] [stderr] --> src/addressing.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn indirect_indexed() -> Addressing { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `zero_page` [INFO] [stderr] --> src/addressing.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn zero_page() -> Addressing { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `immediate` [INFO] [stderr] --> src/addressing.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn immediate() -> Addressing { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `absolute` [INFO] [stderr] --> src/addressing.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 63 | pub fn absolute() -> Addressing { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `absolute_indexed` [INFO] [stderr] --> src/addressing.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | pub fn absolute_indexed(reg: Option, add_cycles: bool) -> Addressing { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `zero_page_indexed` [INFO] [stderr] --> src/addressing.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | pub fn zero_page_indexed(reg: Option, add_cycles: bool) -> Addressing { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `accumulator` [INFO] [stderr] --> src/addressing.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 87 | pub fn accumulator() -> Addressing { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `indirect` [INFO] [stderr] --> src/addressing.rs:95:5 [INFO] [stderr] | [INFO] [stderr] 95 | pub fn indirect() -> Addressing { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `relative` [INFO] [stderr] --> src/addressing.rs:103:5 [INFO] [stderr] | [INFO] [stderr] 103 | pub fn relative() -> Addressing { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `to_register_specific_addressing` [INFO] [stderr] --> src/addressing.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | pub fn to_register_specific_addressing(&self) -> Addressing { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `from_op_code` [INFO] [stderr] --> src/addressing.rs:130:5 [INFO] [stderr] | [INFO] [stderr] 130 | pub fn from_op_code(mid_op_code: u8, lower_op_code: u8) -> Addressing { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `combine_u8` [INFO] [stderr] --> src/util.rs:4:8 [INFO] [stderr] | [INFO] [stderr] 4 | pub fn combine_u8(lsb: u8, msb: u8) -> u16 { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `msb` [INFO] [stderr] --> src/util.rs:8:8 [INFO] [stderr] | [INFO] [stderr] 8 | pub fn msb(value: u8) -> u8 { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `nth_bit` [INFO] [stderr] --> src/util.rs:12:8 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn nth_bit(input: u8, n: u8) -> bool { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `lsb` [INFO] [stderr] --> src/util.rs:20:8 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn lsb(value: u8) -> u8 { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu.rs:555:9 [INFO] [stderr] | [INFO] [stderr] 555 | value > 0x00FF [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/bus.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | file.read_to_end(&mut data); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: 104 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unused variable: `addressing` [INFO] [stderr] --> src/cpu.rs:170:36 [INFO] [stderr] | [INFO] [stderr] 170 | fn indirect_address(&mut self, addressing: &Addressing) -> u16 { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_addressing` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `addressing` [INFO] [stderr] --> src/cpu.rs:182:28 [INFO] [stderr] | [INFO] [stderr] 182 | fn relative(&mut self, addressing: &Addressing) -> u16 { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_addressing` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `borrow` [INFO] [stderr] --> src/cpu.rs:518:13 [INFO] [stderr] | [INFO] [stderr] 518 | let borrow = self.get_borrow(); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_borrow` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `lhs_page` [INFO] [stderr] --> src/cpu.rs:559:13 [INFO] [stderr] | [INFO] [stderr] 559 | let lhs_page = lhs % 255; [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lhs_page` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rhs_page` [INFO] [stderr] --> src/cpu.rs:560:13 [INFO] [stderr] | [INFO] [stderr] 560 | let rhs_page = rhs % 255; [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rhs_page` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cpu.rs:487:13 [INFO] [stderr] | [INFO] [stderr] 487 | let mut result = (Wrapping(target) - Wrapping(value)).0; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cpu.rs:502:13 [INFO] [stderr] | [INFO] [stderr] 502 | let mut result = (self.acc as u16) + (value as u16) + (self.status.contains(Flags::CARRY) as u16); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cpu.rs:519:13 [INFO] [stderr] | [INFO] [stderr] 519 | let mut result = Wrapping(self.acc as u16) - (Wrapping(value as u16) - Wrapping(self.status.contains(Flags::CARRY) as u16)); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cpu.rs:575:13 [INFO] [stderr] | [INFO] [stderr] 575 | let mut bus = Bus::new(input); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `force_break` [INFO] [stderr] --> src/cpu.rs:449:5 [INFO] [stderr] | [INFO] [stderr] 449 | fn force_break(&mut self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `carry_arithmetic` [INFO] [stderr] --> src/cpu.rs:474:5 [INFO] [stderr] | [INFO] [stderr] 474 | fn carry_arithmetic(&mut self, operation: fn(u8, u8) -> (u8, bool), lhs: u8, rhs: u8) -> (u8, bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `load_rom` [INFO] [stderr] --> src/bus.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn load_rom(path: &Path) -> Bus { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu.rs:555:9 [INFO] [stderr] | [INFO] [stderr] 555 | value > 0x00FF [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused comparison that must be used [INFO] [stderr] --> src/cpu.rs:839:9 [INFO] [stderr] | [INFO] [stderr] 839 | cpu.acc == 0; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/bus.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | file.read_to_end(&mut data); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: 21 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.40s [INFO] running `"docker" "inspect" "dbfd1bfb65c6fc62d3f4a75188b629d55c201a6a7cd16287d85f64f7ee2d0a1f"` [INFO] running `"docker" "rm" "-f" "dbfd1bfb65c6fc62d3f4a75188b629d55c201a6a7cd16287d85f64f7ee2d0a1f"` [INFO] [stdout] dbfd1bfb65c6fc62d3f4a75188b629d55c201a6a7cd16287d85f64f7ee2d0a1f