[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] d76b893..829947f master -> master [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 829947f8b501a18224394da8a4f17ea04f11cdc4 [INFO] checking kregoslup/r_nes against try#e4dba30b9b475d8750370c4dfb49b6541990904d for pr-71393 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkregoslup%2Fr_nes" "/workspace/builds/worker-2/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/kregoslup/r_nes on toolchain e4dba30b9b475d8750370c4dfb49b6541990904d [INFO] running `"/workspace/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "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-2/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" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "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] 8fe6b0b2badfaf3e68703c04932b2a842f4c1e1399f660464e116badff9304cd [INFO] running `"docker" "start" "-a" "8fe6b0b2badfaf3e68703c04932b2a842f4c1e1399f660464e116badff9304cd"` [INFO] [stderr] Compiling libc v0.2.66 [INFO] [stderr] Checking dirs-sys v0.3.4 [INFO] [stderr] Checking dirs v2.0.2 [INFO] [stderr] Checking r_nes v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `Implied` [INFO] [stderr] --> src/cpu.rs:2:173 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::addressing::AddressingMode::{IndexedIndirect, ZeroPage, Immediate, IndirectIndexed, ZeroPageIndexed, Absolute, AbsoluteIndexed, Accumulator, Indirect, Relative, Implied}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `AddressingMode` [INFO] [stderr] --> src/cpu.rs:4:37 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::addressing::{Addressing, AddressingMode, AddressingRegistry}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/cpu.rs:103:45 [INFO] [stderr] | [INFO] [stderr] 103 | 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:152:32 [INFO] [stderr] | [INFO] [stderr] 152 | let indirect_address = (self.fetch(self.program_counter) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/cpu.rs:1201:36 [INFO] [stderr] | [INFO] [stderr] 1201 | let stored_acc = cpu.fetch(((cpu.stack_pointer + 1) 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 import: `Implied` [INFO] [stderr] --> src/cpu.rs:2:173 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::addressing::AddressingMode::{IndexedIndirect, ZeroPage, Immediate, IndirectIndexed, ZeroPageIndexed, Absolute, AbsoluteIndexed, Accumulator, Indirect, Relative, Implied}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `AddressingMode` [INFO] [stderr] --> src/cpu.rs:4:37 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::addressing::{Addressing, AddressingMode, AddressingRegistry}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/cpu.rs:103:45 [INFO] [stderr] | [INFO] [stderr] 103 | 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:152:32 [INFO] [stderr] | [INFO] [stderr] 152 | 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 variable: `addressing` [INFO] [stderr] --> src/cpu.rs:180:36 [INFO] [stderr] | [INFO] [stderr] 180 | 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:192:28 [INFO] [stderr] | [INFO] [stderr] 192 | 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:707:13 [INFO] [stderr] | [INFO] [stderr] 707 | 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:748:13 [INFO] [stderr] | [INFO] [stderr] 748 | 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:749:13 [INFO] [stderr] | [INFO] [stderr] 749 | 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:480:13 [INFO] [stderr] | [INFO] [stderr] 480 | let mut cycles = 6; [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:489:13 [INFO] [stderr] | [INFO] [stderr] 489 | let mut cycles = 6; [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:512:13 [INFO] [stderr] | [INFO] [stderr] 512 | let mut cycles = 2; [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:532:14 [INFO] [stderr] | [INFO] [stderr] 532 | let (mut value, address) = self.fetch_with_addressing_mode(&addressing); [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:676:13 [INFO] [stderr] | [INFO] [stderr] 676 | let mut result = (Wrapping(target) - Wrapping(value)).0; [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:691:13 [INFO] [stderr] | [INFO] [stderr] 691 | 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:708:13 [INFO] [stderr] | [INFO] [stderr] 708 | 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: `new` [INFO] [stderr] --> src/cpu.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | pub fn new(bus: Bus) -> Cpu { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_carry` [INFO] [stderr] --> src/cpu.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | 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:86:5 [INFO] [stderr] | [INFO] [stderr] 86 | 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:94:5 [INFO] [stderr] | [INFO] [stderr] 94 | 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:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | 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:110:5 [INFO] [stderr] | [INFO] [stderr] 110 | 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:118:5 [INFO] [stderr] | [INFO] [stderr] 118 | 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:129:5 [INFO] [stderr] | [INFO] [stderr] 129 | 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:136:5 [INFO] [stderr] | [INFO] [stderr] 136 | fn immediate_address(&mut self) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `absolute_address` [INFO] [stderr] --> src/cpu.rs:141:5 [INFO] [stderr] | [INFO] [stderr] 141 | 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:150:5 [INFO] [stderr] | [INFO] [stderr] 150 | 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:160:5 [INFO] [stderr] | [INFO] [stderr] 160 | 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:172:5 [INFO] [stderr] | [INFO] [stderr] 172 | 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:176:5 [INFO] [stderr] | [INFO] [stderr] 176 | 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:180:5 [INFO] [stderr] | [INFO] [stderr] 180 | 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:192:5 [INFO] [stderr] | [INFO] [stderr] 192 | 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:197:5 [INFO] [stderr] | [INFO] [stderr] 197 | 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:231:5 [INFO] [stderr] | [INFO] [stderr] 231 | 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:240:5 [INFO] [stderr] | [INFO] [stderr] 240 | fn fetch(&mut self, address: u16) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `store` [INFO] [stderr] --> src/cpu.rs:244:5 [INFO] [stderr] | [INFO] [stderr] 244 | fn store(&mut self, value: u8, address: Option) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `push_flags_on_stack` [INFO] [stderr] --> src/cpu.rs:251:5 [INFO] [stderr] | [INFO] [stderr] 251 | fn push_flags_on_stack(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `push_status_on_stack` [INFO] [stderr] --> src/cpu.rs:255:5 [INFO] [stderr] | [INFO] [stderr] 255 | fn push_status_on_stack(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `push_program_counter_on_stack` [INFO] [stderr] --> src/cpu.rs:260:5 [INFO] [stderr] | [INFO] [stderr] 260 | fn push_program_counter_on_stack(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `push_on_stack` [INFO] [stderr] --> src/cpu.rs:265:5 [INFO] [stderr] | [INFO] [stderr] 265 | fn push_on_stack(&mut self, value: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `read_flags_from_stack` [INFO] [stderr] --> src/cpu.rs:270:5 [INFO] [stderr] | [INFO] [stderr] 270 | fn read_flags_from_stack(&mut self) -> Flags { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `read_pc_from_stack` [INFO] [stderr] --> src/cpu.rs:274:5 [INFO] [stderr] | [INFO] [stderr] 274 | fn read_pc_from_stack(&mut self) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pull_from_stack` [INFO] [stderr] --> src/cpu.rs:280:5 [INFO] [stderr] | [INFO] [stderr] 280 | fn pull_from_stack(&mut self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `evaluate` [INFO] [stderr] --> src/cpu.rs:286:5 [INFO] [stderr] | [INFO] [stderr] 286 | pub fn evaluate(&mut self, op_code: OpCode) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `decode_op_code` [INFO] [stderr] --> src/cpu.rs:318:5 [INFO] [stderr] | [INFO] [stderr] 318 | fn decode_op_code(&mut self, op_code: OpCode) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `clear_flag` [INFO] [stderr] --> src/cpu.rs:349:5 [INFO] [stderr] | [INFO] [stderr] 349 | fn clear_flag(&mut self, flag: Flags) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_flag` [INFO] [stderr] --> src/cpu.rs:355:5 [INFO] [stderr] | [INFO] [stderr] 355 | fn set_flag(&mut self, flag: Flags) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `transfer` [INFO] [stderr] --> src/cpu.rs:361:5 [INFO] [stderr] | [INFO] [stderr] 361 | fn transfer(&mut self, from: AddressingRegistry, into: AddressingRegistry) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `push_accumulator` [INFO] [stderr] --> src/cpu.rs:382:5 [INFO] [stderr] | [INFO] [stderr] 382 | fn push_accumulator(&mut self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pull_accumulator` [INFO] [stderr] --> src/cpu.rs:388:5 [INFO] [stderr] | [INFO] [stderr] 388 | fn pull_accumulator(&mut self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `push_processor_status` [INFO] [stderr] --> src/cpu.rs:396:5 [INFO] [stderr] | [INFO] [stderr] 396 | fn push_processor_status(&mut self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pull_processor_status` [INFO] [stderr] --> src/cpu.rs:402:5 [INFO] [stderr] | [INFO] [stderr] 402 | fn pull_processor_status(&mut self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `branch` [INFO] [stderr] --> src/cpu.rs:408:5 [INFO] [stderr] | [INFO] [stderr] 408 | 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:429:5 [INFO] [stderr] | [INFO] [stderr] 429 | 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:435:5 [INFO] [stderr] | [INFO] [stderr] 435 | 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:439:5 [INFO] [stderr] | [INFO] [stderr] 439 | 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:452:5 [INFO] [stderr] | [INFO] [stderr] 452 | 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:469:5 [INFO] [stderr] | [INFO] [stderr] 469 | fn jump(&mut self, addressing: Addressing) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `jump_to_subroutine` [INFO] [stderr] --> src/cpu.rs:479:5 [INFO] [stderr] | [INFO] [stderr] 479 | fn jump_to_subroutine(&mut self, addressing: Addressing) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `return_from` [INFO] [stderr] --> src/cpu.rs:488:5 [INFO] [stderr] | [INFO] [stderr] 488 | fn return_from(&mut self, read_flags: bool) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `store_register` [INFO] [stderr] --> src/cpu.rs:501:5 [INFO] [stderr] | [INFO] [stderr] 501 | fn store_register(&mut self, addressing: Addressing, target: u8) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `offset_register_by_one` [INFO] [stderr] --> src/cpu.rs:511:5 [INFO] [stderr] | [INFO] [stderr] 511 | fn offset_register_by_one(&mut self, addressing: Addressing, increment: bool) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `offset_memory_by_one` [INFO] [stderr] --> src/cpu.rs:530:5 [INFO] [stderr] | [INFO] [stderr] 530 | fn offset_memory_by_one(&mut self, addressing: Addressing, increment: bool) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `offset_by_one` [INFO] [stderr] --> src/cpu.rs:540:5 [INFO] [stderr] | [INFO] [stderr] 540 | fn offset_by_one(&mut self, value: u8, increment: bool) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `load_register` [INFO] [stderr] --> src/cpu.rs:553:5 [INFO] [stderr] | [INFO] [stderr] 553 | 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:568:5 [INFO] [stderr] | [INFO] [stderr] 568 | 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:581:5 [INFO] [stderr] | [INFO] [stderr] 581 | 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:595:5 [INFO] [stderr] | [INFO] [stderr] 595 | 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:610:5 [INFO] [stderr] | [INFO] [stderr] 610 | 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:625:5 [INFO] [stderr] | [INFO] [stderr] 625 | 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:631:5 [INFO] [stderr] | [INFO] [stderr] 631 | fn force_break(&mut self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `store_accumulator` [INFO] [stderr] --> src/cpu.rs:645:5 [INFO] [stderr] | [INFO] [stderr] 645 | 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:653:5 [INFO] [stderr] | [INFO] [stderr] 653 | 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:663:5 [INFO] [stderr] | [INFO] [stderr] 663 | 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:669:5 [INFO] [stderr] | [INFO] [stderr] 669 | 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:673:5 [INFO] [stderr] | [INFO] [stderr] 673 | 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:688:5 [INFO] [stderr] | [INFO] [stderr] 688 | 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:704:5 [INFO] [stderr] | [INFO] [stderr] 704 | 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:720:5 [INFO] [stderr] | [INFO] [stderr] 720 | 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:733:5 [INFO] [stderr] | [INFO] [stderr] 733 | 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:743:5 [INFO] [stderr] | [INFO] [stderr] 743 | 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:747:5 [INFO] [stderr] | [INFO] [stderr] 747 | 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:753:5 [INFO] [stderr] | [INFO] [stderr] 753 | 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: `Implied` [INFO] [stderr] --> src/addressing.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | Implied, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `X` [INFO] [stderr] --> src/addressing.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | X, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Y` [INFO] [stderr] --> src/addressing.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | Y, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Acc` [INFO] [stderr] --> src/addressing.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | Acc, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `StackPtr` [INFO] [stderr] --> src/addressing.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | StackPtr [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `indexed_indirect` [INFO] [stderr] --> src/addressing.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn indexed_indirect() -> Addressing { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `indirect_indexed` [INFO] [stderr] --> src/addressing.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn indirect_indexed() -> Addressing { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `zero_page` [INFO] [stderr] --> src/addressing.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn zero_page() -> Addressing { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `immediate` [INFO] [stderr] --> src/addressing.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | pub fn immediate(addressing_registry: Option) -> Addressing { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `absolute` [INFO] [stderr] --> src/addressing.rs:66:5 [INFO] [stderr] | [INFO] [stderr] 66 | pub fn absolute() -> Addressing { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `absolute_indexed` [INFO] [stderr] --> src/addressing.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | 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:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | 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:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | pub fn accumulator() -> Addressing { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `indirect` [INFO] [stderr] --> src/addressing.rs:98:5 [INFO] [stderr] | [INFO] [stderr] 98 | pub fn indirect() -> Addressing { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `relative` [INFO] [stderr] --> src/addressing.rs:106:5 [INFO] [stderr] | [INFO] [stderr] 106 | pub fn relative() -> Addressing { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `to_register_specific_addressing` [INFO] [stderr] --> src/addressing.rs:114:5 [INFO] [stderr] | [INFO] [stderr] 114 | 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:133:5 [INFO] [stderr] | [INFO] [stderr] 133 | 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:744:9 [INFO] [stderr] | [INFO] [stderr] 744 | 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: unused variable: `addressing` [INFO] [stderr] --> src/cpu.rs:180:36 [INFO] [stderr] | [INFO] [stderr] 180 | 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:192:28 [INFO] [stderr] | [INFO] [stderr] 192 | 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:707:13 [INFO] [stderr] | [INFO] [stderr] 707 | 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:748:13 [INFO] [stderr] | [INFO] [stderr] 748 | 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:749:13 [INFO] [stderr] | [INFO] [stderr] 749 | let rhs_page = rhs % 255; [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rhs_page` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `flags_on_stack` [INFO] [stderr] --> src/cpu.rs:1147:13 [INFO] [stderr] | [INFO] [stderr] 1147 | let flags_on_stack = Flags::NEGATIVE | Flags::PLACEHOLDER | Flags::OVERFLOW; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_flags_on_stack` [INFO] [stderr] [INFO] [stderr] warning: 130 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cpu.rs:480:13 [INFO] [stderr] | [INFO] [stderr] 480 | let mut cycles = 6; [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:489:13 [INFO] [stderr] | [INFO] [stderr] 489 | let mut cycles = 6; [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:512:13 [INFO] [stderr] | [INFO] [stderr] 512 | let mut cycles = 2; [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:532:14 [INFO] [stderr] | [INFO] [stderr] 532 | let (mut value, address) = self.fetch_with_addressing_mode(&addressing); [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:676:13 [INFO] [stderr] | [INFO] [stderr] 676 | let mut result = (Wrapping(target) - Wrapping(value)).0; [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:691:13 [INFO] [stderr] | [INFO] [stderr] 691 | 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:708:13 [INFO] [stderr] | [INFO] [stderr] 708 | 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:764:13 [INFO] [stderr] | [INFO] [stderr] 764 | let mut bus = Bus::new(input); [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:1164:13 [INFO] [stderr] | [INFO] [stderr] 1164 | let mut memory = vec![0; len]; [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:1195:13 [INFO] [stderr] | [INFO] [stderr] 1195 | let mut memory = vec![0; len]; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `carry_arithmetic` [INFO] [stderr] --> src/cpu.rs:663:5 [INFO] [stderr] | [INFO] [stderr] 663 | fn carry_arithmetic(&mut self, operation: fn(u8, u8) -> (u8, bool), lhs: u8, rhs: u8) -> (u8, bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [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: variant is never constructed: `Implied` [INFO] [stderr] --> src/addressing.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | Implied, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu.rs:744:9 [INFO] [stderr] | [INFO] [stderr] 744 | 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:1049:9 [INFO] [stderr] | [INFO] [stderr] 1049 | 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: 30 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 4.58s [INFO] running `"docker" "inspect" "8fe6b0b2badfaf3e68703c04932b2a842f4c1e1399f660464e116badff9304cd"` [INFO] running `"docker" "rm" "-f" "8fe6b0b2badfaf3e68703c04932b2a842f4c1e1399f660464e116badff9304cd"` [INFO] [stdout] 8fe6b0b2badfaf3e68703c04932b2a842f4c1e1399f660464e116badff9304cd