[INFO] cloning repository https://github.com/trcm/gb-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/trcm/gb-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftrcm%2Fgb-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftrcm%2Fgb-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 76c6bb36f17cc0ea65f564a7cd960dce9b02dba8
[INFO] testing trcm/gb-rs against 1.75.0 for beta-1.76-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftrcm%2Fgb-rs" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/trcm/gb-rs on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/trcm/gb-rs
[INFO] finished tweaking git repo https://github.com/trcm/gb-rs
[INFO] tweaked toml for git repo https://github.com/trcm/gb-rs written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/trcm/gb-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded vec_map v0.7.0
[INFO] [stderr]   Downloaded sdl2-sys v0.8.1
[INFO] [stderr]   Downloaded clap v2.23.3
[INFO] [stderr]   Downloaded sdl2 v0.13.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 89f71f404d8e25613208d734206f2d645e70a9cd7943600632f62297fad38ba8
[INFO] running `Command { std: "docker" "start" "-a" "89f71f404d8e25613208d734206f2d645e70a9cd7943600632f62297fad38ba8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "89f71f404d8e25613208d734206f2d645e70a9cd7943600632f62297fad38ba8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "89f71f404d8e25613208d734206f2d645e70a9cd7943600632f62297fad38ba8", kill_on_drop: false }`
[INFO] [stdout] 89f71f404d8e25613208d734206f2d645e70a9cd7943600632f62297fad38ba8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2d5e890479d1182362a890297b7dcc180c8f784052954e71562d29ecb99573f8
[INFO] running `Command { std: "docker" "start" "-a" "2d5e890479d1182362a890297b7dcc180c8f784052954e71562d29ecb99573f8", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.20
[INFO] [stderr]    Compiling num-traits v0.1.36
[INFO] [stderr]    Compiling sdl2-sys v0.8.1
[INFO] [stderr]    Compiling bitflags v0.8.2
[INFO] [stderr]    Compiling strsim v0.6.0
[INFO] [stderr]    Compiling bitflags v0.3.3
[INFO] [stderr]    Compiling unicode-width v0.1.4
[INFO] [stderr]    Compiling vec_map v0.7.0
[INFO] [stderr]    Compiling ansi_term v0.9.0
[INFO] [stderr]    Compiling unicode-segmentation v1.1.0
[INFO] [stderr]    Compiling byteorder v1.0.0
[INFO] [stderr]    Compiling rand v0.3.15
[INFO] [stderr]    Compiling atty v0.2.2
[INFO] [stderr]    Compiling term_size v0.3.0
[INFO] [stderr]    Compiling clap v2.23.3
[INFO] [stderr]    Compiling num-integer v0.1.32
[INFO] [stderr]    Compiling num-complex v0.1.35
[INFO] [stderr]    Compiling num-iter v0.1.32
[INFO] [stderr]    Compiling num-bigint v0.1.35
[INFO] [stderr]    Compiling num-rational v0.1.35
[INFO] [stderr]    Compiling num v0.1.36
[INFO] [stderr]    Compiling sdl2 v0.13.0
[INFO] [stderr]    Compiling gb-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::str::FromStr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cpu::cpu::CPU`
[INFO] [stdout]  --> src/cpu/interconnect.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use cpu::cpu::CPU;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:26:20
[INFO] [stdout]    |
[INFO] [stdout] 26 |             0x0000 ... 0x00FF => {
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:29:20
[INFO] [stdout]    |
[INFO] [stdout] 29 |             0x0100 ... 0x014F => {    println!("Cartridge Header Area") },
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 |             0x0150 ... 0x3FFF => {    println!("Cartridge ROM  -  Bank 0 (fixed)") },
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:31:20
[INFO] [stdout]    |
[INFO] [stdout] 31 |             0x4000 ... 0x7FFF => {    println!("Cartridge ROM  -  Switchable Banks 1 - xx") },
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:32:20
[INFO] [stdout]    |
[INFO] [stdout] 32 |             0x8000 ... 0x97FF => {    println!("Character RAM") },
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:33:20
[INFO] [stdout]    |
[INFO] [stdout] 33 |             0x9800 ... 0x9BFF => {    println!("BG Map Data 1") },
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:34:20
[INFO] [stdout]    |
[INFO] [stdout] 34 |             0x9C00 ... 0x9FFF => {    println!("BG Map Data 2") },
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:35:20
[INFO] [stdout]    |
[INFO] [stdout] 35 |             0xA000 ... 0xBFFF => {    println!("Cartridge RAM (If Available)") },
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:36:20
[INFO] [stdout]    |
[INFO] [stdout] 36 |             0xC000 ... 0xCFFF => {    println!("Internal RAM  -  Bank 0 (fixed)") },
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:37:20
[INFO] [stdout]    |
[INFO] [stdout] 37 |             0xD000 ... 0xDFFF => {    println!("Internal RAM  -  Bank 1 - 7 (switchable  -  CGB only)") },
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:38:20
[INFO] [stdout]    |
[INFO] [stdout] 38 |             0xE000 ... 0xFDFF => {    println!("Echo RAM  -  Reserved, Do Not Use") },
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:39:20
[INFO] [stdout]    |
[INFO] [stdout] 39 |             0xFE00 ... 0xFE9F => {    println!("OAM  - Object Attribute Memory") },
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:40:20
[INFO] [stdout]    |
[INFO] [stdout] 40 |             0xFEA0 ... 0xFEFF => {    println!("Unusable Memory") },
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:41:20
[INFO] [stdout]    |
[INFO] [stdout] 41 |             0xFF00 ... 0xFF7F => {
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:48:20
[INFO] [stdout]    |
[INFO] [stdout] 48 |             0xFF80 ... 0xFFFE => {    println!("Zero Page  127 bytes") },
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude::*`
[INFO] [stdout]  --> src/cpu/gb.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cpu::op::Opcode`
[INFO] [stdout]  --> src/debug/debug.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use cpu::op::Opcode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SubCommand`
[INFO] [stdout]   --> src/main.rs:15:22
[INFO] [stdout]    |
[INFO] [stdout] 15 | use clap::{Arg, App, SubCommand};
[INFO] [stdout]    |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cpu::cpu::CPU`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use cpu::cpu::CPU;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cpu::interconnect::Interconnect`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use cpu::interconnect::Interconnect;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]    --> src/main.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |             'debug: loop {
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_labels)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> src/cpu/cpu.rs:425:21
[INFO] [stdout]     |
[INFO] [stdout] 425 |                 let location = (second as u16) << 8 | first as u16;
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> src/cpu/cpu.rs:437:25
[INFO] [stdout]     |
[INFO] [stdout] 437 |                     let location = (second as u16) << 8 | first as u16;
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]    --> src/debug/debug.rs:339:13
[INFO] [stdout]     |
[INFO] [stdout] 339 |         let res = machine.step();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `read_word` and `step` are never used
[INFO] [stdout]   --> src/cpu/interconnect.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Interconnect {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn read_word(&mut self) -> u16 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn step(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]   --> src/main.rs:75:22
[INFO] [stdout]    |
[INFO] [stdout] 75 |         for event in event_pump.poll_event() {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]    |
[INFO] [stdout] 75 |         while let Some(event) = event_pump.poll_event() {
[INFO] [stdout]    |         ~~~~~~~~~~~~~~~     ~~~
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]    |
[INFO] [stdout] 75 |         if let Some(event) = event_pump.poll_event() {
[INFO] [stdout]    |         ~~~~~~~~~~~~     ~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/cpu/cpu.rs:548:20
[INFO] [stdout]     |
[INFO] [stdout] 548 |                 if self.a < 0 {
[INFO] [stdout]     |                    ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 29 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 8.37s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.22
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "2d5e890479d1182362a890297b7dcc180c8f784052954e71562d29ecb99573f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2d5e890479d1182362a890297b7dcc180c8f784052954e71562d29ecb99573f8", kill_on_drop: false }`
[INFO] [stdout] 2d5e890479d1182362a890297b7dcc180c8f784052954e71562d29ecb99573f8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 30bd8947c6731184b2c55ef9cdc1f86c0dbfb617549ce9137fb4fa31c53acbe2
[INFO] running `Command { std: "docker" "start" "-a" "30bd8947c6731184b2c55ef9cdc1f86c0dbfb617549ce9137fb4fa31c53acbe2", kill_on_drop: false }`
[INFO] [stderr]    Compiling gb-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::str::FromStr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cpu::cpu::CPU`
[INFO] [stdout]  --> src/cpu/interconnect.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use cpu::cpu::CPU;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:26:20
[INFO] [stdout]    |
[INFO] [stdout] 26 |             0x0000 ... 0x00FF => {
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:29:20
[INFO] [stdout]    |
[INFO] [stdout] 29 |             0x0100 ... 0x014F => {    println!("Cartridge Header Area") },
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:30:20
[INFO] [stdout]    |
[INFO] [stdout] 30 |             0x0150 ... 0x3FFF => {    println!("Cartridge ROM  -  Bank 0 (fixed)") },
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:31:20
[INFO] [stdout]    |
[INFO] [stdout] 31 |             0x4000 ... 0x7FFF => {    println!("Cartridge ROM  -  Switchable Banks 1 - xx") },
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:32:20
[INFO] [stdout]    |
[INFO] [stdout] 32 |             0x8000 ... 0x97FF => {    println!("Character RAM") },
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:33:20
[INFO] [stdout]    |
[INFO] [stdout] 33 |             0x9800 ... 0x9BFF => {    println!("BG Map Data 1") },
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:34:20
[INFO] [stdout]    |
[INFO] [stdout] 34 |             0x9C00 ... 0x9FFF => {    println!("BG Map Data 2") },
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:35:20
[INFO] [stdout]    |
[INFO] [stdout] 35 |             0xA000 ... 0xBFFF => {    println!("Cartridge RAM (If Available)") },
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:36:20
[INFO] [stdout]    |
[INFO] [stdout] 36 |             0xC000 ... 0xCFFF => {    println!("Internal RAM  -  Bank 0 (fixed)") },
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:37:20
[INFO] [stdout]    |
[INFO] [stdout] 37 |             0xD000 ... 0xDFFF => {    println!("Internal RAM  -  Bank 1 - 7 (switchable  -  CGB only)") },
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:38:20
[INFO] [stdout]    |
[INFO] [stdout] 38 |             0xE000 ... 0xFDFF => {    println!("Echo RAM  -  Reserved, Do Not Use") },
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:39:20
[INFO] [stdout]    |
[INFO] [stdout] 39 |             0xFE00 ... 0xFE9F => {    println!("OAM  - Object Attribute Memory") },
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:40:20
[INFO] [stdout]    |
[INFO] [stdout] 40 |             0xFEA0 ... 0xFEFF => {    println!("Unusable Memory") },
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:41:20
[INFO] [stdout]    |
[INFO] [stdout] 41 |             0xFF00 ... 0xFF7F => {
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cpu/interconnect.rs:48:20
[INFO] [stdout]    |
[INFO] [stdout] 48 |             0xFF80 ... 0xFFFE => {    println!("Zero Page  127 bytes") },
[INFO] [stdout]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude::*`
[INFO] [stdout]  --> src/cpu/gb.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cpu::op::Opcode`
[INFO] [stdout]  --> src/debug/debug.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use cpu::op::Opcode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SubCommand`
[INFO] [stdout]   --> src/main.rs:15:22
[INFO] [stdout]    |
[INFO] [stdout] 15 | use clap::{Arg, App, SubCommand};
[INFO] [stdout]    |                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cpu::cpu::CPU`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use cpu::cpu::CPU;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cpu::interconnect::Interconnect`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use cpu::interconnect::Interconnect;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]    --> src/main.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |             'debug: loop {
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_labels)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> src/cpu/cpu.rs:425:21
[INFO] [stdout]     |
[INFO] [stdout] 425 |                 let location = (second as u16) << 8 | first as u16;
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> src/cpu/cpu.rs:437:25
[INFO] [stdout]     |
[INFO] [stdout] 437 |                     let location = (second as u16) << 8 | first as u16;
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]    --> src/debug/debug.rs:339:13
[INFO] [stdout]     |
[INFO] [stdout] 339 |         let res = machine.step();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `read_word` and `step` are never used
[INFO] [stdout]   --> src/cpu/interconnect.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Interconnect {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn read_word(&mut self) -> u16 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn step(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]   --> src/main.rs:75:22
[INFO] [stdout]    |
[INFO] [stdout] 75 |         for event in event_pump.poll_event() {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]    |
[INFO] [stdout] 75 |         while let Some(event) = event_pump.poll_event() {
[INFO] [stdout]    |         ~~~~~~~~~~~~~~~     ~~~
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]    |
[INFO] [stdout] 75 |         if let Some(event) = event_pump.poll_event() {
[INFO] [stdout]    |         ~~~~~~~~~~~~     ~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/cpu/cpu.rs:548:20
[INFO] [stdout]     |
[INFO] [stdout] 548 |                 if self.a < 0 {
[INFO] [stdout]     |                    ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 29 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.66s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.22
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "30bd8947c6731184b2c55ef9cdc1f86c0dbfb617549ce9137fb4fa31c53acbe2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "30bd8947c6731184b2c55ef9cdc1f86c0dbfb617549ce9137fb4fa31c53acbe2", kill_on_drop: false }`
[INFO] [stdout] 30bd8947c6731184b2c55ef9cdc1f86c0dbfb617549ce9137fb4fa31c53acbe2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 3d01499b1f46a61ad9635de86971daa10b2eff99ed905389b6f81efb71ed4a1d
[INFO] running `Command { std: "docker" "start" "-a" "3d01499b1f46a61ad9635de86971daa10b2eff99ed905389b6f81efb71ed4a1d", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::str::FromStr`
[INFO] [stderr]   --> src/main.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::str::FromStr;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `cpu::cpu::CPU`
[INFO] [stderr]  --> src/cpu/interconnect.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use cpu::cpu::CPU;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/cpu/interconnect.rs:26:20
[INFO] [stderr]    |
[INFO] [stderr] 26 |             0x0000 ... 0x00FF => {
[INFO] [stderr]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/cpu/interconnect.rs:29:20
[INFO] [stderr]    |
[INFO] [stderr] 29 |             0x0100 ... 0x014F => {    println!("Cartridge Header Area") },
[INFO] [stderr]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/cpu/interconnect.rs:30:20
[INFO] [stderr]    |
[INFO] [stderr] 30 |             0x0150 ... 0x3FFF => {    println!("Cartridge ROM  -  Bank 0 (fixed)") },
[INFO] [stderr]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/cpu/interconnect.rs:31:20
[INFO] [stderr]    |
[INFO] [stderr] 31 |             0x4000 ... 0x7FFF => {    println!("Cartridge ROM  -  Switchable Banks 1 - xx") },
[INFO] [stderr]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/cpu/interconnect.rs:32:20
[INFO] [stderr]    |
[INFO] [stderr] 32 |             0x8000 ... 0x97FF => {    println!("Character RAM") },
[INFO] [stderr]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/cpu/interconnect.rs:33:20
[INFO] [stderr]    |
[INFO] [stderr] 33 |             0x9800 ... 0x9BFF => {    println!("BG Map Data 1") },
[INFO] [stderr]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/cpu/interconnect.rs:34:20
[INFO] [stderr]    |
[INFO] [stderr] 34 |             0x9C00 ... 0x9FFF => {    println!("BG Map Data 2") },
[INFO] [stderr]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/cpu/interconnect.rs:35:20
[INFO] [stderr]    |
[INFO] [stderr] 35 |             0xA000 ... 0xBFFF => {    println!("Cartridge RAM (If Available)") },
[INFO] [stderr]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/cpu/interconnect.rs:36:20
[INFO] [stderr]    |
[INFO] [stderr] 36 |             0xC000 ... 0xCFFF => {    println!("Internal RAM  -  Bank 0 (fixed)") },
[INFO] [stderr]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/cpu/interconnect.rs:37:20
[INFO] [stderr]    |
[INFO] [stderr] 37 |             0xD000 ... 0xDFFF => {    println!("Internal RAM  -  Bank 1 - 7 (switchable  -  CGB only)") },
[INFO] [stderr]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/cpu/interconnect.rs:38:20
[INFO] [stderr]    |
[INFO] [stderr] 38 |             0xE000 ... 0xFDFF => {    println!("Echo RAM  -  Reserved, Do Not Use") },
[INFO] [stderr]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/cpu/interconnect.rs:39:20
[INFO] [stderr]    |
[INFO] [stderr] 39 |             0xFE00 ... 0xFE9F => {    println!("OAM  - Object Attribute Memory") },
[INFO] [stderr]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/cpu/interconnect.rs:40:20
[INFO] [stderr]    |
[INFO] [stderr] 40 |             0xFEA0 ... 0xFEFF => {    println!("Unusable Memory") },
[INFO] [stderr]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/cpu/interconnect.rs:41:20
[INFO] [stderr]    |
[INFO] [stderr] 41 |             0xFF00 ... 0xFF7F => {
[INFO] [stderr]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/cpu/interconnect.rs:48:20
[INFO] [stderr]    |
[INFO] [stderr] 48 |             0xFF80 ... 0xFFFE => {    println!("Zero Page  127 bytes") },
[INFO] [stderr]    |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::prelude::*`
[INFO] [stderr]  --> src/cpu/gb.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::io::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `cpu::op::Opcode`
[INFO] [stderr]  --> src/debug/debug.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use cpu::op::Opcode;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SubCommand`
[INFO] [stderr]   --> src/main.rs:15:22
[INFO] [stderr]    |
[INFO] [stderr] 15 | use clap::{Arg, App, SubCommand};
[INFO] [stderr]    |                      ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `cpu::cpu::CPU`
[INFO] [stderr]   --> src/main.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use cpu::cpu::CPU;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `cpu::interconnect::Interconnect`
[INFO] [stderr]   --> src/main.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 | use cpu::interconnect::Interconnect;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused label
[INFO] [stderr]    --> src/main.rs:107:13
[INFO] [stderr]     |
[INFO] [stderr] 107 |             'debug: loop {
[INFO] [stderr]     |             ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_labels)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `location`
[INFO] [stderr]    --> src/cpu/cpu.rs:425:21
[INFO] [stderr]     |
[INFO] [stderr] 425 |                 let location = (second as u16) << 8 | first as u16;
[INFO] [stderr]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `location`
[INFO] [stderr]    --> src/cpu/cpu.rs:437:25
[INFO] [stderr]     |
[INFO] [stderr] 437 |                     let location = (second as u16) << 8 | first as u16;
[INFO] [stderr]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `res`
[INFO] [stderr]    --> src/debug/debug.rs:339:13
[INFO] [stderr]     |
[INFO] [stderr] 339 |         let res = machine.step();
[INFO] [stderr]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stderr] 
[INFO] [stderr] warning: methods `read_word` and `step` are never used
[INFO] [stderr]   --> src/cpu/interconnect.rs:19:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | impl Interconnect {
[INFO] [stderr]    | ----------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 19 |     pub fn read_word(&mut self) -> u16 {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 54 |     pub fn step(&mut self) {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stderr]   --> src/main.rs:75:22
[INFO] [stderr]    |
[INFO] [stderr] 75 |         for event in event_pump.poll_event() {
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stderr] help: to check pattern in a loop use `while let`
[INFO] [stderr]    |
[INFO] [stderr] 75 |         while let Some(event) = event_pump.poll_event() {
[INFO] [stderr]    |         ~~~~~~~~~~~~~~~     ~~~
[INFO] [stderr] help: consider using `if let` to clear intent
[INFO] [stderr]    |
[INFO] [stderr] 75 |         if let Some(event) = event_pump.poll_event() {
[INFO] [stderr]    |         ~~~~~~~~~~~~     ~~~
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> src/cpu/cpu.rs:548:20
[INFO] [stderr]     |
[INFO] [stderr] 548 |                 if self.a < 0 {
[INFO] [stderr]     |                    ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `gb-rs` (bin "gb-rs" test) generated 29 warnings (run `cargo fix --bin "gb-rs" --tests` to apply 25 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.22
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/gb_rs-274a8ecd86b6f8eb)
[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] running `Command { std: "docker" "inspect" "3d01499b1f46a61ad9635de86971daa10b2eff99ed905389b6f81efb71ed4a1d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3d01499b1f46a61ad9635de86971daa10b2eff99ed905389b6f81efb71ed4a1d", kill_on_drop: false }`
[INFO] [stdout] 3d01499b1f46a61ad9635de86971daa10b2eff99ed905389b6f81efb71ed4a1d
