[INFO] cloning repository https://github.com/quirinux/rust-gboy
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/quirinux/rust-gboy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fquirinux%2Frust-gboy", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fquirinux%2Frust-gboy'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 929efa98157ea63f0c307053af1334cd1122dfb0
[INFO] checking quirinux/rust-gboy against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fquirinux%2Frust-gboy" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/quirinux/rust-gboy
[INFO] finished tweaking git repo https://github.com/quirinux/rust-gboy
[INFO] tweaked toml for git repo https://github.com/quirinux/rust-gboy written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/quirinux/rust-gboy on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/quirinux/rust-gboy 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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded redox_termios v0.1.1
[INFO] [stderr]   Downloaded numtoa v0.1.0
[INFO] [stderr]   Downloaded either v1.5.3
[INFO] [stderr]   Downloaded rand_xorshift v0.1.1
[INFO] [stderr]   Downloaded termion v1.5.3
[INFO] [stderr]   Downloaded quick-error v1.2.2
[INFO] [stderr]   Downloaded rand_isaac v0.1.1
[INFO] [stderr]   Downloaded rand_pcg v0.1.2
[INFO] [stderr]   Downloaded humantime v1.2.0
[INFO] [stderr]   Downloaded memchr v2.2.1
[INFO] [stderr]   Downloaded heck v0.3.1
[INFO] [stderr]   Downloaded tui v0.5.1
[INFO] [stderr]   Downloaded rand_jitter v0.1.4
[INFO] [stderr]   Downloaded rand v0.6.5
[INFO] [stderr]   Downloaded sdl2 v0.32.2
[INFO] [stderr]   Downloaded structopt v0.2.18
[INFO] [stderr]   Downloaded unicode-segmentation v1.3.0
[INFO] [stderr]   Downloaded env_logger v0.6.2
[INFO] [stderr]   Downloaded clap v2.33.0
[INFO] [stderr]   Downloaded rand_os v0.1.3
[INFO] [stderr]   Downloaded regex v1.2.1
[INFO] [stderr]   Downloaded rand_core v0.4.2
[INFO] [stderr]   Downloaded regex-syntax v0.6.11
[INFO] [stderr]   Downloaded structopt-derive v0.2.18
[INFO] [stderr]   Downloaded libc v0.2.62
[INFO] [stderr]   Downloaded cassowary v0.3.0
[INFO] [stderr]   Downloaded thread_local v0.3.6
[INFO] [stderr]   Downloaded winapi-util v0.1.2
[INFO] [stderr]   Downloaded sdl2-sys v0.32.6
[INFO] [stderr]   Downloaded wincolor v1.0.2
[INFO] [stderr]   Downloaded termcolor v1.0.5
[INFO] [stderr]   Downloaded c_vec v1.3.3
[INFO] [stderr]   Downloaded num v0.1.42
[INFO] [stderr]   Downloaded rand_chacha v0.1.1
[INFO] [stderr]   Downloaded rand_hc v0.1.0
[INFO] [stderr]   Downloaded fuchsia-cprng v0.1.1
[INFO] [stderr]   Downloaded rdrand v0.4.0
[INFO] [stderr]   Downloaded autocfg v0.1.6
[INFO] [stderr]   Downloaded rand_core v0.3.1
[INFO] [stderr]   Downloaded unicode-width v0.1.6
[INFO] [stderr]   Downloaded atty v0.2.13
[INFO] [stderr]   Downloaded itertools v0.8.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ed7af61a72217b5574f2d7c6ab2ba08fed71f993cb96931f9330b3653ab69180
[INFO] running `Command { std: "docker" "start" "-a" "ed7af61a72217b5574f2d7c6ab2ba08fed71f993cb96931f9330b3653ab69180", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ed7af61a72217b5574f2d7c6ab2ba08fed71f993cb96931f9330b3653ab69180", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ed7af61a72217b5574f2d7c6ab2ba08fed71f993cb96931f9330b3653ab69180", kill_on_drop: false }`
[INFO] [stdout] ed7af61a72217b5574f2d7c6ab2ba08fed71f993cb96931f9330b3653ab69180
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ca2e8989a8e71a4f6e64e0740110ca1e62f47796b4ce2cbc6a4cd9637e58360e
[INFO] running `Command { std: "docker" "start" "-a" "ca2e8989a8e71a4f6e64e0740110ca1e62f47796b4ce2cbc6a4cd9637e58360e", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.6
[INFO] [stderr]    Compiling libc v0.2.62
[INFO] [stderr]     Checking rand_core v0.4.2
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling bitflags v1.1.0
[INFO] [stderr]    Compiling memchr v2.2.1
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling cfg-if v0.1.9
[INFO] [stderr]     Checking unicode-width v0.1.6
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling unicode-segmentation v1.3.0
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking quick-error v1.2.2
[INFO] [stderr]     Checking numtoa v0.1.0
[INFO] [stderr]    Compiling sdl2-sys v0.32.6
[INFO] [stderr]     Checking either v1.5.3
[INFO] [stderr]     Checking regex-syntax v0.6.11
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking vec_map v0.8.1
[INFO] [stderr]    Compiling sdl2 v0.32.2
[INFO] [stderr]     Checking itertools v0.8.0
[INFO] [stderr]     Checking humantime v1.2.0
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]     Checking rand_jitter v0.1.4
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking c_vec v1.3.3
[INFO] [stderr]     Checking termcolor v1.0.5
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]    Compiling num-traits v0.2.8
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]    Compiling num-iter v0.1.39
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling heck v0.3.1
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking atty v0.2.13
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking termion v1.5.3
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]     Checking aho-corasick v0.7.6
[INFO] [stderr]     Checking tui v0.5.1
[INFO] [stderr]     Checking regex v1.2.1
[INFO] [stderr]     Checking num v0.1.42
[INFO] [stderr]     Checking env_logger v0.6.2
[INFO] [stderr]    Compiling structopt-derive v0.2.18
[INFO] [stderr]     Checking structopt v0.2.18
[INFO] [stderr]     Checking gboy v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `thread`
[INFO] [stdout]  --> src/main.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{thread};
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LevelFilter` and `Record`
[INFO] [stdout]   --> src/main.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use log::{Record, LevelFilter};
[INFO] [stdout]    |           ^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `env_logger::Builder`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use env_logger::Builder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cartridge::*`
[INFO] [stdout]  --> src/gboy/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use cartridge::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `util::*`
[INFO] [stdout]  --> src/gboy/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use util::*;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color`
[INFO] [stdout]  --> src/gboy/debugger/mod.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tui::style::{Color, Modifier, Style};
[INFO] [stdout]   |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::cpu::*`
[INFO] [stdout]   --> src/gboy/debugger/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use super::cpu::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debugger::*`
[INFO] [stdout]  --> src/gboy/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use debugger::*;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::super::*`
[INFO] [stdout]  --> src/gboy/cpu/optcode.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::super::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::super::*`
[INFO] [stdout]  --> src/gboy/cpu/debugger.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::super::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/gboy/cpu/registers.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |         (0b0000_0001 << position)
[INFO] [stdout]    |         ^                       ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 25 -         (0b0000_0001 << position)
[INFO] [stdout] 25 +         0b0000_0001 << position
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::cartridge::*`
[INFO] [stdout]   --> src/gboy/cpu/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use super::cartridge::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `timer::*`
[INFO] [stdout]   --> src/gboy/cpu/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use timer::*;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::Level`
[INFO] [stdout]   --> src/gboy/cpu/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use log::Level;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cpu::debugger::*`
[INFO] [stdout]   --> src/gboy/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use cpu::debugger::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread`
[INFO] [stdout]  --> src/main.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{thread};
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LevelFilter` and `Record`
[INFO] [stdout]   --> src/main.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use log::{Record, LevelFilter};
[INFO] [stdout]    |           ^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `env_logger::Builder`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use env_logger::Builder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cartridge::*`
[INFO] [stdout]  --> src/gboy/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use cartridge::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `util::*`
[INFO] [stdout]  --> src/gboy/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use util::*;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color`
[INFO] [stdout]  --> src/gboy/debugger/mod.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tui::style::{Color, Modifier, Style};
[INFO] [stdout]   |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::cpu::*`
[INFO] [stdout]   --> src/gboy/debugger/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use super::cpu::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debugger::*`
[INFO] [stdout]  --> src/gboy/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use debugger::*;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::super::*`
[INFO] [stdout]  --> src/gboy/cpu/optcode.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::super::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::super::*`
[INFO] [stdout]  --> src/gboy/cpu/debugger.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::super::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/gboy/cpu/registers.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |         (0b0000_0001 << position)
[INFO] [stdout]    |         ^                       ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 25 -         (0b0000_0001 << position)
[INFO] [stdout] 25 +         0b0000_0001 << position
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::cartridge::*`
[INFO] [stdout]   --> src/gboy/cpu/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use super::cartridge::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `timer::*`
[INFO] [stdout]   --> src/gboy/cpu/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use timer::*;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::Level`
[INFO] [stdout]   --> src/gboy/cpu/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use log::Level;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cpu::debugger::*`
[INFO] [stdout]   --> src/gboy/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use cpu::debugger::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gboy/cpu/timer.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |             OptCode::LDNn(RegisterType::A, RegisterType::A) |
[INFO] [stdout]     |             ----------------------------------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 118 |             OptCode::LDNn(RegisterType::A, RegisterType::A) |
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gboy/cpu/mod.rs:36:37
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn initialize(gamerom: Vec<u8>, mut debugger: Option<Box<dyn CpuDebugger>>) -> Cpu {
[INFO] [stdout]    |                                     ----^^^^^^^^
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gboy/cpu/mod.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let mut cartridge = super::cartridge::new(gamerom);
[INFO] [stdout]    |         ----^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gboy/cpu/mod.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let mut memory = super::memorybus::new(cartridge);
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let mut debugger : Option<Box<dyn gboy::cpu::CpuDebugger>> = if opt.debugger {
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NONE_LOG_LEVEL` is never used
[INFO] [stdout]   --> src/main.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const NONE_LOG_LEVEL: usize = 0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/gboy/cpu/debugger.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 |     CatridgeTitle(String),
[INFO] [stdout]   |     ------------- ^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `CpuDebuggerMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 9 -     CatridgeTitle(String),
[INFO] [stdout] 9 +     CatridgeTitle(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Subt` is never constructed
[INFO] [stdout]   --> src/gboy/cpu/registers.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum FlagRegisterType {
[INFO] [stdout]    |          ---------------- variant in this enum
[INFO] [stdout] 11 |     Zero,
[INFO] [stdout] 12 |     Subt,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FlagRegisterType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_half_carry` and `set_carry` are never used
[INFO] [stdout]   --> src/gboy/cpu/registers.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl FlagRegister {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn set_half_carry(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn set_carry(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `F`, `G`, `PC`, and `CC` are never constructed
[INFO] [stdout]    --> src/gboy/cpu/registers.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub enum RegisterType {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 129 |     F,
[INFO] [stdout]     |     ^
[INFO] [stdout] 130 |     G,
[INFO] [stdout]     |     ^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     PC,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 140 |     SP,
[INFO] [stdout] 141 |     CC,
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RegisterType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_bitstate` is never used
[INFO] [stdout]    --> src/gboy/cpu/registers.rs:238:12
[INFO] [stdout]     |
[INFO] [stdout] 189 | impl Registers {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn set_bitstate(&mut self, rt: &RegisterType, position: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dec_nn` is never used
[INFO] [stdout]    --> src/gboy/cpu/instructions.rs:198:8
[INFO] [stdout]     |
[INFO] [stdout]   5 | impl Cpu {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 198 |     fn dec_nn(&mut self, rt: RegisterType) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gboy/debugger/mod.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |         self.render();
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let _ = self.render();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gboy/debugger/mod.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |         self.render();
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 145 |         let _ = self.render();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gboy/debugger/mod.rs:152:9
[INFO] [stdout]     |
[INFO] [stdout] 152 |         self.render();
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 152 |         let _ = self.render();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gboy/cpu/timer.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |             OptCode::LDNn(RegisterType::A, RegisterType::A) |
[INFO] [stdout]     |             ----------------------------------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 118 |             OptCode::LDNn(RegisterType::A, RegisterType::A) |
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gboy/cpu/mod.rs:36:37
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn initialize(gamerom: Vec<u8>, mut debugger: Option<Box<dyn CpuDebugger>>) -> Cpu {
[INFO] [stdout]    |                                     ----^^^^^^^^
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gboy/cpu/mod.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let mut cartridge = super::cartridge::new(gamerom);
[INFO] [stdout]    |         ----^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/gboy/cpu/mod.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let mut memory = super::memorybus::new(cartridge);
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let mut debugger : Option<Box<dyn gboy::cpu::CpuDebugger>> = if opt.debugger {
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NONE_LOG_LEVEL` is never used
[INFO] [stdout]   --> src/main.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const NONE_LOG_LEVEL: usize = 0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/gboy/cpu/debugger.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 |     CatridgeTitle(String),
[INFO] [stdout]   |     ------------- ^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `CpuDebuggerMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 9 -     CatridgeTitle(String),
[INFO] [stdout] 9 +     CatridgeTitle(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Subt` is never constructed
[INFO] [stdout]   --> src/gboy/cpu/registers.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum FlagRegisterType {
[INFO] [stdout]    |          ---------------- variant in this enum
[INFO] [stdout] 11 |     Zero,
[INFO] [stdout] 12 |     Subt,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FlagRegisterType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_half_carry` and `set_carry` are never used
[INFO] [stdout]   --> src/gboy/cpu/registers.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl FlagRegister {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn set_half_carry(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn set_carry(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `F`, `G`, `PC`, and `CC` are never constructed
[INFO] [stdout]    --> src/gboy/cpu/registers.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub enum RegisterType {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 129 |     F,
[INFO] [stdout]     |     ^
[INFO] [stdout] 130 |     G,
[INFO] [stdout]     |     ^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     PC,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 140 |     SP,
[INFO] [stdout] 141 |     CC,
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RegisterType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_bitstate` is never used
[INFO] [stdout]    --> src/gboy/cpu/registers.rs:238:12
[INFO] [stdout]     |
[INFO] [stdout] 189 | impl Registers {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn set_bitstate(&mut self, rt: &RegisterType, position: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dec_nn` is never used
[INFO] [stdout]    --> src/gboy/cpu/instructions.rs:198:8
[INFO] [stdout]     |
[INFO] [stdout]   5 | impl Cpu {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 198 |     fn dec_nn(&mut self, rt: RegisterType) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gboy/debugger/mod.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |         self.render();
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let _ = self.render();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gboy/debugger/mod.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |         self.render();
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 145 |         let _ = self.render();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/gboy/debugger/mod.rs:152:9
[INFO] [stdout]     |
[INFO] [stdout] 152 |         self.render();
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 152 |         let _ = self.render();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.57s
[INFO] running `Command { std: "docker" "inspect" "ca2e8989a8e71a4f6e64e0740110ca1e62f47796b4ce2cbc6a4cd9637e58360e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ca2e8989a8e71a4f6e64e0740110ca1e62f47796b4ce2cbc6a4cd9637e58360e", kill_on_drop: false }`
[INFO] [stdout] ca2e8989a8e71a4f6e64e0740110ca1e62f47796b4ce2cbc6a4cd9637e58360e
