[INFO] cloning repository https://github.com/spenc53/rust-gb
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/spenc53/rust-gb" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fspenc53%2Frust-gb", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fspenc53%2Frust-gb'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ae1aab11b1c372baf25e515672ec247783137fd1
[INFO] checking spenc53/rust-gb against try#987a165cfab916796a8315782b83ac460a651ce2 for pr-145262
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fspenc53%2Frust-gb" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/spenc53/rust-gb
[INFO] finished tweaking git repo https://github.com/spenc53/rust-gb
[INFO] tweaked toml for git repo https://github.com/spenc53/rust-gb written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/spenc53/rust-gb on toolchain 987a165cfab916796a8315782b83ac460a651ce2
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+987a165cfab916796a8315782b83ac460a651ce2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/spenc53/rust-gb 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" "+987a165cfab916796a8315782b83ac460a651ce2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking spenc53/rust-gb against try#987a165cfab916796a8315782b83ac460a651ce2 for pr-145262
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fspenc53%2Frust-gb" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/spenc53/rust-gb
[INFO] finished tweaking git repo https://github.com/spenc53/rust-gb
[INFO] tweaked toml for git repo https://github.com/spenc53/rust-gb written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/spenc53/rust-gb on toolchain 987a165cfab916796a8315782b83ac460a651ce2
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+987a165cfab916796a8315782b83ac460a651ce2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/spenc53/rust-gb 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" "+987a165cfab916796a8315782b83ac460a651ce2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded minifb v0.13.0
[INFO] [stderr]   Downloaded orbclient v0.3.27
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+987a165cfab916796a8315782b83ac460a651ce2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b1b05c2fb542322e4190fe15a263675dbbd8a2038ec091b5a135de30ce580682
[INFO] running `Command { std: "docker" "start" "-a" "b1b05c2fb542322e4190fe15a263675dbbd8a2038ec091b5a135de30ce580682", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b1b05c2fb542322e4190fe15a263675dbbd8a2038ec091b5a135de30ce580682", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b1b05c2fb542322e4190fe15a263675dbbd8a2038ec091b5a135de30ce580682", kill_on_drop: false }`
[INFO] [stdout] b1b05c2fb542322e4190fe15a263675dbbd8a2038ec091b5a135de30ce580682
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+987a165cfab916796a8315782b83ac460a651ce2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 40519bbdd00a61229e2716254dc09835a4730bb1e2518927d1bff168ff72dc86
[INFO] running `Command { std: "docker" "start" "-a" "40519bbdd00a61229e2716254dc09835a4730bb1e2518927d1bff168ff72dc86", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.64
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling pkg-config v0.3.16
[INFO] [stderr]    Compiling cc v1.0.45
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking cast v0.2.2
[INFO] [stderr]    Compiling x11-dl v2.18.4
[INFO] [stderr]    Compiling minifb v0.13.0
[INFO] [stderr]     Checking time v0.1.42
[INFO] [stderr]     Checking gameboy_rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: expected `,` following `match` arm
[INFO] [stdout]   --> src/instruction.rs:31:32
[INFO] [stdout]    |
[INFO] [stdout] 31 |             0x02 => Instruction
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout] help: missing a comma here to end this `match` arm
[INFO] [stdout]    |
[INFO] [stdout] 31 |             0x02 => Instruction,
[INFO] [stdout]    |                                +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected `,` following `match` arm
[INFO] [stdout]   --> src/instruction.rs:31:32
[INFO] [stdout]    |
[INFO] [stdout] 31 |             0x02 => Instruction
[INFO] [stdout]    |                                ^
[INFO] [stdout]    |
[INFO] [stdout] help: missing a comma here to end this `match` arm
[INFO] [stdout]    |
[INFO] [stdout] 31 |             0x02 => Instruction,
[INFO] [stdout]    |                                +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected `,` following `match` arm
[INFO] [stdout]   --> src/instruction.rs:33:37
[INFO] [stdout]    |
[INFO] [stdout] 33 |             0x03 => Instruction::INC
[INFO] [stdout]    |                                     ^
[INFO] [stdout]    |
[INFO] [stdout] help: missing a comma here to end this `match` arm
[INFO] [stdout]    |
[INFO] [stdout] 33 |             0x03 => Instruction::INC,
[INFO] [stdout]    |                                     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected value, found enum `Instruction`
[INFO] [stdout]   --> src/instruction.rs:31:21
[INFO] [stdout]    |
[INFO] [stdout] 31 |             0x02 => Instruction
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the enum is defined here
[INFO] [stdout]   --> src/instruction.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout]  2 | / pub enum Instruction {
[INFO] [stdout]  3 | |     ADD(ArithmeticTarget),
[INFO] [stdout]  4 | |     INC(IncDecTarget),
[INFO] [stdout]  5 | |     DEC(IncDecTarget),
[INFO] [stdout] ...  |
[INFO] [stdout]  8 | |     NOOP()
[INFO] [stdout]  9 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] help: you might have meant to use the following enum variant
[INFO] [stdout]    |
[INFO] [stdout] 31 -             0x02 => Instruction
[INFO] [stdout] 31 +             0x02 => (instruction::Instruction::NOOP())
[INFO] [stdout]    |
[INFO] [stdout] help: alternatively, the following enum variants are also available
[INFO] [stdout]    |
[INFO] [stdout] 31 -             0x02 => Instruction
[INFO] [stdout] 31 +             0x02 => (instruction::Instruction::ADD(/* fields */))
[INFO] [stdout]    |
[INFO] [stdout] 31 -             0x02 => Instruction
[INFO] [stdout] 31 +             0x02 => (instruction::Instruction::DEC(/* fields */))
[INFO] [stdout]    |
[INFO] [stdout] 31 -             0x02 => Instruction
[INFO] [stdout] 31 +             0x02 => (instruction::Instruction::INC(/* fields */))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/memory_bus.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 |         if (address >= constants::VIDEO_RAM_BEGIN && address < constants::VIDEO_RAM_END) {
[INFO] [stdout]    |            ^                                                                           ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 11 -         if (address >= constants::VIDEO_RAM_BEGIN && address < constants::VIDEO_RAM_END) {
[INFO] [stdout] 11 +         if address >= constants::VIDEO_RAM_BEGIN && address < constants::VIDEO_RAM_END {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::constants`
[INFO] [stdout]  --> src/gpu.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::constants;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected `,` following `match` arm
[INFO] [stdout]   --> src/instruction.rs:33:37
[INFO] [stdout]    |
[INFO] [stdout] 33 |             0x03 => Instruction::INC
[INFO] [stdout]    |                                     ^
[INFO] [stdout]    |
[INFO] [stdout] help: missing a comma here to end this `match` arm
[INFO] [stdout]    |
[INFO] [stdout] 33 |             0x03 => Instruction::INC,
[INFO] [stdout]    |                                     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected value, found enum `Instruction`
[INFO] [stdout]   --> src/instruction.rs:31:21
[INFO] [stdout]    |
[INFO] [stdout] 31 |             0x02 => Instruction
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the enum is defined here
[INFO] [stdout]   --> src/instruction.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout]  2 | / pub enum Instruction {
[INFO] [stdout]  3 | |     ADD(ArithmeticTarget),
[INFO] [stdout]  4 | |     INC(IncDecTarget),
[INFO] [stdout]  5 | |     DEC(IncDecTarget),
[INFO] [stdout] ...  |
[INFO] [stdout]  8 | |     NOOP()
[INFO] [stdout]  9 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] help: you might have meant to use the following enum variant
[INFO] [stdout]    |
[INFO] [stdout] 31 -             0x02 => Instruction
[INFO] [stdout] 31 +             0x02 => (instruction::Instruction::NOOP())
[INFO] [stdout]    |
[INFO] [stdout] help: alternatively, the following enum variants are also available
[INFO] [stdout]    |
[INFO] [stdout] 31 -             0x02 => Instruction
[INFO] [stdout] 31 +             0x02 => (instruction::Instruction::ADD(/* fields */))
[INFO] [stdout]    |
[INFO] [stdout] 31 -             0x02 => Instruction
[INFO] [stdout] 31 +             0x02 => (instruction::Instruction::DEC(/* fields */))
[INFO] [stdout]    |
[INFO] [stdout] 31 -             0x02 => Instruction
[INFO] [stdout] 31 +             0x02 => (instruction::Instruction::INC(/* fields */))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/memory_bus.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 |         if (address >= constants::VIDEO_RAM_BEGIN && address < constants::VIDEO_RAM_END) {
[INFO] [stdout]    |            ^                                                                           ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 11 -         if (address >= constants::VIDEO_RAM_BEGIN && address < constants::VIDEO_RAM_END) {
[INFO] [stdout] 11 +         if address >= constants::VIDEO_RAM_BEGIN && address < constants::VIDEO_RAM_END {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::constants`
[INFO] [stdout]  --> src/gpu.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::constants;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/cpu.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut byte = self.bus.read_byte(self.pc);
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0004]: non-exhaustive patterns: `Instruction::DEC(_)` and `Instruction::NOOP` not covered
[INFO] [stdout]   --> src/cpu.rs:31:15
[INFO] [stdout]    |
[INFO] [stdout] 31 |         match instruction {
[INFO] [stdout]    |               ^^^^^^^^^^^ patterns `Instruction::DEC(_)` and `Instruction::NOOP` not covered
[INFO] [stdout]    |
[INFO] [stdout] note: `Instruction` defined here
[INFO] [stdout]   --> src/instruction.rs:2:10
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub enum Instruction {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  5 |     DEC(IncDecTarget),
[INFO] [stdout]    |     --- not covered
[INFO] [stdout] ...
[INFO] [stdout]  8 |     NOOP()
[INFO] [stdout]    |     ---- not covered
[INFO] [stdout]    = note: the matched value is of type `Instruction`
[INFO] [stdout] help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern, a match arm with multiple or-patterns as shown, or multiple match arms
[INFO] [stdout]    |
[INFO] [stdout] 42 ~             },
[INFO] [stdout] 43 +             Instruction::DEC(_) | Instruction::NOOP => todo!()
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]   --> src/gpu.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn read_byte(&self, address: u16) -> u8 {
[INFO] [stdout]    |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/cpu.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut byte = self.bus.read_byte(self.pc);
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0004]: non-exhaustive patterns: `Instruction::DEC(_)` and `Instruction::NOOP` not covered
[INFO] [stdout]   --> src/cpu.rs:31:15
[INFO] [stdout]    |
[INFO] [stdout] 31 |         match instruction {
[INFO] [stdout]    |               ^^^^^^^^^^^ patterns `Instruction::DEC(_)` and `Instruction::NOOP` not covered
[INFO] [stdout]    |
[INFO] [stdout] note: `Instruction` defined here
[INFO] [stdout]   --> src/instruction.rs:2:10
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub enum Instruction {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  5 |     DEC(IncDecTarget),
[INFO] [stdout]    |     --- not covered
[INFO] [stdout] ...
[INFO] [stdout]  8 |     NOOP()
[INFO] [stdout]    |     ---- not covered
[INFO] [stdout]    = note: the matched value is of type `Instruction`
[INFO] [stdout] help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern, a match arm with multiple or-patterns as shown, or multiple match arms
[INFO] [stdout]    |
[INFO] [stdout] 42 ~             },
[INFO] [stdout] 43 +             Instruction::DEC(_) | Instruction::NOOP => todo!()
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]   --> src/gpu.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn read_byte(&self, address: u16) -> u8 {
[INFO] [stdout]    |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0004, E0423.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0004, E0423.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0004`.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0004`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `gameboy_rust` (bin "gameboy_rust" test) due to 4 previous errors; 4 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `gameboy_rust` (bin "gameboy_rust") due to 4 previous errors; 4 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "40519bbdd00a61229e2716254dc09835a4730bb1e2518927d1bff168ff72dc86", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "40519bbdd00a61229e2716254dc09835a4730bb1e2518927d1bff168ff72dc86", kill_on_drop: false }`
[INFO] [stdout] 40519bbdd00a61229e2716254dc09835a4730bb1e2518927d1bff168ff72dc86
