[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..93474a2 master -> master [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 93474a2540e04b1c04047f436d648e2ce4adf091 [INFO] testing kregoslup/r_nes against try#41997647ba6a77908f6ef64401414feb00bccf16 for pr-71274 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkregoslup%2Fr_nes" "/workspace/builds/worker-6/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-6/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/kregoslup/r_nes on toolchain 41997647ba6a77908f6ef64401414feb00bccf16 [INFO] running `"/workspace/cargo-home/bin/cargo" "+41997647ba6a77908f6ef64401414feb00bccf16" "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-6/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" "+41997647ba6a77908f6ef64401414feb00bccf16" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "+41997647ba6a77908f6ef64401414feb00bccf16" "build" "--frozen"` [INFO] [stdout] e9b846a88d938528d4b64c340b6c6ea69dd389d22b4b275970d3afd29906dad9 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `"docker" "start" "-a" "e9b846a88d938528d4b64c340b6c6ea69dd389d22b4b275970d3afd29906dad9"` [INFO] [stderr] Compiling libc v0.2.66 [INFO] [stderr] Compiling dirs-sys v0.3.4 [INFO] [stderr] Compiling dirs v2.0.2 [INFO] [stderr] Compiling 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:105:45 [INFO] [stderr] | [INFO] [stderr] 105 | 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:154:32 [INFO] [stderr] | [INFO] [stderr] 154 | 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:182:36 [INFO] [stderr] | [INFO] [stderr] 182 | 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:194:28 [INFO] [stderr] | [INFO] [stderr] 194 | 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:636:13 [INFO] [stderr] | [INFO] [stderr] 636 | 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:677:13 [INFO] [stderr] | [INFO] [stderr] 677 | 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:678:13 [INFO] [stderr] | [INFO] [stderr] 678 | 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:435:13 [INFO] [stderr] | [INFO] [stderr] 435 | 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:444:13 [INFO] [stderr] | [INFO] [stderr] 444 | 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:605:13 [INFO] [stderr] | [INFO] [stderr] 605 | 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:620:13 [INFO] [stderr] | [INFO] [stderr] 620 | 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:637:13 [INFO] [stderr] | [INFO] [stderr] 637 | 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:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | 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:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | 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:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | 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:96:5 [INFO] [stderr] | [INFO] [stderr] 96 | 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:104:5 [INFO] [stderr] | [INFO] [stderr] 104 | 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:112:5 [INFO] [stderr] | [INFO] [stderr] 112 | 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:120:5 [INFO] [stderr] | [INFO] [stderr] 120 | 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:131:5 [INFO] [stderr] | [INFO] [stderr] 131 | 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:138:5 [INFO] [stderr] | [INFO] [stderr] 138 | fn immediate_address(&mut self) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `absolute_address` [INFO] [stderr] --> src/cpu.rs:143:5 [INFO] [stderr] | [INFO] [stderr] 143 | 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:152:5 [INFO] [stderr] | [INFO] [stderr] 152 | 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:162:5 [INFO] [stderr] | [INFO] [stderr] 162 | 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:174:5 [INFO] [stderr] | [INFO] [stderr] 174 | 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:178:5 [INFO] [stderr] | [INFO] [stderr] 178 | 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:182:5 [INFO] [stderr] | [INFO] [stderr] 182 | 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:194:5 [INFO] [stderr] | [INFO] [stderr] 194 | 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:199:5 [INFO] [stderr] | [INFO] [stderr] 199 | 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:233:5 [INFO] [stderr] | [INFO] [stderr] 233 | 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:242:5 [INFO] [stderr] | [INFO] [stderr] 242 | fn fetch(&mut self, address: u16) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `store` [INFO] [stderr] --> src/cpu.rs:246:5 [INFO] [stderr] | [INFO] [stderr] 246 | 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:253:5 [INFO] [stderr] | [INFO] [stderr] 253 | 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:257:5 [INFO] [stderr] | [INFO] [stderr] 257 | 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:262:5 [INFO] [stderr] | [INFO] [stderr] 262 | 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:267:5 [INFO] [stderr] | [INFO] [stderr] 267 | 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:272:5 [INFO] [stderr] | [INFO] [stderr] 272 | 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:277:5 [INFO] [stderr] | [INFO] [stderr] 277 | 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:285:5 [INFO] [stderr] | [INFO] [stderr] 285 | fn pull_from_stack(&mut self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `evaluate` [INFO] [stderr] --> src/cpu.rs:291:5 [INFO] [stderr] | [INFO] [stderr] 291 | 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:306:5 [INFO] [stderr] | [INFO] [stderr] 306 | fn decode_op_code(&mut self, op_code: OpCode) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `push_accumulator` [INFO] [stderr] --> src/cpu.rs:337:5 [INFO] [stderr] | [INFO] [stderr] 337 | fn push_accumulator(&mut self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pull_accumulator` [INFO] [stderr] --> src/cpu.rs:343:5 [INFO] [stderr] | [INFO] [stderr] 343 | 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:351:5 [INFO] [stderr] | [INFO] [stderr] 351 | 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:357:5 [INFO] [stderr] | [INFO] [stderr] 357 | fn pull_processor_status(&mut self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `branch` [INFO] [stderr] --> src/cpu.rs:363:5 [INFO] [stderr] | [INFO] [stderr] 363 | 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:384:5 [INFO] [stderr] | [INFO] [stderr] 384 | 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:390:5 [INFO] [stderr] | [INFO] [stderr] 390 | 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:394:5 [INFO] [stderr] | [INFO] [stderr] 394 | 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:407:5 [INFO] [stderr] | [INFO] [stderr] 407 | 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:424:5 [INFO] [stderr] | [INFO] [stderr] 424 | 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:434:5 [INFO] [stderr] | [INFO] [stderr] 434 | 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:443:5 [INFO] [stderr] | [INFO] [stderr] 443 | 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:456:5 [INFO] [stderr] | [INFO] [stderr] 456 | 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:466:5 [INFO] [stderr] | [INFO] [stderr] 466 | 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:482:5 [INFO] [stderr] | [INFO] [stderr] 482 | 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:497:5 [INFO] [stderr] | [INFO] [stderr] 497 | 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:510:5 [INFO] [stderr] | [INFO] [stderr] 510 | 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:524:5 [INFO] [stderr] | [INFO] [stderr] 524 | 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:539:5 [INFO] [stderr] | [INFO] [stderr] 539 | 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:554:5 [INFO] [stderr] | [INFO] [stderr] 554 | 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:560:5 [INFO] [stderr] | [INFO] [stderr] 560 | fn force_break(&mut self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `store_accumulator` [INFO] [stderr] --> src/cpu.rs:574:5 [INFO] [stderr] | [INFO] [stderr] 574 | 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:582:5 [INFO] [stderr] | [INFO] [stderr] 582 | 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:592:5 [INFO] [stderr] | [INFO] [stderr] 592 | 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:598:5 [INFO] [stderr] | [INFO] [stderr] 598 | 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:602:5 [INFO] [stderr] | [INFO] [stderr] 602 | 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:617:5 [INFO] [stderr] | [INFO] [stderr] 617 | 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:633:5 [INFO] [stderr] | [INFO] [stderr] 633 | 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:649:5 [INFO] [stderr] | [INFO] [stderr] 649 | 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:662:5 [INFO] [stderr] | [INFO] [stderr] 662 | 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:672:5 [INFO] [stderr] | [INFO] [stderr] 672 | 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:676:5 [INFO] [stderr] | [INFO] [stderr] 676 | 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:682:5 [INFO] [stderr] | [INFO] [stderr] 682 | 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:673:9 [INFO] [stderr] | [INFO] [stderr] 673 | 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: 119 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 4.58s [INFO] running `"docker" "inspect" "e9b846a88d938528d4b64c340b6c6ea69dd389d22b4b275970d3afd29906dad9"` [INFO] running `"docker" "rm" "-f" "e9b846a88d938528d4b64c340b6c6ea69dd389d22b4b275970d3afd29906dad9"` [INFO] [stdout] e9b846a88d938528d4b64c340b6c6ea69dd389d22b4b275970d3afd29906dad9 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "+41997647ba6a77908f6ef64401414feb00bccf16" "test" "--frozen" "--no-run"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 14f1ed5d6b0c2e7fc1298e1f87047d9cabf0e9a60d4c124054bd12bbb3ecd9ce [INFO] running `"docker" "start" "-a" "14f1ed5d6b0c2e7fc1298e1f87047d9cabf0e9a60d4c124054bd12bbb3ecd9ce"` [INFO] [stderr] Compiling 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:105:45 [INFO] [stderr] | [INFO] [stderr] 105 | 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:154:32 [INFO] [stderr] | [INFO] [stderr] 154 | 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:1109:36 [INFO] [stderr] | [INFO] [stderr] 1109 | 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 variable: `addressing` [INFO] [stderr] --> src/cpu.rs:182:36 [INFO] [stderr] | [INFO] [stderr] 182 | 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:194:28 [INFO] [stderr] | [INFO] [stderr] 194 | 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:636:13 [INFO] [stderr] | [INFO] [stderr] 636 | 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:677:13 [INFO] [stderr] | [INFO] [stderr] 677 | 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:678:13 [INFO] [stderr] | [INFO] [stderr] 678 | 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:1055:13 [INFO] [stderr] | [INFO] [stderr] 1055 | 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: variable does not need to be mutable [INFO] [stderr] --> src/cpu.rs:435:13 [INFO] [stderr] | [INFO] [stderr] 435 | 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:444:13 [INFO] [stderr] | [INFO] [stderr] 444 | 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:605:13 [INFO] [stderr] | [INFO] [stderr] 605 | 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:620:13 [INFO] [stderr] | [INFO] [stderr] 620 | 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:637:13 [INFO] [stderr] | [INFO] [stderr] 637 | 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:693:13 [INFO] [stderr] | [INFO] [stderr] 693 | 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:1072:13 [INFO] [stderr] | [INFO] [stderr] 1072 | 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:1103:13 [INFO] [stderr] | [INFO] [stderr] 1103 | 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:592:5 [INFO] [stderr] | [INFO] [stderr] 592 | 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: comparison is useless due to type limits [INFO] [stderr] --> src/cpu.rs:673:9 [INFO] [stderr] | [INFO] [stderr] 673 | 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:957:9 [INFO] [stderr] | [INFO] [stderr] 957 | 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: 26 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.86s [INFO] running `"docker" "inspect" "14f1ed5d6b0c2e7fc1298e1f87047d9cabf0e9a60d4c124054bd12bbb3ecd9ce"` [INFO] running `"docker" "rm" "-f" "14f1ed5d6b0c2e7fc1298e1f87047d9cabf0e9a60d4c124054bd12bbb3ecd9ce"` [INFO] [stdout] 14f1ed5d6b0c2e7fc1298e1f87047d9cabf0e9a60d4c124054bd12bbb3ecd9ce [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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" "+41997647ba6a77908f6ef64401414feb00bccf16" "test" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] afcdae45fb0d620603cfc9683a089f11beb2b905c18f544e6c4796512a369b1a [INFO] running `"docker" "start" "-a" "afcdae45fb0d620603cfc9683a089f11beb2b905c18f544e6c4796512a369b1a"` [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:105:45 [INFO] [stderr] | [INFO] [stderr] 105 | 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:154:32 [INFO] [stderr] | [INFO] [stderr] 154 | 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:1109:36 [INFO] [stderr] | [INFO] [stderr] 1109 | 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 variable: `addressing` [INFO] [stderr] --> src/cpu.rs:182:36 [INFO] [stderr] | [INFO] [stderr] 182 | 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:194:28 [INFO] [stderr] | [INFO] [stderr] 194 | 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:636:13 [INFO] [stderr] | [INFO] [stderr] 636 | 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:677:13 [INFO] [stderr] | [INFO] [stderr] 677 | 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:678:13 [INFO] [stderr] | [INFO] [stderr] 678 | 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:1055:13 [INFO] [stderr] | [INFO] [stderr] 1055 | 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: variable does not need to be mutable [INFO] [stderr] --> src/cpu.rs:435:13 [INFO] [stderr] | [INFO] [stderr] 435 | 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:444:13 [INFO] [stderr] | [INFO] [stderr] 444 | 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:605:13 [INFO] [stderr] | [INFO] [stderr] 605 | 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:620:13 [INFO] [stderr] | [INFO] [stderr] 620 | 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:637:13 [INFO] [stderr] | [INFO] [stderr] 637 | 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:693:13 [INFO] [stderr] | [INFO] [stderr] 693 | 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:1072:13 [INFO] [stderr] | [INFO] [stderr] 1072 | 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:1103:13 [INFO] [stderr] | [INFO] [stderr] 1103 | 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:592:5 [INFO] [stderr] | [INFO] [stderr] 592 | 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: comparison is useless due to type limits [INFO] [stderr] --> src/cpu.rs:673:9 [INFO] [stderr] | [INFO] [stderr] 673 | 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:957:9 [INFO] [stderr] | [INFO] [stderr] 957 | 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: 26 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.07s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/r_nes-0413206e6e44ab51 [INFO] [stdout] [INFO] [stdout] running 42 tests [INFO] [stdout] test bus::tests::test_read_file ... ignored [INFO] [stdout] test cpu::tests::test_borrow ... ignored [INFO] [stdout] test cpu::tests::test_carry ... ok [INFO] [stdout] test cpu::tests::test_absolute ... ok [INFO] [stdout] test cpu::tests::test_bit_or ... ok [INFO] [stdout] test cpu::tests::test_immediate ... ok [INFO] [stdout] test cpu::tests::test_adc ... ok [INFO] [stdout] test cpu::tests::test_decrement ... ok [INFO] [stdout] test cpu::tests::test_increment ... ok [INFO] [stdout] test cpu::tests::test_absolute_indexed ... ok [INFO] [stdout] test cpu::tests::test_bit_and ... ok [INFO] [stdout] test cpu::tests::test_bit_xor ... ok [INFO] [stdout] test cpu::tests::test_compare ... ok [INFO] [stdout] test cpu::tests::test_bit_test ... ok [INFO] [stdout] test cpu::tests::test_branch_on_flag ... ok [INFO] [stdout] test cpu::tests::test_jmp ... ok [INFO] [stdout] test cpu::tests::test_load_register_x ... ok [INFO] [stdout] test cpu::tests::test_jmp_indirect ... ok [INFO] [stdout] test cpu::tests::test_overflow_sub ... ignored [INFO] [stdout] test cpu::tests::test_indexed_indirect ... ok [INFO] [stdout] test cpu::tests::test_load_accumulator ... ok [INFO] [stdout] test cpu::tests::test_load_register_y ... ok [INFO] [stdout] test cpu::tests::test_overflow_add ... ok [INFO] [stdout] test cpu::tests::test_logical_shift_right ... ok [INFO] [stdout] test cpu::tests::test_indirect_indexed ... ok [INFO] [stdout] test cpu::tests::test_break ... ok [INFO] [stdout] test cpu::tests::test_store_accumulator ... ok [INFO] [stdout] test cpu::tests::test_store_register_x ... ok [INFO] [stdout] test cpu::tests::test_sbc ... ok [INFO] [stdout] test cpu::tests::test_shift_left ... ok [INFO] [stdout] test cpu::tests::test_rotate_right ... ok [INFO] [stdout] test cpu::tests::test_store_register_y ... ok [INFO] [stdout] test cpu::tests::test_rotate_left ... ok [INFO] [stdout] test cpu::tests::test_zero_page ... ok [INFO] [stdout] test cpu::tests::test_zero_page_indexed ... ok [INFO] [stdout] test cpu::tests::test_push_acc ... ok [INFO] [stdout] test cpu::tests::test_jsr ... ok [INFO] [stdout] test cpu::tests::test_php ... ok [INFO] [stdout] test cpu::tests::test_pull_acc ... ok [INFO] [stdout] test cpu::tests::test_plp ... FAILED [INFO] [stdout] test cpu::tests::test_rti ... FAILED [INFO] [stdout] test cpu::tests::test_rts ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- cpu::tests::test_plp stdout ---- [INFO] [stdout] Evaluating op code, hex: 0x28, bin: 0b101000 [INFO] [stdout] thread 'cpu::tests::test_plp' panicked at 'attempt to add with overflow', src/cpu.rs:286:9 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x562ca907cea4 - backtrace::backtrace::libunwind::trace::h61666fa4b9834a45 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86 [INFO] [stdout] 1: 0x562ca907cea4 - backtrace::backtrace::trace_unsynchronized::h01d3725fb5da8653 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66 [INFO] [stdout] 2: 0x562ca907cea4 - std::sys_common::backtrace::_print_fmt::h5c7c4751bc296f90 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:78 [INFO] [stdout] 3: 0x562ca907cea4 - ::fmt::h7729313ad2d729c7 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:59 [INFO] [stdout] 4: 0x562ca90a5abc - core::fmt::write::hb0049f6c12bdaffc [INFO] [stdout] at src/libcore/fmt/mod.rs:1069 [INFO] [stdout] 5: 0x562ca9029e05 - std::io::Write::write_fmt::h5d052af13df32ea6 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/io/mod.rs:1504 [INFO] [stdout] 6: 0x562ca90774c1 - std::io::impls::>::write_fmt::h8fe8a9bdc421b4b6 [INFO] [stdout] at src/libstd/io/impls.rs:156 [INFO] [stdout] 7: 0x562ca907f775 - std::sys_common::backtrace::_print::ha087cac92e84a414 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:62 [INFO] [stdout] 8: 0x562ca907f775 - std::sys_common::backtrace::print::h6b013d3bfe6cbcb8 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:49 [INFO] [stdout] 9: 0x562ca907f775 - std::panicking::default_hook::{{closure}}::h016d7de02def2736 [INFO] [stdout] at src/libstd/panicking.rs:198 [INFO] [stdout] 10: 0x562ca907f45b - std::panicking::default_hook::h9386f7e484840463 [INFO] [stdout] at src/libstd/panicking.rs:215 [INFO] [stdout] 11: 0x562ca907fdd2 - std::panicking::rust_panic_with_hook::h3846eb1b2e5a9312 [INFO] [stdout] at src/libstd/panicking.rs:511 [INFO] [stdout] 12: 0x562ca907f9bb - rust_begin_unwind [INFO] [stdout] at src/libstd/panicking.rs:419 [INFO] [stdout] 13: 0x562ca90a44e1 - core::panicking::panic_fmt::hc5953a7331f9805c [INFO] [stdout] at src/libcore/panicking.rs:111 [INFO] [stdout] 14: 0x562ca90a442d - core::panicking::panic::hbfb03ddd2cbb509e [INFO] [stdout] at src/libcore/panicking.rs:54 [INFO] [stdout] 15: 0x562ca9020a73 - r_nes::cpu::Cpu::pull_from_stack::h9b0457f34b6a2f01 [INFO] [stdout] at src/cpu.rs:286 [INFO] [stdout] 16: 0x562ca9020903 - r_nes::cpu::Cpu::read_flags_from_stack::h74e4f3e8b4663015 [INFO] [stdout] at src/cpu.rs:274 [INFO] [stdout] 17: 0x562ca90217a8 - r_nes::cpu::Cpu::pull_processor_status::hd529ca03e7fc5810 [INFO] [stdout] at src/cpu.rs:359 [INFO] [stdout] 18: 0x562ca9020c48 - r_nes::cpu::Cpu::evaluate::h314e064f586f0ca1 [INFO] [stdout] at src/cpu.rs:296 [INFO] [stdout] 19: 0x562ca901cbee - r_nes::cpu::tests::test_plp::hb0ea4978fac991ec [INFO] [stdout] at src/cpu.rs:1095 [INFO] [stdout] 20: 0x562ca901ca7a - r_nes::cpu::tests::test_plp::{{closure}}::hb32f33b6733121d0 [INFO] [stdout] at src/cpu.rs:1085 [INFO] [stdout] 21: 0x562ca90257be - core::ops::function::FnOnce::call_once::h299cb42115a7bdba [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libcore/ops/function.rs:232 [INFO] [stdout] 22: 0x562ca9035cff - as core::ops::function::FnOnce>::call_once::h1f6ee40732e80908 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/liballoc/boxed.rs:1008 [INFO] [stdout] 23: 0x562ca90512fe - as core::ops::function::FnOnce<()>>::call_once::h85dff111be9c2dc6 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/panic.rs:318 [INFO] [stdout] 24: 0x562ca90512fe - std::panicking::try::do_call::hee6f5a4bef67c840 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/panicking.rs:331 [INFO] [stdout] 25: 0x562ca90512fe - std::panicking::try::h3384d3b948e84dbc [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/panicking.rs:274 [INFO] [stdout] 26: 0x562ca90512fe - std::panic::catch_unwind::h5ae91218e578066d [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/panic.rs:394 [INFO] [stdout] 27: 0x562ca90512fe - test::run_test_in_process::he37a49587889b910 [INFO] [stdout] at src/libtest/lib.rs:541 [INFO] [stdout] 28: 0x562ca90512fe - test::run_test::run_test_inner::{{closure}}::h4f0d25136ca480c2 [INFO] [stdout] at src/libtest/lib.rs:450 [INFO] [stdout] 29: 0x562ca90292b6 - std::sys_common::backtrace::__rust_begin_short_backtrace::h969eceda34247af3 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/sys_common/backtrace.rs:130 [INFO] [stdout] 30: 0x562ca902e645 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::h912007997cb04e92 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/thread/mod.rs:475 [INFO] [stdout] 31: 0x562ca902e645 - as core::ops::function::FnOnce<()>>::call_once::h8795d8b7bd223988 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/panic.rs:318 [INFO] [stdout] 32: 0x562ca902e645 - std::panicking::try::do_call::hb29b86f86d4d722e [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/panicking.rs:331 [INFO] [stdout] 33: 0x562ca902e645 - std::panicking::try::h4bfefb3eddc0d900 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/panicking.rs:274 [INFO] [stdout] 34: 0x562ca902e645 - std::panic::catch_unwind::h774c24d4b38d5828 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/panic.rs:394 [INFO] [stdout] 35: 0x562ca902e645 - std::thread::Builder::spawn_unchecked::{{closure}}::ha50a32fa99413dde [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/thread/mod.rs:474 [INFO] [stdout] 36: 0x562ca902e645 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h9dacb8f28d699f86 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libcore/ops/function.rs:232 [INFO] [stdout] 37: 0x562ca907368f - as core::ops::function::FnOnce>::call_once::h7deaeeba480c6ce2 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/liballoc/boxed.rs:1008 [INFO] [stdout] 38: 0x562ca90865b3 - as core::ops::function::FnOnce>::call_once::h968b1dfb87756523 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/liballoc/boxed.rs:1008 [INFO] [stdout] 39: 0x562ca90865b3 - std::sys::unix::thread::Thread::new::thread_start::h2399addeb6370595 [INFO] [stdout] at src/libstd/sys/unix/thread.rs:87 [INFO] [stdout] 40: 0x7f2c2b73f6db - start_thread [INFO] [stdout] 41: 0x7f2c2b25088f - __clone [INFO] [stdout] 42: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- cpu::tests::test_rti stdout ---- [INFO] [stdout] Evaluating op code, hex: 0x40, bin: 0b1000000 [INFO] [stdout] thread 'cpu::tests::test_rti' panicked at 'attempt to add with overflow', src/cpu.rs:286:9 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x562ca907cea4 - backtrace::backtrace::libunwind::trace::h61666fa4b9834a45 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86 [INFO] [stdout] 1: 0x562ca907cea4 - backtrace::backtrace::trace_unsynchronized::h01d3725fb5da8653 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66 [INFO] [stdout] 2: 0x562ca907cea4 - std::sys_common::backtrace::_print_fmt::h5c7c4751bc296f90 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:78 [INFO] [stdout] 3: 0x562ca907cea4 - ::fmt::h7729313ad2d729c7 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:59 [INFO] [stdout] 4: 0x562ca90a5abc - core::fmt::write::hb0049f6c12bdaffc [INFO] [stdout] at src/libcore/fmt/mod.rs:1069 [INFO] [stdout] 5: 0x562ca9029e05 - std::io::Write::write_fmt::h5d052af13df32ea6 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/io/mod.rs:1504 [INFO] [stdout] 6: 0x562ca90774c1 - std::io::impls::>::write_fmt::h8fe8a9bdc421b4b6 [INFO] [stdout] at src/libstd/io/impls.rs:156 [INFO] [stdout] 7: 0x562ca907f775 - std::sys_common::backtrace::_print::ha087cac92e84a414 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:62 [INFO] [stdout] 8: 0x562ca907f775 - std::sys_common::backtrace::print::h6b013d3bfe6cbcb8 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:49 [INFO] [stdout] 9: 0x562ca907f775 - std::panicking::default_hook::{{closure}}::h016d7de02def2736 [INFO] [stdout] at src/libstd/panicking.rs:198 [INFO] [stdout] 10: 0x562ca907f45b - std::panicking::default_hook::h9386f7e484840463 [INFO] [stdout] at src/libstd/panicking.rs:215 [INFO] [stdout] 11: 0x562ca907fdd2 - std::panicking::rust_panic_with_hook::h3846eb1b2e5a9312 [INFO] [stdout] at src/libstd/panicking.rs:511 [INFO] [stdout] 12: 0x562ca907f9bb - rust_begin_unwind [INFO] [stdout] at src/libstd/panicking.rs:419 [INFO] [stdout] 13: 0x562ca90a44e1 - core::panicking::panic_fmt::hc5953a7331f9805c [INFO] [stdout] at src/libcore/panicking.rs:111 [INFO] [stdout] 14: 0x562ca90a442d - core::panicking::panic::hbfb03ddd2cbb509e [INFO] [stdout] at src/libcore/panicking.rs:54 [INFO] [stdout] 15: 0x562ca9020a73 - r_nes::cpu::Cpu::pull_from_stack::h9b0457f34b6a2f01 [INFO] [stdout] at src/cpu.rs:286 [INFO] [stdout] 16: 0x562ca9020973 - r_nes::cpu::Cpu::read_pc_from_stack::hfc97462044a7e6d1 [INFO] [stdout] at src/cpu.rs:279 [INFO] [stdout] 17: 0x562ca902219d - r_nes::cpu::Cpu::return_from::h37ad35e6e5e02fb8 [INFO] [stdout] at src/cpu.rs:448 [INFO] [stdout] 18: 0x562ca9020c86 - r_nes::cpu::Cpu::evaluate::h314e064f586f0ca1 [INFO] [stdout] at src/cpu.rs:299 [INFO] [stdout] 19: 0x562ca901bf5e - r_nes::cpu::tests::test_rti::ha71d3489ed69207b [INFO] [stdout] at src/cpu.rs:1046 [INFO] [stdout] 20: 0x562ca901bd2a - r_nes::cpu::tests::test_rti::{{closure}}::he6635f1d6dba994d [INFO] [stdout] at src/cpu.rs:1032 [INFO] [stdout] 21: 0x562ca9025a9e - core::ops::function::FnOnce::call_once::h7de0fd356a9d949e [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libcore/ops/function.rs:232 [INFO] [stdout] 22: 0x562ca9035cff - as core::ops::function::FnOnce>::call_once::h1f6ee40732e80908 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/liballoc/boxed.rs:1008 [INFO] [stdout] 23: 0x562ca90512fe - as core::ops::function::FnOnce<()>>::call_once::h85dff111be9c2dc6 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/panic.rs:318 [INFO] [stdout] 24: 0x562ca90512fe - std::panicking::try::do_call::hee6f5a4bef67c840 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/panicking.rs:331 [INFO] [stdout] 25: 0x562ca90512fe - std::panicking::try::h3384d3b948e84dbc [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/panicking.rs:274 [INFO] [stdout] 26: 0x562ca90512fe - std::panic::catch_unwind::h5ae91218e578066d [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/panic.rs:394 [INFO] [stdout] 27: 0x562ca90512fe - test::run_test_in_process::he37a49587889b910 [INFO] [stdout] at src/libtest/lib.rs:541 [INFO] [stdout] 28: 0x562ca90512fe - test::run_test::run_test_inner::{{closure}}::h4f0d25136ca480c2 [INFO] [stdout] at src/libtest/lib.rs:450 [INFO] [stdout] 29: 0x562ca90292b6 - std::sys_common::backtrace::__rust_begin_short_backtrace::h969eceda34247af3 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/sys_common/backtrace.rs:130 [INFO] [stdout] 30: 0x562ca902e645 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::h912007997cb04e92 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/thread/mod.rs:475 [INFO] [stdout] 31: 0x562ca902e645 - as core::ops::function::FnOnce<()>>::call_once::h8795d8b7bd223988 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/panic.rs:318 [INFO] [stdout] 32: 0x562ca902e645 - std::panicking::try::do_call::hb29b86f86d4d722e [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/panicking.rs:331 [INFO] [stdout] 33: 0x562ca902e645 - std::panicking::try::h4bfefb3eddc0d900 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/panicking.rs:274 [INFO] [stdout] 34: 0x562ca902e645 - std::panic::catch_unwind::h774c24d4b38d5828 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/panic.rs:394 [INFO] [stdout] 35: 0x562ca902e645 - std::thread::Builder::spawn_unchecked::{{closure}}::ha50a32fa99413dde [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/thread/mod.rs:474 [INFO] [stdout] 36: 0x562ca902e645 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h9dacb8f28d699f86 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libcore/ops/function.rs:232 [INFO] [stdout] 37: 0x562ca907368f - as core::ops::function::FnOnce>::call_once::h7deaeeba480c6ce2 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/liballoc/boxed.rs:1008 [INFO] [stdout] 38: 0x562ca90865b3 - as core::ops::function::FnOnce>::call_once::h968b1dfb87756523 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/liballoc/boxed.rs:1008 [INFO] [stdout] 39: 0x562ca90865b3 - std::sys::unix::thread::Thread::new::thread_start::h2399addeb6370595 [INFO] [stdout] at src/libstd/sys/unix/thread.rs:87 [INFO] [stdout] 40: 0x7f2c2b73f6db - start_thread [INFO] [stdout] 41: 0x7f2c2b25088f - __clone [INFO] [stdout] 42: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- cpu::tests::test_rts stdout ---- [INFO] [stdout] Evaluating op code, hex: 0x60, bin: 0b1100000 [INFO] [stdout] thread 'cpu::tests::test_rts' panicked at 'attempt to add with overflow', src/cpu.rs:280:9 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x562ca907cea4 - backtrace::backtrace::libunwind::trace::h61666fa4b9834a45 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86 [INFO] [stdout] 1: 0x562ca907cea4 - backtrace::backtrace::trace_unsynchronized::h01d3725fb5da8653 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66 [INFO] [stdout] 2: 0x562ca907cea4 - std::sys_common::backtrace::_print_fmt::h5c7c4751bc296f90 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:78 [INFO] [stdout] 3: 0x562ca907cea4 - ::fmt::h7729313ad2d729c7 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:59 [INFO] [stdout] 4: 0x562ca90a5abc - core::fmt::write::hb0049f6c12bdaffc [INFO] [stdout] at src/libcore/fmt/mod.rs:1069 [INFO] [stdout] 5: 0x562ca9029e05 - std::io::Write::write_fmt::h5d052af13df32ea6 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/io/mod.rs:1504 [INFO] [stdout] 6: 0x562ca90774c1 - std::io::impls::>::write_fmt::h8fe8a9bdc421b4b6 [INFO] [stdout] at src/libstd/io/impls.rs:156 [INFO] [stdout] 7: 0x562ca907f775 - std::sys_common::backtrace::_print::ha087cac92e84a414 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:62 [INFO] [stdout] 8: 0x562ca907f775 - std::sys_common::backtrace::print::h6b013d3bfe6cbcb8 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:49 [INFO] [stdout] 9: 0x562ca907f775 - std::panicking::default_hook::{{closure}}::h016d7de02def2736 [INFO] [stdout] at src/libstd/panicking.rs:198 [INFO] [stdout] 10: 0x562ca907f45b - std::panicking::default_hook::h9386f7e484840463 [INFO] [stdout] at src/libstd/panicking.rs:215 [INFO] [stdout] 11: 0x562ca907fdd2 - std::panicking::rust_panic_with_hook::h3846eb1b2e5a9312 [INFO] [stdout] at src/libstd/panicking.rs:511 [INFO] [stdout] 12: 0x562ca907f9bb - rust_begin_unwind [INFO] [stdout] at src/libstd/panicking.rs:419 [INFO] [stdout] 13: 0x562ca90a44e1 - core::panicking::panic_fmt::hc5953a7331f9805c [INFO] [stdout] at src/libcore/panicking.rs:111 [INFO] [stdout] 14: 0x562ca90a442d - core::panicking::panic::hbfb03ddd2cbb509e [INFO] [stdout] at src/libcore/panicking.rs:54 [INFO] [stdout] 15: 0x562ca9020a0a - r_nes::cpu::Cpu::read_pc_from_stack::hfc97462044a7e6d1 [INFO] [stdout] at src/cpu.rs:280 [INFO] [stdout] 16: 0x562ca902219d - r_nes::cpu::Cpu::return_from::h37ad35e6e5e02fb8 [INFO] [stdout] at src/cpu.rs:448 [INFO] [stdout] 17: 0x562ca9020c98 - r_nes::cpu::Cpu::evaluate::h314e064f586f0ca1 [INFO] [stdout] at src/cpu.rs:300 [INFO] [stdout] 18: 0x562ca901c4fb - r_nes::cpu::tests::test_rts::hfe46164130a22572 [INFO] [stdout] at src/cpu.rs:1065 [INFO] [stdout] 19: 0x562ca901c34a - r_nes::cpu::tests::test_rts::{{closure}}::h3f6351e2807e2a05 [INFO] [stdout] at src/cpu.rs:1052 [INFO] [stdout] 20: 0x562ca9025a3e - core::ops::function::FnOnce::call_once::h7c6c7a2bac852caf [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libcore/ops/function.rs:232 [INFO] [stdout] 21: 0x562ca9035cff - as core::ops::function::FnOnce>::call_once::h1f6ee40732e80908 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/liballoc/boxed.rs:1008 [INFO] [stdout] 22: 0x562ca90512fe - as core::ops::function::FnOnce<()>>::call_once::h85dff111be9c2dc6 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/panic.rs:318 [INFO] [stdout] 23: 0x562ca90512fe - std::panicking::try::do_call::hee6f5a4bef67c840 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/panicking.rs:331 [INFO] [stdout] 24: 0x562ca90512fe - std::panicking::try::h3384d3b948e84dbc [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/panicking.rs:274 [INFO] [stdout] 25: 0x562ca90512fe - std::panic::catch_unwind::h5ae91218e578066d [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/panic.rs:394 [INFO] [stdout] 26: 0x562ca90512fe - test::run_test_in_process::he37a49587889b910 [INFO] [stdout] at src/libtest/lib.rs:541 [INFO] [stdout] 27: 0x562ca90512fe - test::run_test::run_test_inner::{{closure}}::h4f0d25136ca480c2 [INFO] [stdout] at src/libtest/lib.rs:450 [INFO] [stdout] 28: 0x562ca90292b6 - std::sys_common::backtrace::__rust_begin_short_backtrace::h969eceda34247af3 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/sys_common/backtrace.rs:130 [INFO] [stdout] 29: 0x562ca902e645 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::h912007997cb04e92 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/thread/mod.rs:475 [INFO] [stdout] 30: 0x562ca902e645 - as core::ops::function::FnOnce<()>>::call_once::h8795d8b7bd223988 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/panic.rs:318 [INFO] [stdout] 31: 0x562ca902e645 - std::panicking::try::do_call::hb29b86f86d4d722e [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/panicking.rs:331 [INFO] [stdout] 32: 0x562ca902e645 - std::panicking::try::h4bfefb3eddc0d900 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/panicking.rs:274 [INFO] [stdout] 33: 0x562ca902e645 - std::panic::catch_unwind::h774c24d4b38d5828 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/panic.rs:394 [INFO] [stdout] 34: 0x562ca902e645 - std::thread::Builder::spawn_unchecked::{{closure}}::ha50a32fa99413dde [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libstd/thread/mod.rs:474 [INFO] [stdout] 35: 0x562ca902e645 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h9dacb8f28d699f86 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/libcore/ops/function.rs:232 [INFO] [stdout] 36: 0x562ca907368f - as core::ops::function::FnOnce>::call_once::h7deaeeba480c6ce2 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/liballoc/boxed.rs:1008 [INFO] [stdout] 37: 0x562ca90865b3 - as core::ops::function::FnOnce>::call_once::h968b1dfb87756523 [INFO] [stdout] at /rustc/41997647ba6a77908f6ef64401414feb00bccf16/src/liballoc/boxed.rs:1008 [INFO] [stdout] 38: 0x562ca90865b3 - std::sys::unix::thread::Thread::new::thread_start::h2399addeb6370595 [INFO] [stdout] at src/libstd/sys/unix/thread.rs:87 [INFO] [stdout] 39: 0x7f2c2b73f6db - start_thread [INFO] [stdout] 40: 0x7f2c2b25088f - __clone [INFO] [stdout] 41: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] cpu::tests::test_plp [INFO] [stdout] cpu::tests::test_rti [INFO] [stdout] cpu::tests::test_rts [INFO] [stdout] [INFO] [stdout] test result: FAILED. 36 passed; 3 failed; 3 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass '--bin r_nes' [INFO] running `"docker" "inspect" "afcdae45fb0d620603cfc9683a089f11beb2b905c18f544e6c4796512a369b1a"` [INFO] running `"docker" "rm" "-f" "afcdae45fb0d620603cfc9683a089f11beb2b905c18f544e6c4796512a369b1a"` [INFO] [stdout] afcdae45fb0d620603cfc9683a089f11beb2b905c18f544e6c4796512a369b1a