[INFO] cloning repository https://github.com/jtharris/nes_play [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jtharris/nes_play" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjtharris%2Fnes_play", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjtharris%2Fnes_play'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 8a5f63c932e1e9a2b34fa608069ddcf12fee9b3b [INFO] testing jtharris/nes_play against try#8262275854dc0e5381c9d42d56257d94932c5a87 for pr-90799 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjtharris%2Fnes_play" "/workspace/builds/worker-7/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/jtharris/nes_play on toolchain 8262275854dc0e5381c9d42d56257d94932c5a87 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8262275854dc0e5381c9d42d56257d94932c5a87" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/jtharris/nes_play [INFO] finished tweaking git repo https://github.com/jtharris/nes_play [INFO] tweaked toml for git repo https://github.com/jtharris/nes_play written to /workspace/builds/worker-7/source/Cargo.toml [INFO] crate git repo https://github.com/jtharris/nes_play already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8262275854dc0e5381c9d42d56257d94932c5a87" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+8262275854dc0e5381c9d42d56257d94932c5a87" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0aa7ea23daecc9630a701227b673524494e90bb1bcb25eef46ac872f2649fad9 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "0aa7ea23daecc9630a701227b673524494e90bb1bcb25eef46ac872f2649fad9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0aa7ea23daecc9630a701227b673524494e90bb1bcb25eef46ac872f2649fad9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0aa7ea23daecc9630a701227b673524494e90bb1bcb25eef46ac872f2649fad9", kill_on_drop: false }` [INFO] [stdout] 0aa7ea23daecc9630a701227b673524494e90bb1bcb25eef46ac872f2649fad9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "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" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+8262275854dc0e5381c9d42d56257d94932c5a87" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d553ae521cf8636ff45d73ab9d357245b3d39037c7ce9fff473d816a9e656711 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "d553ae521cf8636ff45d73ab9d357245b3d39037c7ce9fff473d816a9e656711", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.104 [INFO] [stderr] Compiling unicode-width v0.1.9 [INFO] [stderr] Compiling vec_map v0.8.2 [INFO] [stderr] Compiling strsim v0.8.0 [INFO] [stderr] Compiling ansi_term v0.11.0 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling clap v2.33.3 [INFO] [stderr] Compiling nes_play v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `write` [INFO] [stdout] --> src/cpu.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt::{Formatter, write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::TryInto` [INFO] [stdout] --> src/commands.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::convert::TryInto; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `INes2Header` [INFO] [stdout] --> src/commands.rs:4:18 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::rom::{INes2Header, INesRom}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::instructions::factory::generate_instruction` [INFO] [stdout] --> src/commands.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::instructions::factory::generate_instruction; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `base` [INFO] [stdout] --> src/cpu.rs:97:40 [INFO] [stdout] | [INFO] [stdout] 97 | &AddressingMode::AbsoluteX(base) => 4, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_base` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `base` [INFO] [stdout] --> src/cpu.rs:98:40 [INFO] [stdout] | [INFO] [stdout] 98 | &AddressingMode::AbsoluteY(base) => 4, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_base` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address` [INFO] [stdout] --> src/cpu.rs:100:40 [INFO] [stdout] | [INFO] [stdout] 100 | &AddressingMode::IndirectY(address) => 5, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/commands.rs:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | let mut log = File::create(&self.log_filename); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `empty` [INFO] [stdout] --> src/cpu.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn empty() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `write_mem16` [INFO] [stdout] --> src/cpu.rs:160:12 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn write_mem16(&mut self, addr: u16, data: u16) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `Mirroring` [INFO] [stdout] --> src/rom.rs:15:6 [INFO] [stdout] | [INFO] [stdout] 15 | enum Mirroring { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `mirroring` [INFO] [stdout] --> src/rom.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | fn mirroring(&self) -> Mirroring { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ppu_register_address` [INFO] [stdout] --> src/bus.rs:14:4 [INFO] [stdout] | [INFO] [stdout] 14 | fn ppu_register_address(addr: u16) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `empty` [INFO] [stdout] --> src/bus.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn empty() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `write_mem16` [INFO] [stdout] --> src/bus.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn write_mem16(&mut self, addr: u16, data: u16) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cpu.rs:183:13 [INFO] [stdout] | [INFO] [stdout] 183 | write!(log, "{:04X} ", pc); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cpu.rs:184:13 [INFO] [stdout] | [INFO] [stdout] 184 | write!(log, " "); // TODO: Fill in bytes later [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cpu.rs:185:13 [INFO] [stdout] | [INFO] [stdout] 185 | / match &instruction { [INFO] [stdout] 186 | | Some(inst) => write!(log, "{:<25}", inst.to_string()), [INFO] [stdout] 187 | | None => write!(log, "{:<25}", "No Instruction") [INFO] [stdout] 188 | | }; [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cpu.rs:189:13 [INFO] [stdout] | [INFO] [stdout] 189 | / write!(log, "A:{:02X} X:{:02X} Y:{:02X} P:{:02X} SP:{:02X} ", [INFO] [stdout] 190 | | self.accumulator, self.index_register_x, self.index_register_y, [INFO] [stdout] 191 | | self.processor_status, self.stack_pointer); [INFO] [stdout] | |_____________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cpu.rs:192:13 [INFO] [stdout] | [INFO] [stdout] 192 | write!(log, "PPU: 0, 0 "); // TODO: Figure this out too [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cpu.rs:202:13 [INFO] [stdout] | [INFO] [stdout] 202 | writeln!(log, "CYC:{}", cycle); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 17.30s [INFO] running `Command { std: "docker" "inspect" "d553ae521cf8636ff45d73ab9d357245b3d39037c7ce9fff473d816a9e656711", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d553ae521cf8636ff45d73ab9d357245b3d39037c7ce9fff473d816a9e656711", kill_on_drop: false }` [INFO] [stdout] d553ae521cf8636ff45d73ab9d357245b3d39037c7ce9fff473d816a9e656711 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "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" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+8262275854dc0e5381c9d42d56257d94932c5a87" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 62d9221cc6755a7dde33b863abbd7e1cbf7fb71cc774b0ecd26851846c8c740a [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "62d9221cc6755a7dde33b863abbd7e1cbf7fb71cc774b0ecd26851846c8c740a", kill_on_drop: false }` [INFO] [stderr] Compiling nes_play v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `write` [INFO] [stdout] --> src/cpu.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt::{Formatter, write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::cpu::StatusFlag` [INFO] [stdout] --> src/cpu.rs:280:9 [INFO] [stdout] | [INFO] [stdout] 280 | use crate::cpu::StatusFlag; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Absolute` [INFO] [stdout] --> src/instructions/adc.rs:46:70 [INFO] [stdout] | [INFO] [stdout] 46 | use crate::cpu::AddressingMode::{ZeroPage, Immediate, AbsoluteX, Absolute}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/instructions/cmp.rs:88:43 [INFO] [stdout] | [INFO] [stdout] 88 | CMP::new(Immediate(0xFF)).execute((&mut cpu)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 88 - CMP::new(Immediate(0xFF)).execute((&mut cpu)); [INFO] [stdout] 88 + CMP::new(Immediate(0xFF)).execute(&mut cpu); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/instructions/cmp.rs:102:43 [INFO] [stdout] | [INFO] [stdout] 102 | CMP::new(Immediate(0x41)).execute((&mut cpu)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 102 - CMP::new(Immediate(0x41)).execute((&mut cpu)); [INFO] [stdout] 102 + CMP::new(Immediate(0x41)).execute(&mut cpu); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::instructions::jmp::JumpAddressMode::Absolute` [INFO] [stdout] --> src/instructions/lax.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | use crate::instructions::jmp::JumpAddressMode::Absolute; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AddressingMode` [INFO] [stdout] --> src/instructions/dcp.rs:37:22 [INFO] [stdout] | [INFO] [stdout] 37 | use crate::cpu::{AddressingMode, CPU, Instruction}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::TryInto` [INFO] [stdout] --> src/commands.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::convert::TryInto; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `INes2Header` [INFO] [stdout] --> src/commands.rs:4:18 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::rom::{INes2Header, INesRom}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::instructions::factory::generate_instruction` [INFO] [stdout] --> src/commands.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::instructions::factory::generate_instruction; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `base` [INFO] [stdout] --> src/cpu.rs:97:40 [INFO] [stdout] | [INFO] [stdout] 97 | &AddressingMode::AbsoluteX(base) => 4, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_base` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `base` [INFO] [stdout] --> src/cpu.rs:98:40 [INFO] [stdout] | [INFO] [stdout] 98 | &AddressingMode::AbsoluteY(base) => 4, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_base` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address` [INFO] [stdout] --> src/cpu.rs:100:40 [INFO] [stdout] | [INFO] [stdout] 100 | &AddressingMode::IndirectY(address) => 5, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/commands.rs:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | let mut log = File::create(&self.log_filename); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `Mirroring` [INFO] [stdout] --> src/rom.rs:15:6 [INFO] [stdout] | [INFO] [stdout] 15 | enum Mirroring { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `mirroring` [INFO] [stdout] --> src/rom.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | fn mirroring(&self) -> Mirroring { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ppu_register_address` [INFO] [stdout] --> src/bus.rs:14:4 [INFO] [stdout] | [INFO] [stdout] 14 | fn ppu_register_address(addr: u16) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cpu.rs:183:13 [INFO] [stdout] | [INFO] [stdout] 183 | write!(log, "{:04X} ", pc); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cpu.rs:184:13 [INFO] [stdout] | [INFO] [stdout] 184 | write!(log, " "); // TODO: Fill in bytes later [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cpu.rs:185:13 [INFO] [stdout] | [INFO] [stdout] 185 | / match &instruction { [INFO] [stdout] 186 | | Some(inst) => write!(log, "{:<25}", inst.to_string()), [INFO] [stdout] 187 | | None => write!(log, "{:<25}", "No Instruction") [INFO] [stdout] 188 | | }; [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cpu.rs:189:13 [INFO] [stdout] | [INFO] [stdout] 189 | / write!(log, "A:{:02X} X:{:02X} Y:{:02X} P:{:02X} SP:{:02X} ", [INFO] [stdout] 190 | | self.accumulator, self.index_register_x, self.index_register_y, [INFO] [stdout] 191 | | self.processor_status, self.stack_pointer); [INFO] [stdout] | |_____________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cpu.rs:192:13 [INFO] [stdout] | [INFO] [stdout] 192 | write!(log, "PPU: 0, 0 "); // TODO: Figure this out too [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/cpu.rs:202:13 [INFO] [stdout] | [INFO] [stdout] 202 | writeln!(log, "CYC:{}", cycle); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 23 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 3.31s [INFO] running `Command { std: "docker" "inspect" "62d9221cc6755a7dde33b863abbd7e1cbf7fb71cc774b0ecd26851846c8c740a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "62d9221cc6755a7dde33b863abbd7e1cbf7fb71cc774b0ecd26851846c8c740a", kill_on_drop: false }` [INFO] [stdout] 62d9221cc6755a7dde33b863abbd7e1cbf7fb71cc774b0ecd26851846c8c740a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "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" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+8262275854dc0e5381c9d42d56257d94932c5a87" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 4b2efe2e1e94eb96336a737292f7df2bb7f6ed0433a7ab1e0e1e06140cc9a35b [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "4b2efe2e1e94eb96336a737292f7df2bb7f6ed0433a7ab1e0e1e06140cc9a35b", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `write` [INFO] [stderr] --> src/cpu.rs:2:27 [INFO] [stderr] | [INFO] [stderr] 2 | use std::fmt::{Formatter, write}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::cpu::StatusFlag` [INFO] [stderr] --> src/cpu.rs:280:9 [INFO] [stderr] | [INFO] [stderr] 280 | use crate::cpu::StatusFlag; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Absolute` [INFO] [stderr] --> src/instructions/adc.rs:46:70 [INFO] [stderr] | [INFO] [stderr] 46 | use crate::cpu::AddressingMode::{ZeroPage, Immediate, AbsoluteX, Absolute}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/instructions/cmp.rs:88:43 [INFO] [stderr] | [INFO] [stderr] 88 | CMP::new(Immediate(0xFF)).execute((&mut cpu)); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 88 - CMP::new(Immediate(0xFF)).execute((&mut cpu)); [INFO] [stderr] 88 + CMP::new(Immediate(0xFF)).execute(&mut cpu); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/instructions/cmp.rs:102:43 [INFO] [stderr] | [INFO] [stderr] 102 | CMP::new(Immediate(0x41)).execute((&mut cpu)); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 102 - CMP::new(Immediate(0x41)).execute((&mut cpu)); [INFO] [stderr] 102 + CMP::new(Immediate(0x41)).execute(&mut cpu); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::instructions::jmp::JumpAddressMode::Absolute` [INFO] [stderr] --> src/instructions/lax.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | use crate::instructions::jmp::JumpAddressMode::Absolute; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `AddressingMode` [INFO] [stderr] --> src/instructions/dcp.rs:37:22 [INFO] [stderr] | [INFO] [stderr] 37 | use crate::cpu::{AddressingMode, CPU, Instruction}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::convert::TryInto` [INFO] [stderr] --> src/commands.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::convert::TryInto; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `INes2Header` [INFO] [stderr] --> src/commands.rs:4:18 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::rom::{INes2Header, INesRom}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::instructions::factory::generate_instruction` [INFO] [stderr] --> src/commands.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::instructions::factory::generate_instruction; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `base` [INFO] [stderr] --> src/cpu.rs:97:40 [INFO] [stderr] | [INFO] [stderr] 97 | &AddressingMode::AbsoluteX(base) => 4, [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_base` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `base` [INFO] [stderr] --> src/cpu.rs:98:40 [INFO] [stderr] | [INFO] [stderr] 98 | &AddressingMode::AbsoluteY(base) => 4, [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_base` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `address` [INFO] [stderr] --> src/cpu.rs:100:40 [INFO] [stderr] | [INFO] [stderr] 100 | &AddressingMode::IndirectY(address) => 5, [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/commands.rs:52:13 [INFO] [stderr] | [INFO] [stderr] 52 | let mut log = File::create(&self.log_filename); [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: enum is never used: `Mirroring` [INFO] [stderr] --> src/rom.rs:15:6 [INFO] [stderr] | [INFO] [stderr] 15 | enum Mirroring { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `mirroring` [INFO] [stderr] --> src/rom.rs:63:8 [INFO] [stderr] | [INFO] [stderr] 63 | fn mirroring(&self) -> Mirroring { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `ppu_register_address` [INFO] [stderr] --> src/bus.rs:14:4 [INFO] [stderr] | [INFO] [stderr] 14 | fn ppu_register_address(addr: u16) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/cpu.rs:183:13 [INFO] [stderr] | [INFO] [stderr] 183 | write!(log, "{:04X} ", pc); [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] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/cpu.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | write!(log, " "); // TODO: Fill in bytes later [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/cpu.rs:185:13 [INFO] [stderr] | [INFO] [stderr] 185 | / match &instruction { [INFO] [stderr] 186 | | Some(inst) => write!(log, "{:<25}", inst.to_string()), [INFO] [stderr] 187 | | None => write!(log, "{:<25}", "No Instruction") [INFO] [stderr] 188 | | }; [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/cpu.rs:189:13 [INFO] [stderr] | [INFO] [stderr] 189 | / write!(log, "A:{:02X} X:{:02X} Y:{:02X} P:{:02X} SP:{:02X} ", [INFO] [stderr] 190 | | self.accumulator, self.index_register_x, self.index_register_y, [INFO] [stderr] 191 | | self.processor_status, self.stack_pointer); [INFO] [stderr] | |_____________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/cpu.rs:192:13 [INFO] [stderr] | [INFO] [stderr] 192 | write!(log, "PPU: 0, 0 "); // TODO: Figure this out too [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/cpu.rs:202:13 [INFO] [stderr] | [INFO] [stderr] 202 | writeln!(log, "CYC:{}", cycle); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `nes_play` (bin "nes_play" test) generated 23 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/nes_play-a8ba8b411791cab2) [INFO] [stdout] [INFO] [stdout] running 238 tests [INFO] [stdout] test bus::test::read_write_8bit_ram ... ok [INFO] [stdout] test cpu::test::absolute_x_read ... ok [INFO] [stdout] test cpu::test::absolute_x_no_wrap_around_write ... ok [INFO] [stdout] test cpu::test::absolute_x_no_wrap_around_read ... ok [INFO] [stdout] test cpu::test::absolute_write ... ok [INFO] [stdout] test bus::test::read_16bit_ram_little_endian ... ok [INFO] [stdout] test bus::test::write_16bit_ram_little_endian ... ok [INFO] [stdout] test cpu::test::immediate_read ... ok [INFO] [stdout] test cpu::test::accumulator_write ... ok [INFO] [stdout] test cpu::test::absolute_x_wrap_around_read ... ok [INFO] [stdout] test cpu::test::accumulator_read ... ok [INFO] [stdout] test cpu::test::absolute_x_wrap_around_write ... ok [INFO] [stdout] test cpu::test::absolute_y_wrap_around_write ... ok [INFO] [stdout] test cpu::test::absolute_y_wrap_around_read ... ok [INFO] [stdout] test cpu::test::absolute_x_write ... ok [INFO] [stdout] test cpu::test::indirect_y_read_with_carry ... ok [INFO] [stdout] test cpu::test::push_values_to_stack ... ok [INFO] [stdout] test cpu::test::read_write_16bit_memory ... ok [INFO] [stdout] test cpu::test::indirect_y_write ... ok [INFO] [stdout] test cpu::test::zero_page_read ... ok [INFO] [stdout] test cpu::test::indirect_x_write ... ok [INFO] [stdout] test cpu::test::zero_page_write ... ok [INFO] [stdout] test cpu::test::zero_page_x_wrap_around_write ... ok [INFO] [stdout] test cpu::test::absolute_y_read ... ok [INFO] [stdout] test cpu::test::absolute_y_write ... ok [INFO] [stdout] test cpu::test::push_and_pop_stack ... ok [INFO] [stdout] test cpu::test::indirect_y_read ... ok [INFO] [stdout] test cpu::test::absolute_y_no_wrap_around_write ... ok [INFO] [stdout] test bus::test::read_write_16bit_ram ... ok [INFO] [stdout] test cpu::test::indirect_x_read ... ok [INFO] [stdout] test cpu::test::zero_page_x_write ... ok [INFO] [stdout] test instructions::adc::test::addition_with_zero_and_carry ... ok [INFO] [stdout] test cpu::test::zero_page_y_write ... ok [INFO] [stdout] test cpu::test::zero_page_y_wrap_around_write ... ok [INFO] [stdout] test cpu::test::zero_page_y_wrap_around_read ... ok [INFO] [stdout] test cpu::test::zero_page_y_read ... ok [INFO] [stdout] test instructions::adc::test::addition_with_negative ... ok [INFO] [stdout] test instructions::adc::test::addition_using_carry ... ok [INFO] [stdout] test cpu::test::absolute_read ... ok [INFO] [stdout] test instructions::adc::test::nestest_scenario1 ... ok [INFO] [stdout] test instructions::and::test::string_representation ... ok [INFO] [stdout] test instructions::and::test::negative_flag_and ... ok [INFO] [stdout] test instructions::adc::test::string_representation ... ok [INFO] [stdout] test instructions::adc::test::addition_with_carry ... ok [INFO] [stdout] test instructions::adc::test::basic_addition ... ok [INFO] [stdout] test instructions::and::test::zero_flag_and ... ok [INFO] [stdout] test instructions::asl::test::mem_asl_with_zero_and_carry ... ok [INFO] [stdout] test instructions::asl::test::basic_acc_asl ... ok [INFO] [stdout] test instructions::asl::test::mem_asl_with_negative ... ok [INFO] [stdout] test cpu::test::zero_page_x_wrap_around_read ... ok [INFO] [stdout] test cpu::test::zero_page_x_read ... ok [INFO] [stdout] test instructions::asl::test::string_representation ... ok [INFO] [stdout] test instructions::bcs::test::string_representation_positive ... ok [INFO] [stdout] test instructions::bcc::test::string_representation_negative ... ok [INFO] [stdout] test instructions::bcc::test::string_representation_positive ... ok [INFO] [stdout] test instructions::bcs::test::jump_back ... ok [INFO] [stdout] test instructions::bcs::test::jump_forward ... ok [INFO] [stdout] test instructions::bcc::test::jump_forward ... ok [INFO] [stdout] test instructions::bcs::test::no_effect ... ok [INFO] [stdout] test instructions::bcs::test::string_representation_negative ... ok [INFO] [stdout] test instructions::adc::test::nestest_scenario2 ... ok [INFO] [stdout] test instructions::bcc::test::no_effect ... ok [INFO] [stdout] test cpu::test::absolute_y_no_wrap_around_read ... ok [INFO] [stdout] test instructions::beq::test::jump_back ... ok [INFO] [stdout] test instructions::and::test::basic_and ... ok [INFO] [stdout] test instructions::bne::test::jump_back ... ok [INFO] [stdout] test instructions::bmi::test::jump_forward ... ok [INFO] [stdout] test instructions::bne::test::string_representation_negative ... ok [INFO] [stdout] test instructions::bit::test::set_top_bits ... ok [INFO] [stdout] test instructions::bit::test::string_representation ... ok [INFO] [stdout] test instructions::bmi::test::string_representation_negative ... ok [INFO] [stdout] test instructions::bne::test::string_representation_positive ... ok [INFO] [stdout] test instructions::bpl::test::jump_back ... ok [INFO] [stdout] test instructions::bmi::test::string_representation_positive ... ok [INFO] [stdout] test instructions::bpl::test::string_representation_positive ... ok [INFO] [stdout] test instructions::bvc::test::jump_forward ... ok [INFO] [stdout] test instructions::beq::test::string_representation_positive ... ok [INFO] [stdout] test instructions::bpl::test::string_representation_negative ... ok [INFO] [stdout] test instructions::bvc::test::jump_back ... ok [INFO] [stdout] test instructions::bpl::test::jump_forward ... ok [INFO] [stdout] test instructions::bit::test::clear_top_bits ... ok [INFO] [stdout] test instructions::beq::test::jump_forward ... ok [INFO] [stdout] test instructions::bvs::test::string_representation_zero ... ok [INFO] [stdout] test instructions::beq::test::no_effect ... ok [INFO] [stdout] test instructions::bvc::test::no_effect ... ok [INFO] [stdout] test instructions::bvc::test::string_representation_negative ... ok [INFO] [stdout] test instructions::bvs::test::no_effect ... ok [INFO] [stdout] test instructions::cli::test::clears_set_id ... ok [INFO] [stdout] test instructions::clc::test::zeroed_c_is_unchanged ... ok [INFO] [stdout] test instructions::clc::test::clears_set_c ... ok [INFO] [stdout] test instructions::cli::test::zeroed_id_is_unchanged ... ok [INFO] [stdout] test instructions::clv::test::clears_set_id ... ok [INFO] [stdout] test instructions::clv::test::zeroed_id_is_unchanged ... ok [INFO] [stdout] test instructions::cmp::test::acc_greater_and_negative ... ok [INFO] [stdout] test instructions::cmp::test::acc_less_and_positive ... ok [INFO] [stdout] test instructions::cmp::test::nestest_scenario1 ... ok [INFO] [stdout] test instructions::cmp::test::nestest_scenario2 ... ok [INFO] [stdout] test instructions::cmp::test::string_representation ... ok [INFO] [stdout] test instructions::cmp::test::values_are_equal_positive ... ok [INFO] [stdout] test instructions::cpx::test::acc_greater_and_negative ... ok [INFO] [stdout] test instructions::cpx::test::acc_less_and_positive ... ok [INFO] [stdout] test instructions::cpx::test::nestest_scenario1 ... ok [INFO] [stdout] test instructions::cpx::test::string_representation ... ok [INFO] [stdout] test instructions::bne::test::jump_forward ... ok [INFO] [stdout] test instructions::bvs::test::string_representation_negative ... ok [INFO] [stdout] test instructions::bmi::test::jump_back ... ok [INFO] [stdout] test instructions::cpx::test::values_are_equal_positive ... ok [INFO] [stdout] test instructions::bpl::test::no_effect ... ok [INFO] [stdout] test instructions::cpy::test::acc_greater_and_negative ... ok [INFO] [stdout] test instructions::cpy::test::acc_less_and_positive ... ok [INFO] [stdout] test instructions::dec::test::negative_result ... ok [INFO] [stdout] test instructions::dcp::test::string_representation ... ok [INFO] [stdout] test instructions::bvc::test::string_representation_positive ... ok [INFO] [stdout] test instructions::beq::test::string_representation_negative ... ok [INFO] [stdout] test instructions::cpy::test::values_are_equal_positive ... ok [INFO] [stdout] test instructions::bvs::test::jump_back ... ok [INFO] [stdout] test instructions::cpy::test::nestest_scenario1 ... ok [INFO] [stdout] test instructions::cpy::test::string_representation ... ok [INFO] [stdout] test instructions::bvs::test::jump_forward ... ok [INFO] [stdout] test instructions::cld::test::clears_set_d ... ok [INFO] [stdout] test instructions::cld::test::zeroed_d_is_unchanged ... ok [INFO] [stdout] test instructions::bcc::test::jump_back ... ok [INFO] [stdout] test instructions::bne::test::no_effect ... ok [INFO] [stdout] test instructions::bmi::test::no_effect ... ok [INFO] [stdout] test instructions::dcp::test::zero_flag_set ... ok [INFO] [stdout] test instructions::dec::test::basic_decrement ... ok [INFO] [stdout] test instructions::dec::test::negative_wrap ... ok [INFO] [stdout] test instructions::dey::test::zero_result ... ok [INFO] [stdout] test instructions::dex::test::negative_wrap ... ok [INFO] [stdout] test instructions::eor::test::negative_flag_eor ... ok [INFO] [stdout] test instructions::dey::test::basic_decrement ... ok [INFO] [stdout] test instructions::eor::test::basic_eor ... ok [INFO] [stdout] test instructions::dey::test::negative_result ... ok [INFO] [stdout] test instructions::dey::test::negative_wrap ... ok [INFO] [stdout] test instructions::eor::test::string_representation ... ok [INFO] [stdout] test instructions::eor::test::zero_flag_eor ... ok [INFO] [stdout] test instructions::inc::test::basic_increment ... ok [INFO] [stdout] test instructions::inc::test::negative_result ... ok [INFO] [stdout] test instructions::inc::test::zero_wrap ... ok [INFO] [stdout] test instructions::inx::test::negative_result ... ok [INFO] [stdout] test instructions::jmp::test::string_representation_indirect ... ok [INFO] [stdout] test instructions::inx::test::zero_wrap ... ok [INFO] [stdout] test instructions::inc::test::string_representation ... ok [INFO] [stdout] test instructions::inx::test::basic_increment ... ok [INFO] [stdout] test instructions::iny::test::basic_decrement ... ok [INFO] [stdout] test instructions::iny::test::negative_result ... ok [INFO] [stdout] test instructions::jsr::test::string_representation ... ok [INFO] [stdout] test instructions::iny::test::zero_wrap ... ok [INFO] [stdout] test instructions::dex::test::zero_result ... ok [INFO] [stdout] test instructions::lda::test::accumulator_is_loaded_no_flags ... ok [INFO] [stdout] test instructions::dec::test::zero_result ... ok [INFO] [stdout] test instructions::lda::test::accumulator_is_loaded_zero ... ok [INFO] [stdout] test instructions::jmp::test::indirect_jump ... ok [INFO] [stdout] test instructions::dex::test::negative_result ... ok [INFO] [stdout] test instructions::dec::test::string_representation ... ok [INFO] [stdout] test instructions::jmp::test::nestest_scenario1 ... ok [INFO] [stdout] test instructions::jmp::test::string_representation_absolute ... ok [INFO] [stdout] test instructions::lax::test::both_registers_are_loaded ... ok [INFO] [stdout] test instructions::jsr::test::jump_to_sub ... ok [INFO] [stdout] test instructions::lax::test::string_representation ... ok [INFO] [stdout] test instructions::lda::test::accumulator_is_loaded_neg ... ok [INFO] [stdout] test instructions::lda::test::nestest_scenario1 ... ok [INFO] [stdout] test instructions::ldx::test::string_representation ... ok [INFO] [stdout] test instructions::jmp::test::absolute_jump ... ok [INFO] [stdout] test instructions::lda::test::string_representation ... ok [INFO] [stdout] test instructions::ldx::test::register_is_loaded_neg ... ok [INFO] [stdout] test instructions::ldx::test::register_is_loaded_no_flags ... ok [INFO] [stdout] test instructions::dex::test::basic_decrement ... ok [INFO] [stdout] test instructions::ldx::test::register_is_loaded_zero ... ok [INFO] [stdout] test instructions::ldy::test::register_is_loaded_neg ... ok [INFO] [stdout] test instructions::php::test::s_is_pushed_no_change ... ok [INFO] [stdout] test instructions::pha::test::acc_is_pushed ... ok [INFO] [stdout] test instructions::lsr::test::negative_flag_always_cleared ... ok [INFO] [stdout] test instructions::lsr::test::string_representation ... ok [INFO] [stdout] test instructions::ldy::test::string_representation ... ok [INFO] [stdout] test instructions::pla::test::acc_is_pulled ... ok [INFO] [stdout] test instructions::plp::test::s_is_pulled_ignoring_bits ... ok [INFO] [stdout] test instructions::ora::test::basic_or ... ok [INFO] [stdout] test instructions::lsr::test::shift_with_zero_and_carry_set ... ok [INFO] [stdout] test instructions::ora::test::zero_flag_or ... ok [INFO] [stdout] test instructions::ldy::test::register_is_loaded_zero ... ok [INFO] [stdout] test instructions::rol::test::string_representation ... ok [INFO] [stdout] test instructions::plp::test::s_is_pulled ... ok [INFO] [stdout] test instructions::ora::test::string_representation ... ok [INFO] [stdout] test instructions::pla::test::acc_is_pulled_zero_flag ... ok [INFO] [stdout] test instructions::ror::test::rotate_acc_carry_1_to_0 ... ok [INFO] [stdout] test instructions::ror::test::rotate_acc_carry_0_to_1 ... ok [INFO] [stdout] test instructions::rol::test::rotate_acc_carry_0_to_1 ... ok [INFO] [stdout] test instructions::rol::test::rotate_acc_carry_1_to_0 ... ok [INFO] [stdout] test instructions::ror::test::string_representation ... ok [INFO] [stdout] test instructions::rti::test::nestest_scenario2 ... ok [INFO] [stdout] test instructions::rti::test::nestest_scenario1 ... ok [INFO] [stdout] test instructions::php::test::s_is_pushed_with_b_flag ... ok [INFO] [stdout] test instructions::ora::test::negative_flag_or ... ok [INFO] [stdout] test instructions::sax::test::basic_write ... ok [INFO] [stdout] test instructions::sax::test::string_representation ... ok [INFO] [stdout] test instructions::sbc::test::basic_sub_without_existing_carry ... ok [INFO] [stdout] test instructions::sbc::test::sub_with_overflow_cleared ... ok [INFO] [stdout] test instructions::sbc::test::nestest_scenario2 ... ok [INFO] [stdout] test instructions::sbc::test::string_representation ... ok [INFO] [stdout] test instructions::sbc::test::sub_setting_negative ... ok [INFO] [stdout] test instructions::sbc::test::basic_sub_with_carry_set ... ok [INFO] [stdout] test instructions::sec::test::existing_carry_set ... ok [INFO] [stdout] test instructions::sec::test::confirm_carry_set ... ok [INFO] [stdout] test instructions::stx::test::string_representation ... ok [INFO] [stdout] test instructions::stx::test::x_is_stored ... ok [INFO] [stdout] test instructions::sty::test::string_representation ... ok [INFO] [stdout] test instructions::sei::test::confirm_interrupt_set ... ok [INFO] [stdout] test instructions::tax::test::copies_to_x_negative_flag ... ok [INFO] [stdout] test instructions::sta::test::acc_is_stored ... ok [INFO] [stdout] test instructions::sty::test::y_is_stored ... ok [INFO] [stdout] test instructions::sei::test::existing_interrupt_set ... ok [INFO] [stdout] test instructions::tay::test::copies_to_y_no_flags ... ok [INFO] [stdout] test instructions::tay::test::copies_to_y_negative_flag ... ok [INFO] [stdout] test instructions::tax::test::copies_to_x_zero_flag ... ok [INFO] [stdout] test instructions::tsx::test::copies_to_x_zero_flag ... ok [INFO] [stdout] test instructions::txa::test::copies_to_acc_negative_flag ... ok [INFO] [stdout] test instructions::txa::test::copies_to_acc_no_flags ... ok [INFO] [stdout] test instructions::txa::test::copies_to_acc_zero_flag ... ok [INFO] [stdout] test instructions::txs::test::copies_to_stack ... ok [INFO] [stdout] test instructions::tya::test::copies_to_acc_negative_flag ... ok [INFO] [stdout] test instructions::tya::test::copies_to_acc_no_flags ... ok [INFO] [stdout] test instructions::tya::test::copies_to_acc_zero_flag ... ok [INFO] [stdout] test instructions::tsx::test::copies_to_x_negative_flag ... ok [INFO] [stdout] test instructions::sed::test::existing_decimal_set ... ok [INFO] [stdout] test instructions::sta::test::string_representation ... ok [INFO] [stdout] test instructions::tsx::test::copies_to_x_no_flags ... ok [INFO] [stdout] test instructions::sta::test::absolute_address_mode ... ok [INFO] [stdout] test instructions::rol::test::rotate_mem_with_zero ... ok [INFO] [stdout] test instructions::ror::test::rotate_mem_with_zero ... ok [INFO] [stdout] test instructions::sbc::test::nestest_scenario1 ... ok [INFO] [stdout] test instructions::ldy::test::register_is_loaded_no_flags ... ok [INFO] [stdout] test instructions::rti::test::values_all_pulled ... ok [INFO] [stdout] test instructions::lsr::test::shift_with_no_flags_acc ... ok [INFO] [stdout] test instructions::rts::test::values_all_pulled ... ok [INFO] [stdout] test instructions::tax::test::copies_to_x_no_flags ... ok [INFO] [stdout] test instructions::tay::test::copies_to_y_zero_flag ... ok [INFO] [stdout] test instructions::sed::test::confirm_decimal_set ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 238 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "4b2efe2e1e94eb96336a737292f7df2bb7f6ed0433a7ab1e0e1e06140cc9a35b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4b2efe2e1e94eb96336a737292f7df2bb7f6ed0433a7ab1e0e1e06140cc9a35b", kill_on_drop: false }` [INFO] [stdout] 4b2efe2e1e94eb96336a737292f7df2bb7f6ed0433a7ab1e0e1e06140cc9a35b