[INFO] cloning repository https://github.com/mp3/ccboy
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mp3/ccboy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmp3%2Fccboy", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmp3%2Fccboy'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 62bd405cb33aa69f00fab4ab23c306a603bffb0a
[INFO] testing mp3/ccboy against 1.93.0 for beta-1.94-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmp3%2Fccboy" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-0-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/mp3/ccboy
[INFO] finished tweaking git repo https://github.com/mp3/ccboy
[INFO] tweaked toml for git repo https://github.com/mp3/ccboy written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mp3/ccboy on toolchain 1.93.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.93.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mp3/ccboy 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" "+1.93.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded minicov v0.3.7
[INFO] [stderr]   Downloaded wasm-bindgen-test-macro v0.3.50
[INFO] [stderr]   Downloaded wasm-bindgen-test v0.3.50
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+1.93.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e516b1cd44ce8a44f810cc7cd04192fa485cbbb6478e3700f0c079a839c0e077
[INFO] running `Command { std: "docker" "start" "-a" "e516b1cd44ce8a44f810cc7cd04192fa485cbbb6478e3700f0c079a839c0e077", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e516b1cd44ce8a44f810cc7cd04192fa485cbbb6478e3700f0c079a839c0e077", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e516b1cd44ce8a44f810cc7cd04192fa485cbbb6478e3700f0c079a839c0e077", kill_on_drop: false }`
[INFO] [stdout] e516b1cd44ce8a44f810cc7cd04192fa485cbbb6478e3700f0c079a839c0e077
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+1.93.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0dd64b4397c788bc7eb3793dca868b3fb9175ec8d5199d6469af2f6d8f64c1a1
[INFO] running `Command { std: "docker" "start" "-a" "0dd64b4397c788bc7eb3793dca868b3fb9175ec8d5199d6469af2f6d8f64c1a1", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.100
[INFO] [stderr]    Compiling bumpalo v3.19.0
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling rustversion v1.0.21
[INFO] [stderr]    Compiling wasm-bindgen v0.2.100
[INFO] [stderr]    Compiling cfg-if v1.0.1
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling serde_json v1.0.141
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.100
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.100
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.100
[INFO] [stderr]    Compiling js-sys v0.3.77
[INFO] [stderr]    Compiling console_error_panic_hook v0.1.7
[INFO] [stderr]    Compiling web-sys v0.3.77
[INFO] [stderr]    Compiling ccboy v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: useless assignment of field of type `u8` to itself
[INFO] [stdout]   --> src/cpu/opcodes.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 16 |         0x7F => { cpu.registers.a = cpu.registers.a; 4 }  // LD A, A
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of field of type `u8` to itself
[INFO] [stdout]  --> src/cpu/opcodes_alu.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 |         0x40 => { cpu.registers.b = cpu.registers.b; 4 }  // LD B, B
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of field of type `u8` to itself
[INFO] [stdout]   --> src/cpu/opcodes_alu.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |         0x49 => { cpu.registers.c = cpu.registers.c; 4 }  // LD C, C
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of field of type `u8` to itself
[INFO] [stdout]   --> src/cpu/opcodes_alu.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |         0x52 => { cpu.registers.d = cpu.registers.d; 4 }  // LD D, D
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of field of type `u8` to itself
[INFO] [stdout]   --> src/cpu/opcodes_alu.rs:46:19
[INFO] [stdout]    |
[INFO] [stdout] 46 |         0x5B => { cpu.registers.e = cpu.registers.e; 4 }  // LD E, E
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of field of type `u8` to itself
[INFO] [stdout]   --> src/cpu/opcodes_alu.rs:59:19
[INFO] [stdout]    |
[INFO] [stdout] 59 |         0x64 => { cpu.registers.h = cpu.registers.h; 4 }  // LD H, H
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of field of type `u8` to itself
[INFO] [stdout]   --> src/cpu/opcodes_alu.rs:72:19
[INFO] [stdout]    |
[INFO] [stdout] 72 |         0x6D => { cpu.registers.l = cpu.registers.l; 4 }  // LD L, L
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `palette_dirty` is never read
[INFO] [stdout]   --> src/ppu/mod.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Ppu {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 41 |     palette_dirty: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Debugger` is never constructed
[INFO] [stdout]   --> src/debug.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct Debugger;
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `disassemble` is never used
[INFO] [stdout]   --> src/debug.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl Debugger {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 80 |     pub fn disassemble(memory: &Memory, address: u16) -> (String, u8) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `disassemble_cb` is never used
[INFO] [stdout]    --> src/debug.rs:285:4
[INFO] [stdout]     |
[INFO] [stdout] 285 | fn disassemble_cb(opcode: u8) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nr52` is never read
[INFO] [stdout]   --> src/apu/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct Apu {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     nr52: u8,  // Sound on/off
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 32.29s
[INFO] running `Command { std: "docker" "inspect" "0dd64b4397c788bc7eb3793dca868b3fb9175ec8d5199d6469af2f6d8f64c1a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0dd64b4397c788bc7eb3793dca868b3fb9175ec8d5199d6469af2f6d8f64c1a1", kill_on_drop: false }`
[INFO] [stdout] 0dd64b4397c788bc7eb3793dca868b3fb9175ec8d5199d6469af2f6d8f64c1a1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+1.93.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cd69ea23cef0d2ed82def67c1bc298437054dd6c84730baca7916e15d9a5e112
[INFO] running `Command { std: "docker" "start" "-a" "cd69ea23cef0d2ed82def67c1bc298437054dd6c84730baca7916e15d9a5e112", kill_on_drop: false }`
[INFO] [stderr]    Compiling wasm-bindgen-test-macro v0.3.50
[INFO] [stderr]    Compiling wasm-bindgen-futures v0.4.50
[INFO] [stdout] warning: useless assignment of field of type `u8` to itself
[INFO] [stdout]   --> src/cpu/opcodes.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 16 |         0x7F => { cpu.registers.a = cpu.registers.a; 4 }  // LD A, A
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of field of type `u8` to itself
[INFO] [stdout]  --> src/cpu/opcodes_alu.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 |         0x40 => { cpu.registers.b = cpu.registers.b; 4 }  // LD B, B
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of field of type `u8` to itself
[INFO] [stdout]   --> src/cpu/opcodes_alu.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |         0x49 => { cpu.registers.c = cpu.registers.c; 4 }  // LD C, C
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of field of type `u8` to itself
[INFO] [stdout]   --> src/cpu/opcodes_alu.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |         0x52 => { cpu.registers.d = cpu.registers.d; 4 }  // LD D, D
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of field of type `u8` to itself
[INFO] [stdout]   --> src/cpu/opcodes_alu.rs:46:19
[INFO] [stdout]    |
[INFO] [stdout] 46 |         0x5B => { cpu.registers.e = cpu.registers.e; 4 }  // LD E, E
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of field of type `u8` to itself
[INFO] [stdout]   --> src/cpu/opcodes_alu.rs:59:19
[INFO] [stdout]    |
[INFO] [stdout] 59 |         0x64 => { cpu.registers.h = cpu.registers.h; 4 }  // LD H, H
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of field of type `u8` to itself
[INFO] [stdout]   --> src/cpu/opcodes_alu.rs:72:19
[INFO] [stdout]    |
[INFO] [stdout] 72 |         0x6D => { cpu.registers.l = cpu.registers.l; 4 }  // LD L, L
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `palette_dirty` is never read
[INFO] [stdout]   --> src/ppu/mod.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Ppu {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 41 |     palette_dirty: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Debugger` is never constructed
[INFO] [stdout]   --> src/debug.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct Debugger;
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `disassemble` is never used
[INFO] [stdout]   --> src/debug.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl Debugger {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 80 |     pub fn disassemble(memory: &Memory, address: u16) -> (String, u8) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `disassemble_cb` is never used
[INFO] [stdout]    --> src/debug.rs:285:4
[INFO] [stdout]     |
[INFO] [stdout] 285 | fn disassemble_cb(opcode: u8) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nr52` is never read
[INFO] [stdout]   --> src/apu/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct Apu {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     nr52: u8,  // Sound on/off
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wasm-bindgen-test v0.3.50
[INFO] [stderr]    Compiling ccboy v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `if_reg`
[INFO] [stdout]    --> tests/ppu_tests.rs:297:13
[INFO] [stdout]     |
[INFO] [stdout] 297 |         let if_reg = emu.read_memory(0xFF0F);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_if_reg`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `initial_ly`
[INFO] [stdout]    --> tests/memory_tests.rs:176:13
[INFO] [stdout]     |
[INFO] [stdout] 176 |         let initial_ly = emu.read_memory(0xFF44);
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_ly`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pc_before`
[INFO] [stdout]    --> tests/cpu_tests.rs:480:13
[INFO] [stdout]     |
[INFO] [stdout] 480 |         let pc_before = emu.get_cpu_state().pc;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pc_before`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of field of type `u8` to itself
[INFO] [stdout]   --> src/cpu/opcodes.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 16 |         0x7F => { cpu.registers.a = cpu.registers.a; 4 }  // LD A, A
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of field of type `u8` to itself
[INFO] [stdout]  --> src/cpu/opcodes_alu.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 |         0x40 => { cpu.registers.b = cpu.registers.b; 4 }  // LD B, B
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of field of type `u8` to itself
[INFO] [stdout]   --> src/cpu/opcodes_alu.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |         0x49 => { cpu.registers.c = cpu.registers.c; 4 }  // LD C, C
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of field of type `u8` to itself
[INFO] [stdout]   --> src/cpu/opcodes_alu.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |         0x52 => { cpu.registers.d = cpu.registers.d; 4 }  // LD D, D
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of field of type `u8` to itself
[INFO] [stdout]   --> src/cpu/opcodes_alu.rs:46:19
[INFO] [stdout]    |
[INFO] [stdout] 46 |         0x5B => { cpu.registers.e = cpu.registers.e; 4 }  // LD E, E
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of field of type `u8` to itself
[INFO] [stdout]   --> src/cpu/opcodes_alu.rs:59:19
[INFO] [stdout]    |
[INFO] [stdout] 59 |         0x64 => { cpu.registers.h = cpu.registers.h; 4 }  // LD H, H
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: useless assignment of field of type `u8` to itself
[INFO] [stdout]   --> src/cpu/opcodes_alu.rs:72:19
[INFO] [stdout]    |
[INFO] [stdout] 72 |         0x6D => { cpu.registers.l = cpu.registers.l; 4 }  // LD L, L
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `palette_dirty` is never read
[INFO] [stdout]   --> src/ppu/mod.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Ppu {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 41 |     palette_dirty: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Debugger` is never constructed
[INFO] [stdout]   --> src/debug.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct Debugger;
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `disassemble` is never used
[INFO] [stdout]   --> src/debug.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | impl Debugger {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 80 |     pub fn disassemble(memory: &Memory, address: u16) -> (String, u8) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `disassemble_cb` is never used
[INFO] [stdout]    --> src/debug.rs:285:4
[INFO] [stdout]     |
[INFO] [stdout] 285 | fn disassemble_cb(opcode: u8) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nr52` is never read
[INFO] [stdout]   --> src/apu/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct Apu {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     nr52: u8,  // Sound on/off
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.46s
[INFO] running `Command { std: "docker" "inspect" "cd69ea23cef0d2ed82def67c1bc298437054dd6c84730baca7916e15d9a5e112", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cd69ea23cef0d2ed82def67c1bc298437054dd6c84730baca7916e15d9a5e112", kill_on_drop: false }`
[INFO] [stdout] cd69ea23cef0d2ed82def67c1bc298437054dd6c84730baca7916e15d9a5e112
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+1.93.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ee3035e28d81df4d376c7eeb147ba2e5a43daf4565c6db952b25172e41a15348
[INFO] running `Command { std: "docker" "start" "-a" "ee3035e28d81df4d376c7eeb147ba2e5a43daf4565c6db952b25172e41a15348", kill_on_drop: false }`
[INFO] [stderr] warning: useless assignment of field of type `u8` to itself
[INFO] [stderr]   --> src/cpu/opcodes.rs:16:19
[INFO] [stderr]    |
[INFO] [stderr] 16 |         0x7F => { cpu.registers.a = cpu.registers.a; 4 }  // LD A, A
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: useless assignment of field of type `u8` to itself
[INFO] [stderr]  --> src/cpu/opcodes_alu.rs:7:19
[INFO] [stderr]   |
[INFO] [stderr] 7 |         0x40 => { cpu.registers.b = cpu.registers.b; 4 }  // LD B, B
[INFO] [stderr]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: useless assignment of field of type `u8` to itself
[INFO] [stderr]   --> src/cpu/opcodes_alu.rs:20:19
[INFO] [stderr]    |
[INFO] [stderr] 20 |         0x49 => { cpu.registers.c = cpu.registers.c; 4 }  // LD C, C
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: useless assignment of field of type `u8` to itself
[INFO] [stderr]   --> src/cpu/opcodes_alu.rs:33:19
[INFO] [stderr]    |
[INFO] [stderr] 33 |         0x52 => { cpu.registers.d = cpu.registers.d; 4 }  // LD D, D
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: useless assignment of field of type `u8` to itself
[INFO] [stderr]   --> src/cpu/opcodes_alu.rs:46:19
[INFO] [stderr]    |
[INFO] [stderr] 46 |         0x5B => { cpu.registers.e = cpu.registers.e; 4 }  // LD E, E
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: useless assignment of field of type `u8` to itself
[INFO] [stderr]   --> src/cpu/opcodes_alu.rs:59:19
[INFO] [stderr]    |
[INFO] [stderr] 59 |         0x64 => { cpu.registers.h = cpu.registers.h; 4 }  // LD H, H
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: useless assignment of field of type `u8` to itself
[INFO] [stderr]   --> src/cpu/opcodes_alu.rs:72:19
[INFO] [stderr]    |
[INFO] [stderr] 72 |         0x6D => { cpu.registers.l = cpu.registers.l; 4 }  // LD L, L
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `palette_dirty` is never read
[INFO] [stderr]   --> src/ppu/mod.rs:41:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub struct Ppu {
[INFO] [stderr]    |            --- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 41 |     palette_dirty: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Debugger` is never constructed
[INFO] [stderr]   --> src/debug.rs:77:12
[INFO] [stderr]    |
[INFO] [stderr] 77 | pub struct Debugger;
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `disassemble` is never used
[INFO] [stderr]   --> src/debug.rs:80:12
[INFO] [stderr]    |
[INFO] [stderr] 79 | impl Debugger {
[INFO] [stderr]    | ------------- associated function in this implementation
[INFO] [stderr] 80 |     pub fn disassemble(memory: &Memory, address: u16) -> (String, u8) {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `disassemble_cb` is never used
[INFO] [stderr]    --> src/debug.rs:285:4
[INFO] [stderr]     |
[INFO] [stderr] 285 | fn disassemble_cb(opcode: u8) -> String {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `nr52` is never read
[INFO] [stderr]   --> src/apu/mod.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr]  6 | pub struct Apu {
[INFO] [stderr]    |            --- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 15 |     nr52: u8,  // Sound on/off
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `ccboy` (lib) generated 12 warnings
[INFO] [stderr] warning: unused variable: `initial_ly`
[INFO] [stderr]    --> tests/memory_tests.rs:176:13
[INFO] [stderr]     |
[INFO] [stderr] 176 |         let initial_ly = emu.read_memory(0xFF44);
[INFO] [stderr]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_ly`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pc_before`
[INFO] [stderr]    --> tests/cpu_tests.rs:480:13
[INFO] [stderr]     |
[INFO] [stderr] 480 |         let pc_before = emu.get_cpu_state().pc;
[INFO] [stderr]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pc_before`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `if_reg`
[INFO] [stderr]    --> tests/ppu_tests.rs:297:13
[INFO] [stderr]     |
[INFO] [stderr] 297 |         let if_reg = emu.read_memory(0xFF0F);
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_if_reg`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `ccboy` (test "memory_tests") generated 1 warning (run `cargo fix --test "memory_tests" -p ccboy` to apply 1 suggestion)
[INFO] [stderr] warning: `ccboy` (test "cpu_tests") generated 1 warning (run `cargo fix --test "cpu_tests" -p ccboy` to apply 1 suggestion)
[INFO] [stderr] warning: `ccboy` (lib test) generated 12 warnings (12 duplicates)
[INFO] [stderr] warning: `ccboy` (test "ppu_tests") generated 1 warning (run `cargo fix --test "ppu_tests" -p ccboy` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ccboy-62aee0c55921febb)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ccboy-b0ea6ea7fe84e1a3)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cpu_tests.rs (/opt/rustwide/target/debug/deps/cpu_tests-c5ef0e3126e95921)
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test cpu_tests::test_add_instruction ... ok
[INFO] [stdout] test cpu_tests::test_16bit_inc_dec ... ok
[INFO] [stdout] test cpu_tests::test_and_or_xor ... ok
[INFO] [stdout] test cpu_tests::test_cb_bit_operations ... ok
[INFO] [stdout] test cpu_tests::test_call_ret ... ok
[INFO] [stdout] test cpu_tests::test_cp_instruction ... ok
[INFO] [stdout] test cpu_tests::test_conditional_jumps ... ok
[INFO] [stdout] test cpu_tests::test_add_with_carry ... ok
[INFO] [stdout] test cpu_tests::test_halt_instruction ... ok
[INFO] [stdout] test cpu_tests::test_inc_dec ... ok
[INFO] [stdout] test cpu_tests::test_interrupts ... ok
[INFO] [stdout] test cpu_tests::test_jp_instruction ... ok
[INFO] [stdout] test cpu_tests::test_ld_immediate ... ok
[INFO] [stdout] test cpu_tests::test_memory_operations ... ok
[INFO] [stdout] test cpu_tests::test_nop_instruction ... ok
[INFO] [stdout] test cpu_tests::test_ld_register_to_register ... ok
[INFO] [stdout] test cpu_tests::test_push_pop ... ok
[INFO] [stdout] test cpu_tests::test_jr_instruction ... ok
[INFO] [stdout] test cpu_tests::test_rotate_operations ... ok
[INFO] [stdout] test cpu_tests::test_sub_instruction ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_tests.rs (/opt/rustwide/target/debug/deps/integration_tests-a4c7b84a01219d1c)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test integration_tests::test_16bit_arithmetic ... ok
[INFO] [stdout] test integration_tests::test_indirect_memory_access ... ok
[INFO] [stdout] test integration_tests::test_conditional_execution ... ok
[INFO] [stdout] test integration_tests::test_arithmetic_operations ... ok
[INFO] [stdout] test integration_tests::test_interrupt_handling ... ok
[INFO] [stdout] test integration_tests::test_boot_rom_execution ... ok
[INFO] [stdout] test integration_tests::test_stack_operations ... ok
[INFO] [stdout] test integration_tests::test_timer_operation ... ok
[INFO] [stdout] test integration_tests::test_bit_operations ... ok
[INFO] [stdout] test integration_tests::test_simple_program_execution ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running tests/memory_tests.rs (/opt/rustwide/target/debug/deps/memory_tests-c1451022710b7e08)
[INFO] [stdout] running 14 tests
[INFO] [stdout] test memory_tests::test_boot_rom_mapping ... ok
[INFO] [stdout] test memory_tests::test_cartridge_ram ... ok
[INFO] [stdout] test memory_tests::test_io_register_mirroring ... ok
[INFO] [stdout] test memory_tests::test_joypad_register ... ok
[INFO] [stdout] test memory_tests::test_echo_ram ... ok
[INFO] [stdout] test memory_tests::test_memory_regions ... ok
[INFO] [stdout] test memory_tests::test_prohibited_area ... ok
[INFO] [stderr]      Running tests/ppu_tests.rs (/opt/rustwide/target/debug/deps/ppu_tests-b2a78ce112135e23)
[INFO] [stdout] test memory_tests::test_wave_ram ... ok
[INFO] [stdout] test memory_tests::test_dma_transfer ... ok
[INFO] [stdout] test memory_tests::test_timer_registers ... ok
[INFO] [stdout] test memory_tests::test_apu_registers ... ok
[INFO] [stdout] test memory_tests::test_vram_access ... ok
[INFO] [stdout] test memory_tests::test_interrupt_registers ... ok
[INFO] [stdout] test memory_tests::test_rom_banking ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test ppu_tests::test_oam_sprites ... ok
[INFO] [stdout] test ppu_tests::test_lyc_register ... ok
[INFO] [stdout] test ppu_tests::test_stat_interrupts ... ok
[INFO] [stdout] test ppu_tests::test_stat_register ... ok
[INFO] [stdout] test ppu_tests::test_tile_map ... ok
[INFO] [stdout] test ppu_tests::test_lcdc_register ... ok
[INFO] [stdout] test ppu_tests::test_scroll_registers ... ok
[INFO] [stdout] test ppu_tests::test_palette_registers ... ok
[INFO] [stdout] test ppu_tests::test_vram_tile_data ... ok
[INFO] [stdout] test ppu_tests::test_ly_register ... ok
[INFO] [stdout] test ppu_tests::test_vblank_interrupt ... ok
[INFO] [stdout] test ppu_tests::test_screen_buffer ... ok
[INFO] [stdout] test ppu_tests::test_sprite_priority ... ok
[INFO] [stdout] test ppu_tests::test_window_rendering ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/save_state_test.rs (/opt/rustwide/target/debug/deps/save_state_test-6136707632feb1d0)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr] panicked at tests/save_state_test.rs:35:9:
[INFO] [stderr] assertion `left == right` failed
[INFO] [stderr]   left: 255
[INFO] [stderr]  right: 66
[INFO] [stderr] error: test failed, to rerun pass `--test save_state_test`
[INFO] [stdout] test save_state_tests::test_save_data ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     save_state_tests::test_save_data
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "ee3035e28d81df4d376c7eeb147ba2e5a43daf4565c6db952b25172e41a15348", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ee3035e28d81df4d376c7eeb147ba2e5a43daf4565c6db952b25172e41a15348", kill_on_drop: false }`
[INFO] [stdout] ee3035e28d81df4d376c7eeb147ba2e5a43daf4565c6db952b25172e41a15348
