[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 try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmp3%2Fccboy" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-7-tc2/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-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mp3/ccboy on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "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" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8184017f845216e4e1125b5c340b5ee4806b0b18f54ff40dabc9a212422e4883
[INFO] running `Command { std: "docker" "start" "-a" "8184017f845216e4e1125b5c340b5ee4806b0b18f54ff40dabc9a212422e4883", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8184017f845216e4e1125b5c340b5ee4806b0b18f54ff40dabc9a212422e4883", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8184017f845216e4e1125b5c340b5ee4806b0b18f54ff40dabc9a212422e4883", kill_on_drop: false }`
[INFO] [stdout] 8184017f845216e4e1125b5c340b5ee4806b0b18f54ff40dabc9a212422e4883
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 551dfe3bcd24d8bc434692e9431259ffe03cd3342a85d447afbfa5b1f1b069a4
[INFO] running `Command { std: "docker" "start" "-a" "551dfe3bcd24d8bc434692e9431259ffe03cd3342a85d447afbfa5b1f1b069a4", 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 log v0.4.27
[INFO] [stderr]    Compiling bumpalo v3.19.0
[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 25.96s
[INFO] running `Command { std: "docker" "inspect" "551dfe3bcd24d8bc434692e9431259ffe03cd3342a85d447afbfa5b1f1b069a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "551dfe3bcd24d8bc434692e9431259ffe03cd3342a85d447afbfa5b1f1b069a4", kill_on_drop: false }`
[INFO] [stdout] 551dfe3bcd24d8bc434692e9431259ffe03cd3342a85d447afbfa5b1f1b069a4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a279c4e1f523ffb581fb05ea24e5d3df18719ca2813a7227f8854fab40bf779c
[INFO] running `Command { std: "docker" "start" "-a" "a279c4e1f523ffb581fb05ea24e5d3df18719ca2813a7227f8854fab40bf779c", 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: `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: 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: `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: 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 2.74s
[INFO] running `Command { std: "docker" "inspect" "a279c4e1f523ffb581fb05ea24e5d3df18719ca2813a7227f8854fab40bf779c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a279c4e1f523ffb581fb05ea24e5d3df18719ca2813a7227f8854fab40bf779c", kill_on_drop: false }`
[INFO] [stdout] a279c4e1f523ffb581fb05ea24e5d3df18719ca2813a7227f8854fab40bf779c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 4807df0c470fe0803c885e6c6f2eb7c235f37f9e3e54d887c1b2c7d7bb5dc689
[INFO] running `Command { std: "docker" "start" "-a" "4807df0c470fe0803c885e6c6f2eb7c235f37f9e3e54d887c1b2c7d7bb5dc689", 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: `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: `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: `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 "cpu_tests") generated 1 warning (run `cargo fix --test "cpu_tests" -p ccboy` to apply 1 suggestion)
[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 "ppu_tests") generated 1 warning (run `cargo fix --test "ppu_tests" -p ccboy` to apply 1 suggestion)
[INFO] [stderr] warning: `ccboy` (lib test) generated 12 warnings (12 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ccboy-9f77902c97cc24fa)
[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-f09988407d390e70)
[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 tests/cpu_tests.rs (/opt/rustwide/target/debug/deps/cpu_tests-9da757e8784e0594)
[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_add_with_carry ... ok
[INFO] [stdout] test cpu_tests::test_conditional_jumps ... ok
[INFO] [stdout] test cpu_tests::test_cb_bit_operations ... ok
[INFO] [stdout] test cpu_tests::test_cp_instruction ... ok
[INFO] [stdout] test cpu_tests::test_inc_dec ... ok
[INFO] [stdout] test cpu_tests::test_halt_instruction ... ok
[INFO] [stdout] test cpu_tests::test_interrupts ... ok
[INFO] [stdout] test cpu_tests::test_jp_instruction ... ok
[INFO] [stdout] test cpu_tests::test_jr_instruction ... ok
[INFO] [stdout] test cpu_tests::test_call_ret ... ok
[INFO] [stdout] test cpu_tests::test_memory_operations ... ok
[INFO] [stdout] test cpu_tests::test_rotate_operations ... 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_nop_instruction ... ok
[INFO] [stdout] test cpu_tests::test_ld_immediate ... ok
[INFO] [stdout] test cpu_tests::test_and_or_xor ... 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.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_tests.rs (/opt/rustwide/target/debug/deps/integration_tests-a5b997bacdbe3543)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test integration_tests::test_16bit_arithmetic ... ok
[INFO] [stdout] test integration_tests::test_bit_operations ... ok
[INFO] [stdout] test integration_tests::test_boot_rom_execution ... ok
[INFO] [stdout] test integration_tests::test_conditional_execution ... ok
[INFO] [stdout] test integration_tests::test_indirect_memory_access ... ok
[INFO] [stdout] test integration_tests::test_simple_program_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_stack_operations ... ok
[INFO] [stdout] test integration_tests::test_timer_operation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/memory_tests.rs (/opt/rustwide/target/debug/deps/memory_tests-2f9d48604d8e6c41)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test memory_tests::test_apu_registers ... ok
[INFO] [stdout] test memory_tests::test_boot_rom_mapping ... ok
[INFO] [stdout] test memory_tests::test_echo_ram ... ok
[INFO] [stdout] test memory_tests::test_io_register_mirroring ... ok
[INFO] [stdout] test memory_tests::test_prohibited_area ... ok
[INFO] [stdout] test memory_tests::test_interrupt_registers ... ok
[INFO] [stdout] test memory_tests::test_joypad_register ... ok
[INFO] [stdout] test memory_tests::test_memory_regions ... ok
[INFO] [stdout] test memory_tests::test_timer_registers ... ok
[INFO] [stdout] test memory_tests::test_rom_banking ... ok
[INFO] [stdout] test memory_tests::test_dma_transfer ... ok
[INFO] [stdout] test memory_tests::test_wave_ram ... ok
[INFO] [stdout] test memory_tests::test_vram_access ... ok
[INFO] [stdout] test memory_tests::test_cartridge_ram ... 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] [stderr]      Running tests/ppu_tests.rs (/opt/rustwide/target/debug/deps/ppu_tests-51af2d9c32cfffa2)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test ppu_tests::test_lcdc_register ... ok
[INFO] [stdout] test ppu_tests::test_palette_registers ... ok
[INFO] [stdout] test ppu_tests::test_lyc_register ... ok
[INFO] [stdout] test ppu_tests::test_stat_register ... ok
[INFO] [stdout] test ppu_tests::test_stat_interrupts ... ok
[INFO] [stdout] test ppu_tests::test_scroll_registers ... ok
[INFO] [stdout] test ppu_tests::test_tile_map ... ok
[INFO] [stdout] test ppu_tests::test_vram_tile_data ... ok
[INFO] [stdout] test ppu_tests::test_oam_sprites ... ok
[INFO] [stdout] test ppu_tests::test_vblank_interrupt ... ok
[INFO] [stdout] test ppu_tests::test_ly_register ... 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.11s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/save_state_test.rs (/opt/rustwide/target/debug/deps/save_state_test-4e7a600ecca62aa5)
[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] [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] [stderr] error: test failed, to rerun pass `--test save_state_test`
[INFO] running `Command { std: "docker" "inspect" "4807df0c470fe0803c885e6c6f2eb7c235f37f9e3e54d887c1b2c7d7bb5dc689", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4807df0c470fe0803c885e6c6f2eb7c235f37f9e3e54d887c1b2c7d7bb5dc689", kill_on_drop: false }`
[INFO] [stdout] 4807df0c470fe0803c885e6c6f2eb7c235f37f9e3e54d887c1b2c7d7bb5dc689
