[INFO] cloning repository https://github.com/dacid44/nes_rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dacid44/nes_rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdacid44%2Fnes_rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdacid44%2Fnes_rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9eea161ad102d59d47da65c5e441a0343e30b02c [INFO] testing dacid44/nes_rs against try#0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6 for pr-137122-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdacid44%2Fnes_rs" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] [stderr] Updating files: 26% (43/164) Updating files: 27% (45/164) Updating files: 28% (46/164) Updating files: 29% (48/164) Updating files: 30% (50/164) Updating files: 31% (51/164) Updating files: 32% (53/164) Updating files: 33% (55/164) Updating files: 34% (56/164) Updating files: 35% (58/164) Updating files: 36% (60/164) Updating files: 37% (61/164) Updating files: 38% (63/164) Updating files: 39% (64/164) Updating files: 40% (66/164) Updating files: 41% (68/164) Updating files: 42% (69/164) Updating files: 43% (71/164) Updating files: 44% (73/164) Updating files: 45% (74/164) Updating files: 46% (76/164) Updating files: 47% (78/164) Updating files: 48% (79/164) Updating files: 49% (81/164) Updating files: 50% (82/164) Updating files: 51% (84/164) Updating files: 52% (86/164) Updating files: 53% (87/164) Updating files: 54% (89/164) Updating files: 55% (91/164) Updating files: 56% (92/164) Updating files: 57% (94/164) Updating files: 58% (96/164) Updating files: 59% (97/164) Updating files: 60% (99/164) Updating files: 61% (101/164) Updating files: 62% (102/164) Updating files: 63% (104/164) Updating files: 64% (105/164) Updating files: 65% (107/164) Updating files: 66% (109/164) Updating files: 67% (110/164) Updating files: 68% (112/164) Updating files: 69% (114/164) Updating files: 70% (115/164) Updating files: 71% (117/164) Updating files: 72% (119/164) Updating files: 73% (120/164) Updating files: 74% (122/164) Updating files: 75% (123/164) Updating files: 76% (125/164) Updating files: 77% (127/164) Updating files: 78% (128/164) Updating files: 79% (130/164) Updating files: 80% (132/164) Updating files: 81% (133/164) Updating files: 82% (135/164) Updating files: 83% (137/164) Updating files: 84% (138/164) Updating files: 85% (140/164) Updating files: 86% (142/164) Updating files: 87% (143/164) Updating files: 88% (145/164) Updating files: 89% (146/164) Updating files: 90% (148/164) Updating files: 91% (150/164) Updating files: 92% (151/164) Updating files: 93% (153/164) Updating files: 94% (155/164) Updating files: 95% (156/164) Updating files: 96% (158/164) Updating files: 97% (160/164) Updating files: 98% (161/164) Updating files: 99% (163/164) Updating files: 100% (164/164) Updating files: 100% (164/164), done. [INFO] started tweaking git repo https://github.com/dacid44/nes_rs [INFO] finished tweaking git repo https://github.com/dacid44/nes_rs [INFO] tweaked toml for git repo https://github.com/dacid44/nes_rs written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/dacid44/nes_rs on toolchain 0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/dacid44/nes_rs already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7f35988b06d6aa534b766ae547d769692da33a1982c80b33a0fe9de66d1360c8 [INFO] running `Command { std: "docker" "start" "-a" "7f35988b06d6aa534b766ae547d769692da33a1982c80b33a0fe9de66d1360c8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7f35988b06d6aa534b766ae547d769692da33a1982c80b33a0fe9de66d1360c8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7f35988b06d6aa534b766ae547d769692da33a1982c80b33a0fe9de66d1360c8", kill_on_drop: false }` [INFO] [stdout] 7f35988b06d6aa534b766ae547d769692da33a1982c80b33a0fe9de66d1360c8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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" "RUSTDOCFLAGS=--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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 854085ff9e6fcab73b8d79fce335f9a37009ab3b56ba8c7bea040aff85831596 [INFO] running `Command { std: "docker" "start" "-a" "854085ff9e6fcab73b8d79fce335f9a37009ab3b56ba8c7bea040aff85831596", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.153 [INFO] [stderr] Compiling proc-macro2 v1.0.79 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling version-compare v0.1.1 [INFO] [stderr] Compiling sdl2 v0.36.0 [INFO] [stderr] Compiling paste v1.0.14 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling once_cell v1.19.0 [INFO] [stderr] Compiling spin_sleep v1.2.0 [INFO] [stderr] Compiling bitfield v0.14.0 [INFO] [stderr] Compiling bitflags v2.5.0 [INFO] [stderr] Compiling sdl2-sys v0.36.0 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Compiling syn v2.0.57 [INFO] [stderr] Compiling getrandom v0.2.12 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling enum-map-derive v0.17.0 [INFO] [stderr] Compiling enum_dispatch v0.3.13 [INFO] [stderr] Compiling enum-map v2.7.3 [INFO] [stderr] Compiling nes_rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `enum_map` [INFO] [stdout] --> src/cpu.rs:7:16 [INFO] [stdout] | [INFO] [stdout] 7 | use enum_map::{enum_map, EnumMap}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `array` [INFO] [stdout] --> src/ppu.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | use std::{array, mem, ops::RangeInclusive}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Bus` [INFO] [stdout] --> src/cpu.rs:10:18 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::bus::{Bus, CpuBus, FlatRam}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Flags` [INFO] [stdout] --> src/ppu.rs:2:26 [INFO] [stdout] | [INFO] [stdout] 2 | use bitflags::{bitflags, Flags}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mode` [INFO] [stdout] --> src/cpu.rs:1080:23 [INFO] [stdout] | [INFO] [stdout] 1080 | fn eor(&mut self, mode: AddressingMode, _cycle: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mode` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mode` [INFO] [stdout] --> src/cpu.rs:1112:23 [INFO] [stdout] | [INFO] [stdout] 1112 | fn jsr(&mut self, mode: AddressingMode, cycle: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mode` [INFO] [stdout] --> src/cpu.rs:1133:23 [INFO] [stdout] | [INFO] [stdout] 1133 | fn lda(&mut self, mode: AddressingMode, _cycle: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mode` [INFO] [stdout] --> src/cpu.rs:1141:23 [INFO] [stdout] | [INFO] [stdout] 1141 | fn ldx(&mut self, mode: AddressingMode, _cycle: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mode` [INFO] [stdout] --> src/cpu.rs:1149:23 [INFO] [stdout] | [INFO] [stdout] 1149 | fn ldy(&mut self, mode: AddressingMode, _cycle: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hardcoded_addr` [INFO] [stdout] --> src/rom/uxrom.rs:42:21 [INFO] [stdout] | [INFO] [stdout] 42 | let hardcoded_addr = addr as usize - 0xC000 + (7 * 0x4000); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hardcoded_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_CODE` is never used [INFO] [stdout] --> src/main.rs:28:7 [INFO] [stdout] | [INFO] [stdout] 28 | const GAME_CODE: &[u8] = &[ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEST_CODE` is never used [INFO] [stdout] --> src/main.rs:51:7 [INFO] [stdout] | [INFO] [stdout] 51 | const TEST_CODE: &[u8] = include_bytes!("../roms/6502_functional_test.bin"); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `transform_color` is never used [INFO] [stdout] --> src/main.rs:205:4 [INFO] [stdout] | [INFO] [stdout] 205 | fn transform_color(byte: u8) -> Color { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_screen_state` is never used [INFO] [stdout] --> src/main.rs:219:4 [INFO] [stdout] | [INFO] [stdout] 219 | fn read_screen_state(cpu: &mut Cpu, frame: &mut [u8; 32 * 32 * 3]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `run_cycle` is never used [INFO] [stdout] --> src/bus.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub trait CpuBus: Bus { [INFO] [stdout] | ------ method in this trait [INFO] [stdout] ... [INFO] [stdout] 15 | fn run_cycle(&mut self) {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `peek` is never used [INFO] [stdout] --> src/bus.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub trait Bus { [INFO] [stdout] | --- method in this trait [INFO] [stdout] ... [INFO] [stdout] 24 | fn peek(&self, addr: u16) -> Option; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FlatRam` is never constructed [INFO] [stdout] --> src/bus.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct FlatRam { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `load` are never used [INFO] [stdout] --> src/bus.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl FlatRam { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 33 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn load(&mut self, program: &[u8]) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MEMORY_SIZE` is never used [INFO] [stdout] --> src/cpu.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const MEMORY_SIZE: usize = 0x10000; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROGRAM_START` is never used [INFO] [stdout] --> src/cpu.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub const PROGRAM_START: u16 = 0xC000; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROGRAM_START_LOC` is never used [INFO] [stdout] --> src/cpu.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | pub const PROGRAM_START_LOC: u16 = 0xFFFC; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STACK_INIT` is never used [INFO] [stdout] --> src/cpu.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const STACK_INIT: u8 = 0xFF; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `load_and_run` and `load` are never used [INFO] [stdout] --> src/cpu.rs:78:12 [INFO] [stdout] | [INFO] [stdout] 77 | impl Cpu { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 78 | pub fn load_and_run(&mut self, program: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn load(&mut self, program: &[u8]) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/cpu.rs:319:12 [INFO] [stdout] | [INFO] [stdout] 89 | impl Cpu { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 319 | pub fn state_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 338 | fn format_next_opcode(&self) -> (String, String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 477 | pub fn trace(&self) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 506 | pub fn run(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 514 | pub fn run_instruction(&mut self) -> ControlFlow<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 626 | fn stack_push_u16(&mut self, data: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 632 | fn stack_pull_u16(&mut self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NONE` is never used [INFO] [stdout] --> src/ppu.rs:47:15 [INFO] [stdout] | [INFO] [stdout] 47 | const NONE: Option<(usize, RangeInclusive)> = None; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `HORIZONTAL_BITS` is never used [INFO] [stdout] --> src/ppu.rs:484:11 [INFO] [stdout] | [INFO] [stdout] 483 | impl Registers { [INFO] [stdout] | -------------- associated constant in this implementation [INFO] [stdout] 484 | const HORIZONTAL_BITS: u16 = 0b0000100_00011111; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mirror_vram_addr` is never used [INFO] [stdout] --> src/ppu.rs:809:4 [INFO] [stdout] | [INFO] [stdout] 809 | fn mirror_vram_addr(addr: u16, mirroring: Mirroring) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `nametable_offset` is never used [INFO] [stdout] --> src/ppu.rs:844:8 [INFO] [stdout] | [INFO] [stdout] 835 | impl ControlRegister { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 844 | fn nametable_offset(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/cpu.rs:1378:5 [INFO] [stdout] | [INFO] [stdout] 1376 | #[derive(PartialEq, Eq)] [INFO] [stdout] | --------- in this derive macro expansion [INFO] [stdout] 1377 | struct Opcode { [INFO] [stdout] 1378 | instruction: fn(&mut Cpu, AddressingMode, u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.06s [INFO] running `Command { std: "docker" "inspect" "854085ff9e6fcab73b8d79fce335f9a37009ab3b56ba8c7bea040aff85831596", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "854085ff9e6fcab73b8d79fce335f9a37009ab3b56ba8c7bea040aff85831596", kill_on_drop: false }` [INFO] [stdout] 854085ff9e6fcab73b8d79fce335f9a37009ab3b56ba8c7bea040aff85831596 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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" "RUSTDOCFLAGS=--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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4eac1e87912bd27f02f86879f161deca17f4af7633b6a41c591e0e6af06d3ea3 [INFO] running `Command { std: "docker" "start" "-a" "4eac1e87912bd27f02f86879f161deca17f4af7633b6a41c591e0e6af06d3ea3", kill_on_drop: false }` [INFO] [stderr] Compiling crossbeam-utils v0.8.19 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Compiling serde v1.0.197 [INFO] [stderr] Compiling serde_json v1.0.115 [INFO] [stderr] Compiling itoa v1.0.11 [INFO] [stderr] Compiling ryu v1.0.17 [INFO] [stderr] Compiling either v1.10.0 [INFO] [stderr] Compiling glob v0.3.1 [INFO] [stderr] Compiling serde_derive v1.0.197 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling crossbeam-deque v0.8.5 [INFO] [stderr] Compiling rayon v1.10.0 [INFO] [stderr] Compiling nes_rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `cell::RefCell` and `rc::Rc` [INFO] [stdout] --> src/cpu/tom_harte_cpu_tests.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{cell::RefCell, fs::File, rc::Rc}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `enum_map` [INFO] [stdout] --> src/cpu.rs:7:16 [INFO] [stdout] | [INFO] [stdout] 7 | use enum_map::{enum_map, EnumMap}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `array` [INFO] [stdout] --> src/ppu.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | use std::{array, mem, ops::RangeInclusive}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bitflags::Flags` [INFO] [stdout] --> src/cpu.rs:1534:9 [INFO] [stdout] | [INFO] [stdout] 1534 | use bitflags::Flags; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Flags` [INFO] [stdout] --> src/ppu.rs:2:26 [INFO] [stdout] | [INFO] [stdout] 2 | use bitflags::{bitflags, Flags}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mode` [INFO] [stdout] --> src/cpu.rs:1080:23 [INFO] [stdout] | [INFO] [stdout] 1080 | fn eor(&mut self, mode: AddressingMode, _cycle: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mode` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mode` [INFO] [stdout] --> src/cpu.rs:1112:23 [INFO] [stdout] | [INFO] [stdout] 1112 | fn jsr(&mut self, mode: AddressingMode, cycle: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mode` [INFO] [stdout] --> src/cpu.rs:1133:23 [INFO] [stdout] | [INFO] [stdout] 1133 | fn lda(&mut self, mode: AddressingMode, _cycle: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mode` [INFO] [stdout] --> src/cpu.rs:1141:23 [INFO] [stdout] | [INFO] [stdout] 1141 | fn ldx(&mut self, mode: AddressingMode, _cycle: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mode` [INFO] [stdout] --> src/cpu.rs:1149:23 [INFO] [stdout] | [INFO] [stdout] 1149 | fn ldy(&mut self, mode: AddressingMode, _cycle: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hardcoded_addr` [INFO] [stdout] --> src/rom/uxrom.rs:42:21 [INFO] [stdout] | [INFO] [stdout] 42 | let hardcoded_addr = addr as usize - 0xC000 + (7 * 0x4000); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hardcoded_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAME_CODE` is never used [INFO] [stdout] --> src/main.rs:28:7 [INFO] [stdout] | [INFO] [stdout] 28 | const GAME_CODE: &[u8] = &[ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEST_CODE` is never used [INFO] [stdout] --> src/main.rs:51:7 [INFO] [stdout] | [INFO] [stdout] 51 | const TEST_CODE: &[u8] = include_bytes!("../roms/6502_functional_test.bin"); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `transform_color` is never used [INFO] [stdout] --> src/main.rs:205:4 [INFO] [stdout] | [INFO] [stdout] 205 | fn transform_color(byte: u8) -> Color { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_screen_state` is never used [INFO] [stdout] --> src/main.rs:219:4 [INFO] [stdout] | [INFO] [stdout] 219 | fn read_screen_state(cpu: &mut Cpu, frame: &mut [u8; 32 * 32 * 3]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `run_cycle` is never used [INFO] [stdout] --> src/bus.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub trait CpuBus: Bus { [INFO] [stdout] | ------ method in this trait [INFO] [stdout] ... [INFO] [stdout] 15 | fn run_cycle(&mut self) {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MEMORY_SIZE` is never used [INFO] [stdout] --> src/cpu.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const MEMORY_SIZE: usize = 0x10000; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STACK_INIT` is never used [INFO] [stdout] --> src/cpu.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const STACK_INIT: u8 = 0xFF; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `load_and_run` is never used [INFO] [stdout] --> src/cpu.rs:78:12 [INFO] [stdout] | [INFO] [stdout] 77 | impl Cpu { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 78 | pub fn load_and_run(&mut self, program: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `state_string`, `format_next_opcode`, `trace`, and `stack_push_u16` are never used [INFO] [stdout] --> src/cpu.rs:319:12 [INFO] [stdout] | [INFO] [stdout] 89 | impl Cpu { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 319 | pub fn state_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 338 | fn format_next_opcode(&self) -> (String, String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 477 | pub fn trace(&self) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 626 | fn stack_push_u16(&mut self, data: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NONE` is never used [INFO] [stdout] --> src/ppu.rs:47:15 [INFO] [stdout] | [INFO] [stdout] 47 | const NONE: Option<(usize, RangeInclusive)> = None; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `HORIZONTAL_BITS` is never used [INFO] [stdout] --> src/ppu.rs:484:11 [INFO] [stdout] | [INFO] [stdout] 483 | impl Registers { [INFO] [stdout] | -------------- associated constant in this implementation [INFO] [stdout] 484 | const HORIZONTAL_BITS: u16 = 0b0000100_00011111; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mirror_vram_addr` is never used [INFO] [stdout] --> src/ppu.rs:809:4 [INFO] [stdout] | [INFO] [stdout] 809 | fn mirror_vram_addr(addr: u16, mirroring: Mirroring) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `nametable_offset` is never used [INFO] [stdout] --> src/ppu.rs:844:8 [INFO] [stdout] | [INFO] [stdout] 835 | impl ControlRegister { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 844 | fn nametable_offset(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> src/cpu.rs:1378:5 [INFO] [stdout] | [INFO] [stdout] 1376 | #[derive(PartialEq, Eq)] [INFO] [stdout] | --------- in this derive macro expansion [INFO] [stdout] 1377 | struct Opcode { [INFO] [stdout] 1378 | instruction: fn(&mut Cpu, AddressingMode, u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `ControlFlow` that must be used [INFO] [stdout] --> src/cpu/tom_harte_cpu_tests.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | cpu.run_instruction(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 55 | let _ = cpu.run_instruction(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 11.98s [INFO] running `Command { std: "docker" "inspect" "4eac1e87912bd27f02f86879f161deca17f4af7633b6a41c591e0e6af06d3ea3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4eac1e87912bd27f02f86879f161deca17f4af7633b6a41c591e0e6af06d3ea3", kill_on_drop: false }` [INFO] [stdout] 4eac1e87912bd27f02f86879f161deca17f4af7633b6a41c591e0e6af06d3ea3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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" "RUSTDOCFLAGS=--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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 956240799be19d0f4086ca6d5ef74d4ab9a549ae48ffa313f51fcd02d42f7a16 [INFO] running `Command { std: "docker" "start" "-a" "956240799be19d0f4086ca6d5ef74d4ab9a549ae48ffa313f51fcd02d42f7a16", kill_on_drop: false }` [INFO] [stderr] warning: unused imports: `cell::RefCell` and `rc::Rc` [INFO] [stderr] --> src/cpu/tom_harte_cpu_tests.rs:1:11 [INFO] [stderr] | [INFO] [stderr] 1 | use std::{cell::RefCell, fs::File, rc::Rc}; [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `enum_map` [INFO] [stderr] --> src/cpu.rs:7:16 [INFO] [stderr] | [INFO] [stderr] 7 | use enum_map::{enum_map, EnumMap}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `array` [INFO] [stderr] --> src/ppu.rs:8:11 [INFO] [stderr] | [INFO] [stderr] 8 | use std::{array, mem, ops::RangeInclusive}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `bitflags::Flags` [INFO] [stderr] --> src/cpu.rs:1534:9 [INFO] [stderr] | [INFO] [stderr] 1534 | use bitflags::Flags; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Flags` [INFO] [stderr] --> src/ppu.rs:2:26 [INFO] [stderr] | [INFO] [stderr] 2 | use bitflags::{bitflags, Flags}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mode` [INFO] [stderr] --> src/cpu.rs:1080:23 [INFO] [stderr] | [INFO] [stderr] 1080 | fn eor(&mut self, mode: AddressingMode, _cycle: u8) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mode` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mode` [INFO] [stderr] --> src/cpu.rs:1112:23 [INFO] [stderr] | [INFO] [stderr] 1112 | fn jsr(&mut self, mode: AddressingMode, cycle: u8) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mode` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mode` [INFO] [stderr] --> src/cpu.rs:1133:23 [INFO] [stderr] | [INFO] [stderr] 1133 | fn lda(&mut self, mode: AddressingMode, _cycle: u8) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mode` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mode` [INFO] [stderr] --> src/cpu.rs:1141:23 [INFO] [stderr] | [INFO] [stderr] 1141 | fn ldx(&mut self, mode: AddressingMode, _cycle: u8) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mode` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mode` [INFO] [stderr] --> src/cpu.rs:1149:23 [INFO] [stderr] | [INFO] [stderr] 1149 | fn ldy(&mut self, mode: AddressingMode, _cycle: u8) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mode` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `hardcoded_addr` [INFO] [stderr] --> src/rom/uxrom.rs:42:21 [INFO] [stderr] | [INFO] [stderr] 42 | let hardcoded_addr = addr as usize - 0xC000 + (7 * 0x4000); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hardcoded_addr` [INFO] [stderr] [INFO] [stderr] warning: constant `GAME_CODE` is never used [INFO] [stderr] --> src/main.rs:28:7 [INFO] [stderr] | [INFO] [stderr] 28 | const GAME_CODE: &[u8] = &[ [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant `TEST_CODE` is never used [INFO] [stderr] --> src/main.rs:51:7 [INFO] [stderr] | [INFO] [stderr] 51 | const TEST_CODE: &[u8] = include_bytes!("../roms/6502_functional_test.bin"); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `transform_color` is never used [INFO] [stderr] --> src/main.rs:205:4 [INFO] [stderr] | [INFO] [stderr] 205 | fn transform_color(byte: u8) -> Color { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `read_screen_state` is never used [INFO] [stderr] --> src/main.rs:219:4 [INFO] [stderr] | [INFO] [stderr] 219 | fn read_screen_state(cpu: &mut Cpu, frame: &mut [u8; 32 * 32 * 3]) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `run_cycle` is never used [INFO] [stderr] --> src/bus.rs:15:8 [INFO] [stderr] | [INFO] [stderr] 10 | pub trait CpuBus: Bus { [INFO] [stderr] | ------ method in this trait [INFO] [stderr] ... [INFO] [stderr] 15 | fn run_cycle(&mut self) {} [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `MEMORY_SIZE` is never used [INFO] [stderr] --> src/cpu.rs:12:7 [INFO] [stderr] | [INFO] [stderr] 12 | const MEMORY_SIZE: usize = 0x10000; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `STACK_INIT` is never used [INFO] [stderr] --> src/cpu.rs:18:7 [INFO] [stderr] | [INFO] [stderr] 18 | const STACK_INIT: u8 = 0xFF; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `load_and_run` is never used [INFO] [stderr] --> src/cpu.rs:78:12 [INFO] [stderr] | [INFO] [stderr] 77 | impl Cpu { [INFO] [stderr] | ----------------- method in this implementation [INFO] [stderr] 78 | pub fn load_and_run(&mut self, program: &[u8]) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `state_string`, `format_next_opcode`, `trace`, and `stack_push_u16` are never used [INFO] [stderr] --> src/cpu.rs:319:12 [INFO] [stderr] | [INFO] [stderr] 89 | impl Cpu { [INFO] [stderr] | ---------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 319 | pub fn state_string(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 338 | fn format_next_opcode(&self) -> (String, String) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 477 | pub fn trace(&self) -> String { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 626 | fn stack_push_u16(&mut self, data: u16) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `NONE` is never used [INFO] [stderr] --> src/ppu.rs:47:15 [INFO] [stderr] | [INFO] [stderr] 47 | const NONE: Option<(usize, RangeInclusive)> = None; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated constant `HORIZONTAL_BITS` is never used [INFO] [stderr] --> src/ppu.rs:484:11 [INFO] [stderr] | [INFO] [stderr] 483 | impl Registers { [INFO] [stderr] | -------------- associated constant in this implementation [INFO] [stderr] 484 | const HORIZONTAL_BITS: u16 = 0b0000100_00011111; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `mirror_vram_addr` is never used [INFO] [stderr] --> src/ppu.rs:809:4 [INFO] [stderr] | [INFO] [stderr] 809 | fn mirror_vram_addr(addr: u16, mirroring: Mirroring) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `nametable_offset` is never used [INFO] [stderr] --> src/ppu.rs:844:8 [INFO] [stderr] | [INFO] [stderr] 835 | impl ControlRegister { [INFO] [stderr] | -------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 844 | fn nametable_offset(&self) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stderr] --> src/cpu.rs:1378:5 [INFO] [stderr] | [INFO] [stderr] 1376 | #[derive(PartialEq, Eq)] [INFO] [stderr] | --------- in this derive macro expansion [INFO] [stderr] 1377 | struct Opcode { [INFO] [stderr] 1378 | instruction: fn(&mut Cpu, AddressingMode, u8), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: the address of the same function can vary between different codegen units [INFO] [stderr] = note: furthermore, different functions could have the same address after being merged together [INFO] [stderr] = note: for more information visit [INFO] [stderr] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `ControlFlow` that must be used [INFO] [stderr] --> src/cpu/tom_harte_cpu_tests.rs:55:9 [INFO] [stderr] | [INFO] [stderr] 55 | cpu.run_instruction(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 55 | let _ = cpu.run_instruction(); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `nes_rs` (bin "nes_rs" test) generated 26 warnings (run `cargo fix --bin "nes_rs" --tests` to apply 3 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/nes_rs-9aabb676f435400d) [INFO] [stdout] [INFO] [stdout] running 63 tests [INFO] [stdout] test cpu::test::test_0x06_asl_carry has been running for over 60 seconds [INFO] [stdout] test cpu::test::test_0x08_php has been running for over 60 seconds [INFO] [stdout] test cpu::test::test_0x09_ora has been running for over 60 seconds [INFO] [stdout] test cpu::test::test_0x0a_asl_acc has been running for over 60 seconds [INFO] [stdout] test cpu::test::test_0x10_bpl has been running for over 60 seconds [INFO] [stdout] test cpu::test::test_0x18_clc has been running for over 60 seconds [INFO] [stdout] test cpu::test::test_0x20_jsr has been running for over 60 seconds [INFO] [stdout] test cpu::test::test_0x24_bit has been running for over 60 seconds [INFO] [stdout] test cpu::test::test_0x28_plp has been running for over 60 seconds [INFO] [stdout] test cpu::test::test_0x29_and has been running for over 60 seconds [INFO] [stdout] test cpu::test::test_0x2a_rol has been running for over 60 seconds [INFO] [stdout] test cpu::test::test_0x30_bmi has been running for over 60 seconds [INFO] [stdout] test cpu::test::test_0x38_sec has been running for over 60 seconds [INFO] [stdout] test cpu::test::test_0x40_rti has been running for over 60 seconds [INFO] [stdout] test cpu::test::test_0x46_lsr_carry has been running for over 60 seconds [INFO] [stdout] test cpu::test::test_0x48_pha has been running for over 60 seconds [ERROR] error running command: no output for 300 seconds [INFO] running `Command { std: "docker" "inspect" "956240799be19d0f4086ca6d5ef74d4ab9a549ae48ffa313f51fcd02d42f7a16", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "956240799be19d0f4086ca6d5ef74d4ab9a549ae48ffa313f51fcd02d42f7a16", kill_on_drop: false }` [INFO] [stdout] 956240799be19d0f4086ca6d5ef74d4ab9a549ae48ffa313f51fcd02d42f7a16