[INFO] cloning repository https://github.com/kregoslup/r_nes [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kregoslup/r_nes" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkregoslup%2Fr_nes"` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkregoslup%2Fr_nes'... [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 633b567d6ec5bdfc33dbd8bfdfd43a041f1f0ce9 [INFO] checking kregoslup/r_nes against try#98d5ea1855f1028095b37c493ba31093c8519d68 for pr-69548 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkregoslup%2Fr_nes" "/workspace/builds/worker-1/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/kregoslup/r_nes on toolchain 98d5ea1855f1028095b37c493ba31093c8519d68 [INFO] running `"/workspace/cargo-home/bin/cargo" "+98d5ea1855f1028095b37c493ba31093c8519d68" "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-1/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" "+98d5ea1855f1028095b37c493ba31093c8519d68" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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" "+98d5ea1855f1028095b37c493ba31093c8519d68" "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] 10510175ed9ffbe4e5550cd0471f5433eaccdce16697cd088e9fadabded72615 [INFO] running `"docker" "start" "-a" "10510175ed9ffbe4e5550cd0471f5433eaccdce16697cd088e9fadabded72615"` [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: `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] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/cpu.rs:91:45 [INFO] [stderr] | [INFO] [stderr] 91 | 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:140:32 [INFO] [stderr] | [INFO] [stderr] 140 | 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 variable: `borrow` [INFO] [stderr] --> src/cpu.rs:350:13 [INFO] [stderr] | [INFO] [stderr] 350 | let borrow = self.get_borrow(); [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_borrow` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cpu.rs:318:13 [INFO] [stderr] | [INFO] [stderr] 318 | let mut result = (Wrapping(self.acc) - Wrapping(value)).0; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cpu.rs:334:13 [INFO] [stderr] | [INFO] [stderr] 334 | 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:351:13 [INFO] [stderr] | [INFO] [stderr] 351 | let mut result = Wrapping(self.acc as u16) - (Wrapping(value as u16) - Wrapping(self.status.contains(Flags::CARRY) as u16)); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_flag` [INFO] [stderr] --> src/cpu.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn set_flag(&mut self, value: bool, flag: Flags) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/cpu.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | pub fn new(bus: Bus) -> Cpu { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_carry` [INFO] [stderr] --> src/cpu.rs:66:5 [INFO] [stderr] | [INFO] [stderr] 66 | 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:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | 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:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | 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:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | 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:98:5 [INFO] [stderr] | [INFO] [stderr] 98 | 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:106:5 [INFO] [stderr] | [INFO] [stderr] 106 | 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:117:5 [INFO] [stderr] | [INFO] [stderr] 117 | 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:124:5 [INFO] [stderr] | [INFO] [stderr] 124 | fn immediate_address(&mut self) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `absolute_address` [INFO] [stderr] --> src/cpu.rs:129:5 [INFO] [stderr] | [INFO] [stderr] 129 | 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:138:5 [INFO] [stderr] | [INFO] [stderr] 138 | 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:148:5 [INFO] [stderr] | [INFO] [stderr] 148 | 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:160:5 [INFO] [stderr] | [INFO] [stderr] 160 | 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:164:5 [INFO] [stderr] | [INFO] [stderr] 164 | fn absolute_indexed_address(&mut self, addressing: &Addressing) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `fetch_address` [INFO] [stderr] --> src/cpu.rs:168:5 [INFO] [stderr] | [INFO] [stderr] 168 | 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:196:5 [INFO] [stderr] | [INFO] [stderr] 196 | fn fetch_with_addressing_mode(&mut self, addressing: &Addressing) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `fetch` [INFO] [stderr] --> src/cpu.rs:201:5 [INFO] [stderr] | [INFO] [stderr] 201 | fn fetch(&mut self, address: u16) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `store` [INFO] [stderr] --> src/cpu.rs:205:5 [INFO] [stderr] | [INFO] [stderr] 205 | fn store(&mut self, value: u8, address: u16) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `extract_addressing` [INFO] [stderr] --> src/cpu.rs:209:5 [INFO] [stderr] | [INFO] [stderr] 209 | fn extract_addressing(&mut self, mid_op_code: u8, lower_op_code: u8) -> Addressing { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `evaluate` [INFO] [stderr] --> src/cpu.rs:234:5 [INFO] [stderr] | [INFO] [stderr] 234 | pub fn evaluate(&mut self, op_code: OpCode) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `shift_left` [INFO] [stderr] --> src/cpu.rs:251:5 [INFO] [stderr] | [INFO] [stderr] 251 | fn shift_left(&mut self, addressing: Addressing) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `force_break` [INFO] [stderr] --> src/cpu.rs:280:5 [INFO] [stderr] | [INFO] [stderr] 280 | fn force_break(&mut self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `store_accumulator` [INFO] [stderr] --> src/cpu.rs:287:5 [INFO] [stderr] | [INFO] [stderr] 287 | 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:295:5 [INFO] [stderr] | [INFO] [stderr] 295 | 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:305:5 [INFO] [stderr] | [INFO] [stderr] 305 | 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:311:5 [INFO] [stderr] | [INFO] [stderr] 311 | 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:315:5 [INFO] [stderr] | [INFO] [stderr] 315 | fn compare(&mut self, addressing: Addressing) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add_with_carry` [INFO] [stderr] --> src/cpu.rs:331:5 [INFO] [stderr] | [INFO] [stderr] 331 | 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:347:5 [INFO] [stderr] | [INFO] [stderr] 347 | 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:363:5 [INFO] [stderr] | [INFO] [stderr] 363 | 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:376:5 [INFO] [stderr] | [INFO] [stderr] 376 | 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:386:5 [INFO] [stderr] | [INFO] [stderr] 386 | fn page_boundary_crossed(&self, value: u8) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_borrow` [INFO] [stderr] --> src/cpu.rs:390:5 [INFO] [stderr] | [INFO] [stderr] 390 | 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:1:12 [INFO] [stderr] | [INFO] [stderr] 1 | pub struct Addressing { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `IndexedIndirect` [INFO] [stderr] --> src/addressing.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | IndexedIndirect, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `IndirectIndexed` [INFO] [stderr] --> src/addressing.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | IndirectIndexed, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ZeroPage` [INFO] [stderr] --> src/addressing.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | ZeroPage, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Immediate` [INFO] [stderr] --> src/addressing.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | Immediate, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Absolute` [INFO] [stderr] --> src/addressing.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | Absolute, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `AbsoluteIndexed` [INFO] [stderr] --> src/addressing.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | AbsoluteIndexed, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ZeroPageIndexed` [INFO] [stderr] --> src/addressing.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | ZeroPageIndexed, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Accumulator` [INFO] [stderr] --> src/addressing.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | Accumulator [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `AddressingRegistry` [INFO] [stderr] --> src/addressing.rs:20:10 [INFO] [stderr] | [INFO] [stderr] 20 | pub enum AddressingRegistry { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `indexed_indirect` [INFO] [stderr] --> src/addressing.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn indexed_indirect() -> Addressing { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `indirect_indexed` [INFO] [stderr] --> src/addressing.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn indirect_indexed() -> Addressing { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `zero_page` [INFO] [stderr] --> src/addressing.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn zero_page() -> Addressing { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `immediate` [INFO] [stderr] --> src/addressing.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn immediate() -> Addressing { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `absolute` [INFO] [stderr] --> src/addressing.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | pub fn absolute() -> Addressing { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `absolute_indexed` [INFO] [stderr] --> src/addressing.rs:66:5 [INFO] [stderr] | [INFO] [stderr] 66 | 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:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | 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:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | pub fn accumulator() -> 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: comparison is useless due to type limits [INFO] [stderr] --> src/cpu.rs:387:9 [INFO] [stderr] | [INFO] [stderr] 387 | 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 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] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/cpu.rs:91:45 [INFO] [stderr] | [INFO] [stderr] 91 | 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:140:32 [INFO] [stderr] | [INFO] [stderr] 140 | let indirect_address = (self.fetch(self.program_counter) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::addressing::Addressing` [INFO] [stderr] --> src/op_code.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::addressing::Addressing; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/op_code.rs:28:9 [INFO] [stderr] | [INFO] [stderr] 28 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `borrow` [INFO] [stderr] --> src/cpu.rs:350:13 [INFO] [stderr] | [INFO] [stderr] 350 | let borrow = self.get_borrow(); [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_borrow` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cpu.rs:318:13 [INFO] [stderr] | [INFO] [stderr] 318 | let mut result = (Wrapping(self.acc) - Wrapping(value)).0; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cpu.rs:334:13 [INFO] [stderr] | [INFO] [stderr] 334 | 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:351:13 [INFO] [stderr] | [INFO] [stderr] 351 | 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:401:13 [INFO] [stderr] | [INFO] [stderr] 401 | let mut bus = Bus::new(input); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `force_break` [INFO] [stderr] --> src/cpu.rs:280:5 [INFO] [stderr] | [INFO] [stderr] 280 | fn force_break(&mut self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `carry_arithmetic` [INFO] [stderr] --> src/cpu.rs:305:5 [INFO] [stderr] | [INFO] [stderr] 305 | fn carry_arithmetic(&mut self, operation: fn(u8, u8) -> (u8, bool), lhs: u8, rhs: u8) -> (u8, bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `load_rom` [INFO] [stderr] --> src/bus.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn load_rom(path: &Path) -> Bus { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu.rs:387:9 [INFO] [stderr] | [INFO] [stderr] 387 | 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] Finished dev [unoptimized + debuginfo] target(s) in 4.35s [INFO] running `"docker" "inspect" "10510175ed9ffbe4e5550cd0471f5433eaccdce16697cd088e9fadabded72615"` [INFO] running `"docker" "rm" "-f" "10510175ed9ffbe4e5550cd0471f5433eaccdce16697cd088e9fadabded72615"` [INFO] [stdout] 10510175ed9ffbe4e5550cd0471f5433eaccdce16697cd088e9fadabded72615