[INFO] cloning repository https://github.com/davedissian/gbc-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/davedissian/gbc-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdavedissian%2Fgbc-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdavedissian%2Fgbc-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e603e5f037a7ac662b98c83a3437e89337683828
[INFO] testing davedissian/gbc-rs against master#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdavedissian%2Fgbc-rs" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/davedissian/gbc-rs
[INFO] finished tweaking git repo https://github.com/davedissian/gbc-rs
[INFO] tweaked toml for git repo https://github.com/davedissian/gbc-rs written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/davedissian/gbc-rs on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/davedissian/gbc-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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 392547ea1bbba62ec1b25e14025cf20b7919e996a1fd20ba81ee20fb60d6584c
[INFO] running `Command { std: "docker" "start" "-a" "392547ea1bbba62ec1b25e14025cf20b7919e996a1fd20ba81ee20fb60d6584c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "392547ea1bbba62ec1b25e14025cf20b7919e996a1fd20ba81ee20fb60d6584c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "392547ea1bbba62ec1b25e14025cf20b7919e996a1fd20ba81ee20fb60d6584c", kill_on_drop: false }`
[INFO] [stdout] 392547ea1bbba62ec1b25e14025cf20b7919e996a1fd20ba81ee20fb60d6584c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3360bee68fe0e8e517c9238e4e40a67f55ceea73c05a167f287ba1fca84c8a97
[INFO] running `Command { std: "docker" "start" "-a" "3360bee68fe0e8e517c9238e4e40a67f55ceea73c05a167f287ba1fca84c8a97", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling libc v0.2.34
[INFO] [stderr]    Compiling bitflags v1.0.1
[INFO] [stderr]    Compiling siphasher v0.2.2
[INFO] [stderr]    Compiling lazy_static v1.0.0
[INFO] [stderr]    Compiling lazy_static v0.2.11
[INFO] [stderr]    Compiling libloading v0.4.3
[INFO] [stderr]    Compiling num-traits v0.1.41
[INFO] [stderr]    Compiling serde v0.9.15
[INFO] [stderr]    Compiling itoa v0.3.4
[INFO] [stderr]    Compiling dtoa v0.4.2
[INFO] [stderr]    Compiling token_store v0.1.2
[INFO] [stderr]    Compiling khronos_api v2.0.0
[INFO] [stderr]    Compiling bitflags v0.9.1
[INFO] [stderr]    Compiling log v0.3.8
[INFO] [stderr]    Compiling pkg-config v0.3.9
[INFO] [stderr]    Compiling cc v1.0.3
[INFO] [stderr]    Compiling xml-rs v0.7.0
[INFO] [stderr]    Compiling xml-rs v0.6.1
[INFO] [stderr]    Compiling cfg-if v0.1.2
[INFO] [stderr]    Compiling rustc-demangle v0.1.5
[INFO] [stderr]    Compiling smallvec v0.4.4
[INFO] [stderr]    Compiling unborrow v0.3.1
[INFO] [stderr]    Compiling phf_shared v0.7.21
[INFO] [stderr]    Compiling phf v0.7.21
[INFO] [stderr]    Compiling dlib v0.4.0
[INFO] [stderr]    Compiling wayland-sys v0.12.4
[INFO] [stderr]    Compiling wayland-scanner v0.9.10
[INFO] [stderr]    Compiling rand v0.3.18
[INFO] [stderr]    Compiling memmap v0.6.1
[INFO] [stderr]    Compiling shared_library v0.1.8
[INFO] [stderr]    Compiling time v0.1.38
[INFO] [stderr]    Compiling wayland-scanner v0.12.4
[INFO] [stderr]    Compiling gl_generator v0.7.0
[INFO] [stderr]    Compiling osmesa-sys v0.1.2
[INFO] [stderr]    Compiling x11-dl v2.17.1
[INFO] [stderr]    Compiling phf_generator v0.7.21
[INFO] [stderr]    Compiling phf_codegen v0.7.21
[INFO] [stderr]    Compiling tempfile v2.2.0
[INFO] [stderr]    Compiling target_build_utils v0.3.1
[INFO] [stderr]    Compiling wayland-client v0.9.10
[INFO] [stderr]    Compiling wayland-client v0.12.4
[INFO] [stderr]    Compiling wayland-protocols v0.12.4
[INFO] [stderr]    Compiling glutin v0.11.0
[INFO] [stderr]    Compiling glium v0.19.0
[INFO] [stderr]    Compiling backtrace-sys v0.1.16
[INFO] [stderr]    Compiling serde_json v0.9.10
[INFO] [stderr]    Compiling wayland-kbd v0.13.0
[INFO] [stderr]    Compiling wayland-window v0.13.2
[INFO] [stderr]    Compiling winit v0.9.0
[INFO] [stderr]    Compiling backtrace v0.3.4
[INFO] [stderr]    Compiling libloading v0.3.4
[INFO] [stderr]    Compiling dlib v0.3.1
[INFO] [stderr]    Compiling wayland-sys v0.9.10
[INFO] [stderr]    Compiling rasteriser v0.1.0 (https://github.com/davedissian/rasteriser.git#f26c7fc6)
[INFO] [stderr]    Compiling gbc-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cartridge/mbc1.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 |             0x0000...0x3FFF => self.rom[addr as usize],
[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/cartridge/mbc1.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 16 |             0x4000...0x7FFF => self.rom[self.rom_bank_addr(addr - 0x4000, self.rom_bank)],
[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/cartridge/mbc1.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 |             0xA000...0xBFFF => self.ram[self.ram_bank_addr(addr - 0xA000, self.ram_bank)],
[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/cartridge/mbc1.rs:25:19
[INFO] [stdout]    |
[INFO] [stdout] 25 |             0x0000...0x1FFF => {
[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/cartridge/mbc1.rs:30:19
[INFO] [stdout]    |
[INFO] [stdout] 30 |             0x2000...0x3FFF => {
[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/cartridge/mbc1.rs:43:19
[INFO] [stdout]    |
[INFO] [stdout] 43 |             0x4000...0x5FFF => {
[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/cartridge/mbc1.rs:60:19
[INFO] [stdout]    |
[INFO] [stdout] 60 |             0x6000...0x7FFF => {
[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/cartridge/mbc1.rs:65:19
[INFO] [stdout]    |
[INFO] [stdout] 65 |             0xA000...0xBFFF => {
[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/gpu.rs:123:19
[INFO] [stdout]     |
[INFO] [stdout] 123 |             0x8000...0x9FFF => self.vram[addr as usize - 0x8000],
[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/gpu.rs:124:19
[INFO] [stdout]     |
[INFO] [stdout] 124 |             0xFE00...0xFE9F => self.oam[addr as usize - 0xFE00],
[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/gpu.rs:144:19
[INFO] [stdout]     |
[INFO] [stdout] 144 |             0x8000...0x9FFF => self.vram[addr as usize - 0x8000] = value,
[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/gpu.rs:145:19
[INFO] [stdout]     |
[INFO] [stdout] 145 |             0xFE00...0xFE9F => self.oam[addr as usize - 0xFE00] = value,
[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/memory.rs:125:19
[INFO] [stdout]     |
[INFO] [stdout] 125 |             0x0000...0x7FFF => {
[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/memory.rs:136:19
[INFO] [stdout]     |
[INFO] [stdout] 136 |             0x8000...0x9FFF => self.gpu.read_u8(addr),
[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/memory.rs:137:19
[INFO] [stdout]     |
[INFO] [stdout] 137 |             0xA000...0xBFFF => {
[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/memory.rs:144:19
[INFO] [stdout]     |
[INFO] [stdout] 144 |             0xC000...0xDFFF => self.internal[addr as usize - 0xC000],
[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/memory.rs:145:19
[INFO] [stdout]     |
[INFO] [stdout] 145 |             0xE000...0xFDFF => self.internal[addr as usize - 0xE000],
[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/memory.rs:146:19
[INFO] [stdout]     |
[INFO] [stdout] 146 |             0xFE00...0xFE9F => self.gpu.read_u8(addr),
[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/memory.rs:147:19
[INFO] [stdout]     |
[INFO] [stdout] 147 |             0xFEA0...0xFEFF => { println!("WARNING: Reading from unused memory area. Addr = 0x{:X}", addr); 0 },
[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/memory.rs:149:19
[INFO] [stdout]     |
[INFO] [stdout] 149 |             0xFF00...0xFF7F => self.read_u8_io(addr),
[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/memory.rs:150:19
[INFO] [stdout]     |
[INFO] [stdout] 150 |             0xFF80...0xFFFE => self.zero_page_ram[addr as usize - 0xFF80],
[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/memory.rs:163:19
[INFO] [stdout]     |
[INFO] [stdout] 163 |             0x0000...0x7FFF => {
[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/memory.rs:170:19
[INFO] [stdout]     |
[INFO] [stdout] 170 |             0x8000...0x9FFF => self.gpu.write_u8(addr, value),
[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/memory.rs:171:19
[INFO] [stdout]     |
[INFO] [stdout] 171 |             0xA000...0xBFFF =>  {
[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/memory.rs:178:19
[INFO] [stdout]     |
[INFO] [stdout] 178 |             0xC000...0xDFFF => self.internal[addr as usize - 0xC000] = value,
[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/memory.rs:179:19
[INFO] [stdout]     |
[INFO] [stdout] 179 |             0xE000...0xFDFF => self.internal[addr as usize - 0xE000] = value,
[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/memory.rs:180:19
[INFO] [stdout]     |
[INFO] [stdout] 180 |             0xFE00...0xFE9F => self.gpu.write_u8(addr, value),
[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/memory.rs:181:19
[INFO] [stdout]     |
[INFO] [stdout] 181 |             0xFEA0...0xFEFF => println!("WARNING: Writing to unused memory area. Addr = 0x{:X}", addr),
[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/memory.rs:182:19
[INFO] [stdout]     |
[INFO] [stdout] 182 |             0xFF00...0xFF7F => self.write_u8_io(addr, value),
[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/memory.rs:183:19
[INFO] [stdout]     |
[INFO] [stdout] 183 |             0xFF80...0xFFFE => self.zero_page_ram[addr as usize - 0xFF80] = value,
[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/memory.rs:198:19
[INFO] [stdout]     |
[INFO] [stdout] 198 |             0xFF40...0xFF4F => self.gpu.read_u8(addr),
[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/memory.rs:231:19
[INFO] [stdout]     |
[INFO] [stdout] 231 |             0xFF40...0xFF4F => self.gpu.write_u8(addr, value),
[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: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cpu/ops.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 |     Partial8(Box<Fn(u8) -> R>),
[INFO] [stdout]    |                  ^^^^^^^^^^^
[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(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 60 |     Partial8(Box<dyn Fn(u8) -> R>),
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cpu/ops.rs:61:19
[INFO] [stdout]    |
[INFO] [stdout] 61 |     Partial16(Box<Fn(u16) -> R>),
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 61 |     Partial16(Box<dyn Fn(u16) -> R>),
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cartridge/mod.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub mbc: Box<MemoryBankController>,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^
[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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub mbc: Box<dyn MemoryBankController>,
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/gpu.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 |     driver: Box<driver::Driver>,
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^
[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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     driver: Box<dyn driver::Driver>,
[INFO] [stdout]   |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/gpu.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 |     window: Box<driver::Window>,
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^
[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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     window: Box<dyn driver::Window>,
[INFO] [stdout]   |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gpu.rs:78:54
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn set_key_callback(&mut self, callback: Box<FnMut(KeyCode, KeyState)>) {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^
[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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn set_key_callback(&mut self, callback: Box<dyn FnMut(KeyCode, KeyState)>) {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cartridge/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let mbc: Box<MemoryBankController> = match cartridge_type {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let mbc: Box<dyn MemoryBankController> = match cartridge_type {
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/memory.rs:152:13
[INFO] [stdout]     |
[INFO] [stdout] 152 |             _ => panic!("ERROR: Out of bounds memory read. Addr = 0x{:X}", addr),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/memory.rs:152:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |             0x0000...0x7FFF => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 136 |             0x8000...0x9FFF => self.gpu.read_u8(addr),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 137 |             0xA000...0xBFFF => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 144 |             0xC000...0xDFFF => self.internal[addr as usize - 0xC000],
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 152 |             _ => panic!("ERROR: Out of bounds memory read. Addr = 0x{:X}", addr),
[INFO] [stdout]     |             ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/memory.rs:185:13
[INFO] [stdout]     |
[INFO] [stdout] 185 |             _ => panic!("ERROR: Out of bounds memory write. Addr = 0x{:X}", addr),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/memory.rs:185:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |             0x0000...0x7FFF => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 170 |             0x8000...0x9FFF => self.gpu.write_u8(addr, value),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 171 |             0xA000...0xBFFF =>  {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 178 |             0xC000...0xDFFF => self.internal[addr as usize - 0xC000] = value,
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 185 |             _ => panic!("ERROR: Out of bounds memory write. Addr = 0x{:X}", addr),
[INFO] [stdout]     |             ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 06s
[INFO] running `Command { std: "docker" "inspect" "3360bee68fe0e8e517c9238e4e40a67f55ceea73c05a167f287ba1fca84c8a97", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3360bee68fe0e8e517c9238e4e40a67f55ceea73c05a167f287ba1fca84c8a97", kill_on_drop: false }`
[INFO] [stdout] 3360bee68fe0e8e517c9238e4e40a67f55ceea73c05a167f287ba1fca84c8a97
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ae1fe09194a8bc0cfd026a04fc49adcf1af523235b963572c0b851620eda6ce1
[INFO] running `Command { std: "docker" "start" "-a" "ae1fe09194a8bc0cfd026a04fc49adcf1af523235b963572c0b851620eda6ce1", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling gbc-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `cpu::ops::*`
[INFO] [stdout]    --> src/cpu/interpreter.rs:684:9
[INFO] [stdout]     |
[INFO] [stdout] 684 |     use cpu::ops::*;
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/cartridge/mbc1.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 |             0x0000...0x3FFF => self.rom[addr as usize],
[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/cartridge/mbc1.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 16 |             0x4000...0x7FFF => self.rom[self.rom_bank_addr(addr - 0x4000, self.rom_bank)],
[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/cartridge/mbc1.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 |             0xA000...0xBFFF => self.ram[self.ram_bank_addr(addr - 0xA000, self.ram_bank)],
[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/cartridge/mbc1.rs:25:19
[INFO] [stdout]    |
[INFO] [stdout] 25 |             0x0000...0x1FFF => {
[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/cartridge/mbc1.rs:30:19
[INFO] [stdout]    |
[INFO] [stdout] 30 |             0x2000...0x3FFF => {
[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/cartridge/mbc1.rs:43:19
[INFO] [stdout]    |
[INFO] [stdout] 43 |             0x4000...0x5FFF => {
[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/cartridge/mbc1.rs:60:19
[INFO] [stdout]    |
[INFO] [stdout] 60 |             0x6000...0x7FFF => {
[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/cartridge/mbc1.rs:65:19
[INFO] [stdout]    |
[INFO] [stdout] 65 |             0xA000...0xBFFF => {
[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/gpu.rs:123:19
[INFO] [stdout]     |
[INFO] [stdout] 123 |             0x8000...0x9FFF => self.vram[addr as usize - 0x8000],
[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/gpu.rs:124:19
[INFO] [stdout]     |
[INFO] [stdout] 124 |             0xFE00...0xFE9F => self.oam[addr as usize - 0xFE00],
[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/gpu.rs:144:19
[INFO] [stdout]     |
[INFO] [stdout] 144 |             0x8000...0x9FFF => self.vram[addr as usize - 0x8000] = value,
[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/gpu.rs:145:19
[INFO] [stdout]     |
[INFO] [stdout] 145 |             0xFE00...0xFE9F => self.oam[addr as usize - 0xFE00] = value,
[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/memory.rs:125:19
[INFO] [stdout]     |
[INFO] [stdout] 125 |             0x0000...0x7FFF => {
[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/memory.rs:136:19
[INFO] [stdout]     |
[INFO] [stdout] 136 |             0x8000...0x9FFF => self.gpu.read_u8(addr),
[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/memory.rs:137:19
[INFO] [stdout]     |
[INFO] [stdout] 137 |             0xA000...0xBFFF => {
[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/memory.rs:144:19
[INFO] [stdout]     |
[INFO] [stdout] 144 |             0xC000...0xDFFF => self.internal[addr as usize - 0xC000],
[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/memory.rs:145:19
[INFO] [stdout]     |
[INFO] [stdout] 145 |             0xE000...0xFDFF => self.internal[addr as usize - 0xE000],
[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/memory.rs:146:19
[INFO] [stdout]     |
[INFO] [stdout] 146 |             0xFE00...0xFE9F => self.gpu.read_u8(addr),
[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/memory.rs:147:19
[INFO] [stdout]     |
[INFO] [stdout] 147 |             0xFEA0...0xFEFF => { println!("WARNING: Reading from unused memory area. Addr = 0x{:X}", addr); 0 },
[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/memory.rs:149:19
[INFO] [stdout]     |
[INFO] [stdout] 149 |             0xFF00...0xFF7F => self.read_u8_io(addr),
[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/memory.rs:150:19
[INFO] [stdout]     |
[INFO] [stdout] 150 |             0xFF80...0xFFFE => self.zero_page_ram[addr as usize - 0xFF80],
[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/memory.rs:163:19
[INFO] [stdout]     |
[INFO] [stdout] 163 |             0x0000...0x7FFF => {
[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/memory.rs:170:19
[INFO] [stdout]     |
[INFO] [stdout] 170 |             0x8000...0x9FFF => self.gpu.write_u8(addr, value),
[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/memory.rs:171:19
[INFO] [stdout]     |
[INFO] [stdout] 171 |             0xA000...0xBFFF =>  {
[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/memory.rs:178:19
[INFO] [stdout]     |
[INFO] [stdout] 178 |             0xC000...0xDFFF => self.internal[addr as usize - 0xC000] = value,
[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/memory.rs:179:19
[INFO] [stdout]     |
[INFO] [stdout] 179 |             0xE000...0xFDFF => self.internal[addr as usize - 0xE000] = value,
[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/memory.rs:180:19
[INFO] [stdout]     |
[INFO] [stdout] 180 |             0xFE00...0xFE9F => self.gpu.write_u8(addr, value),
[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/memory.rs:181:19
[INFO] [stdout]     |
[INFO] [stdout] 181 |             0xFEA0...0xFEFF => println!("WARNING: Writing to unused memory area. Addr = 0x{:X}", addr),
[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/memory.rs:182:19
[INFO] [stdout]     |
[INFO] [stdout] 182 |             0xFF00...0xFF7F => self.write_u8_io(addr, value),
[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/memory.rs:183:19
[INFO] [stdout]     |
[INFO] [stdout] 183 |             0xFF80...0xFFFE => self.zero_page_ram[addr as usize - 0xFF80] = value,
[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/memory.rs:198:19
[INFO] [stdout]     |
[INFO] [stdout] 198 |             0xFF40...0xFF4F => self.gpu.read_u8(addr),
[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/memory.rs:231:19
[INFO] [stdout]     |
[INFO] [stdout] 231 |             0xFF40...0xFF4F => self.gpu.write_u8(addr, value),
[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: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cpu/ops.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 |     Partial8(Box<Fn(u8) -> R>),
[INFO] [stdout]    |                  ^^^^^^^^^^^
[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(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 60 |     Partial8(Box<dyn Fn(u8) -> R>),
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cpu/ops.rs:61:19
[INFO] [stdout]    |
[INFO] [stdout] 61 |     Partial16(Box<Fn(u16) -> R>),
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 61 |     Partial16(Box<dyn Fn(u16) -> R>),
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cartridge/mod.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub mbc: Box<MemoryBankController>,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^
[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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub mbc: Box<dyn MemoryBankController>,
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/gpu.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 |     driver: Box<driver::Driver>,
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^
[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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     driver: Box<dyn driver::Driver>,
[INFO] [stdout]   |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/gpu.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 |     window: Box<driver::Window>,
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^
[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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     window: Box<dyn driver::Window>,
[INFO] [stdout]   |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gpu.rs:78:54
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn set_key_callback(&mut self, callback: Box<FnMut(KeyCode, KeyState)>) {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^
[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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn set_key_callback(&mut self, callback: Box<dyn FnMut(KeyCode, KeyState)>) {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cartridge/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let mbc: Box<MemoryBankController> = match cartridge_type {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^
[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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let mbc: Box<dyn MemoryBankController> = match cartridge_type {
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu/interpreter.rs:704:13
[INFO] [stdout]     |
[INFO] [stdout] 704 |         let mut cpu = &mut init_cpu();
[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] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cpu/interpreter.rs:713:13
[INFO] [stdout]     |
[INFO] [stdout] 713 |         let mut cpu = &mut init_cpu();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/memory.rs:152:13
[INFO] [stdout]     |
[INFO] [stdout] 152 |             _ => panic!("ERROR: Out of bounds memory read. Addr = 0x{:X}", addr),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/memory.rs:152:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |             0x0000...0x7FFF => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 136 |             0x8000...0x9FFF => self.gpu.read_u8(addr),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 137 |             0xA000...0xBFFF => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 144 |             0xC000...0xDFFF => self.internal[addr as usize - 0xC000],
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 152 |             _ => panic!("ERROR: Out of bounds memory read. Addr = 0x{:X}", addr),
[INFO] [stdout]     |             ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/memory.rs:185:13
[INFO] [stdout]     |
[INFO] [stdout] 185 |             _ => panic!("ERROR: Out of bounds memory write. Addr = 0x{:X}", addr),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/memory.rs:185:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |             0x0000...0x7FFF => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 170 |             0x8000...0x9FFF => self.gpu.write_u8(addr, value),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 171 |             0xA000...0xBFFF =>  {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 178 |             0xC000...0xDFFF => self.internal[addr as usize - 0xC000] = value,
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 185 |             _ => panic!("ERROR: Out of bounds memory write. Addr = 0x{:X}", addr),
[INFO] [stdout]     |             ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.26s
[INFO] running `Command { std: "docker" "inspect" "ae1fe09194a8bc0cfd026a04fc49adcf1af523235b963572c0b851620eda6ce1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ae1fe09194a8bc0cfd026a04fc49adcf1af523235b963572c0b851620eda6ce1", kill_on_drop: false }`
[INFO] [stdout] ae1fe09194a8bc0cfd026a04fc49adcf1af523235b963572c0b851620eda6ce1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 98bc51544503cef439f2fdc1bcf8f994ea75df61a94ef97daa58fe9f4a2485e4
[INFO] running `Command { std: "docker" "start" "-a" "98bc51544503cef439f2fdc1bcf8f994ea75df61a94ef97daa58fe9f4a2485e4", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: unused import: `cpu::ops::*`
[INFO] [stderr]    --> src/cpu/interpreter.rs:684:9
[INFO] [stderr]     |
[INFO] [stderr] 684 |     use cpu::ops::*;
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/cartridge/mbc1.rs:15:19
[INFO] [stderr]    |
[INFO] [stderr] 15 |             0x0000...0x3FFF => self.rom[addr as usize],
[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/cartridge/mbc1.rs:16:19
[INFO] [stderr]    |
[INFO] [stderr] 16 |             0x4000...0x7FFF => self.rom[self.rom_bank_addr(addr - 0x4000, self.rom_bank)],
[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/cartridge/mbc1.rs:17:19
[INFO] [stderr]    |
[INFO] [stderr] 17 |             0xA000...0xBFFF => self.ram[self.ram_bank_addr(addr - 0xA000, self.ram_bank)],
[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/cartridge/mbc1.rs:25:19
[INFO] [stderr]    |
[INFO] [stderr] 25 |             0x0000...0x1FFF => {
[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/cartridge/mbc1.rs:30:19
[INFO] [stderr]    |
[INFO] [stderr] 30 |             0x2000...0x3FFF => {
[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/cartridge/mbc1.rs:43:19
[INFO] [stderr]    |
[INFO] [stderr] 43 |             0x4000...0x5FFF => {
[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/cartridge/mbc1.rs:60:19
[INFO] [stderr]    |
[INFO] [stderr] 60 |             0x6000...0x7FFF => {
[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/cartridge/mbc1.rs:65:19
[INFO] [stderr]    |
[INFO] [stderr] 65 |             0xA000...0xBFFF => {
[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/gpu.rs:123:19
[INFO] [stderr]     |
[INFO] [stderr] 123 |             0x8000...0x9FFF => self.vram[addr as usize - 0x8000],
[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/gpu.rs:124:19
[INFO] [stderr]     |
[INFO] [stderr] 124 |             0xFE00...0xFE9F => self.oam[addr as usize - 0xFE00],
[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/gpu.rs:144:19
[INFO] [stderr]     |
[INFO] [stderr] 144 |             0x8000...0x9FFF => self.vram[addr as usize - 0x8000] = value,
[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/gpu.rs:145:19
[INFO] [stderr]     |
[INFO] [stderr] 145 |             0xFE00...0xFE9F => self.oam[addr as usize - 0xFE00] = value,
[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/memory.rs:125:19
[INFO] [stderr]     |
[INFO] [stderr] 125 |             0x0000...0x7FFF => {
[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/memory.rs:136:19
[INFO] [stderr]     |
[INFO] [stderr] 136 |             0x8000...0x9FFF => self.gpu.read_u8(addr),
[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/memory.rs:137:19
[INFO] [stderr]     |
[INFO] [stderr] 137 |             0xA000...0xBFFF => {
[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/memory.rs:144:19
[INFO] [stderr]     |
[INFO] [stderr] 144 |             0xC000...0xDFFF => self.internal[addr as usize - 0xC000],
[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/memory.rs:145:19
[INFO] [stderr]     |
[INFO] [stderr] 145 |             0xE000...0xFDFF => self.internal[addr as usize - 0xE000],
[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/memory.rs:146:19
[INFO] [stderr]     |
[INFO] [stderr] 146 |             0xFE00...0xFE9F => self.gpu.read_u8(addr),
[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/memory.rs:147:19
[INFO] [stderr]     |
[INFO] [stderr] 147 |             0xFEA0...0xFEFF => { println!("WARNING: Reading from unused memory area. Addr = 0x{:X}", addr); 0 },
[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/memory.rs:149:19
[INFO] [stderr]     |
[INFO] [stderr] 149 |             0xFF00...0xFF7F => self.read_u8_io(addr),
[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/memory.rs:150:19
[INFO] [stderr]     |
[INFO] [stderr] 150 |             0xFF80...0xFFFE => self.zero_page_ram[addr as usize - 0xFF80],
[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/memory.rs:163:19
[INFO] [stderr]     |
[INFO] [stderr] 163 |             0x0000...0x7FFF => {
[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/memory.rs:170:19
[INFO] [stderr]     |
[INFO] [stderr] 170 |             0x8000...0x9FFF => self.gpu.write_u8(addr, value),
[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/memory.rs:171:19
[INFO] [stderr]     |
[INFO] [stderr] 171 |             0xA000...0xBFFF =>  {
[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/memory.rs:178:19
[INFO] [stderr]     |
[INFO] [stderr] 178 |             0xC000...0xDFFF => self.internal[addr as usize - 0xC000] = value,
[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/memory.rs:179:19
[INFO] [stderr]     |
[INFO] [stderr] 179 |             0xE000...0xFDFF => self.internal[addr as usize - 0xE000] = value,
[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/memory.rs:180:19
[INFO] [stderr]     |
[INFO] [stderr] 180 |             0xFE00...0xFE9F => self.gpu.write_u8(addr, value),
[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/memory.rs:181:19
[INFO] [stderr]     |
[INFO] [stderr] 181 |             0xFEA0...0xFEFF => println!("WARNING: Writing to unused memory area. Addr = 0x{:X}", addr),
[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/memory.rs:182:19
[INFO] [stderr]     |
[INFO] [stderr] 182 |             0xFF00...0xFF7F => self.write_u8_io(addr, value),
[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/memory.rs:183:19
[INFO] [stderr]     |
[INFO] [stderr] 183 |             0xFF80...0xFFFE => self.zero_page_ram[addr as usize - 0xFF80] = value,
[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/memory.rs:198:19
[INFO] [stderr]     |
[INFO] [stderr] 198 |             0xFF40...0xFF4F => self.gpu.read_u8(addr),
[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/memory.rs:231:19
[INFO] [stderr]     |
[INFO] [stderr] 231 |             0xFF40...0xFF4F => self.gpu.write_u8(addr, value),
[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: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cpu/ops.rs:60:18
[INFO] [stderr]    |
[INFO] [stderr] 60 |     Partial8(Box<Fn(u8) -> R>),
[INFO] [stderr]    |                  ^^^^^^^^^^^
[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(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 60 |     Partial8(Box<dyn Fn(u8) -> R>),
[INFO] [stderr]    |                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cpu/ops.rs:61:19
[INFO] [stderr]    |
[INFO] [stderr] 61 |     Partial16(Box<Fn(u16) -> R>),
[INFO] [stderr]    |                   ^^^^^^^^^^^^
[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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 61 |     Partial16(Box<dyn Fn(u16) -> R>),
[INFO] [stderr]    |                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cartridge/mod.rs:17:18
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub mbc: Box<MemoryBankController>,
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^^^^^^^
[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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub mbc: Box<dyn MemoryBankController>,
[INFO] [stderr]    |                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/gpu.rs:8:17
[INFO] [stderr]   |
[INFO] [stderr] 8 |     driver: Box<driver::Driver>,
[INFO] [stderr]   |                 ^^^^^^^^^^^^^^
[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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]   |
[INFO] [stderr] 8 |     driver: Box<dyn driver::Driver>,
[INFO] [stderr]   |                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/gpu.rs:9:17
[INFO] [stderr]   |
[INFO] [stderr] 9 |     window: Box<driver::Window>,
[INFO] [stderr]   |                 ^^^^^^^^^^^^^^
[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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]   |
[INFO] [stderr] 9 |     window: Box<dyn driver::Window>,
[INFO] [stderr]   |                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/gpu.rs:78:54
[INFO] [stderr]    |
[INFO] [stderr] 78 |     pub fn set_key_callback(&mut self, callback: Box<FnMut(KeyCode, KeyState)>) {
[INFO] [stderr]    |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^
[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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 78 |     pub fn set_key_callback(&mut self, callback: Box<dyn FnMut(KeyCode, KeyState)>) {
[INFO] [stderr]    |                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cartridge/mod.rs:64:22
[INFO] [stderr]    |
[INFO] [stderr] 64 |         let mbc: Box<MemoryBankController> = match cartridge_type {
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^^^^^^^
[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] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 64 |         let mbc: Box<dyn MemoryBankController> = match cartridge_type {
[INFO] [stderr]    |                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/cpu/interpreter.rs:704:13
[INFO] [stderr]     |
[INFO] [stderr] 704 |         let mut cpu = &mut init_cpu();
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/cpu/interpreter.rs:713:13
[INFO] [stderr]     |
[INFO] [stderr] 713 |         let mut cpu = &mut init_cpu();
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/memory.rs:152:13
[INFO] [stderr]     |
[INFO] [stderr] 152 |             _ => panic!("ERROR: Out of bounds memory read. Addr = 0x{:X}", addr),
[INFO] [stderr]     |             ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> src/memory.rs:152:13
[INFO] [stderr]     |
[INFO] [stderr] 125 |             0x0000...0x7FFF => {
[INFO] [stderr]     |             --------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 136 |             0x8000...0x9FFF => self.gpu.read_u8(addr),
[INFO] [stderr]     |             --------------- matches some of the same values
[INFO] [stderr] 137 |             0xA000...0xBFFF => {
[INFO] [stderr]     |             --------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 144 |             0xC000...0xDFFF => self.internal[addr as usize - 0xC000],
[INFO] [stderr]     |             --------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 152 |             _ => panic!("ERROR: Out of bounds memory read. Addr = 0x{:X}", addr),
[INFO] [stderr]     |             ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/memory.rs:185:13
[INFO] [stderr]     |
[INFO] [stderr] 185 |             _ => panic!("ERROR: Out of bounds memory write. Addr = 0x{:X}", addr),
[INFO] [stderr]     |             ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> src/memory.rs:185:13
[INFO] [stderr]     |
[INFO] [stderr] 163 |             0x0000...0x7FFF => {
[INFO] [stderr]     |             --------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 170 |             0x8000...0x9FFF => self.gpu.write_u8(addr, value),
[INFO] [stderr]     |             --------------- matches some of the same values
[INFO] [stderr] 171 |             0xA000...0xBFFF =>  {
[INFO] [stderr]     |             --------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 178 |             0xC000...0xDFFF => self.internal[addr as usize - 0xC000] = value,
[INFO] [stderr]     |             --------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 185 |             _ => panic!("ERROR: Out of bounds memory write. Addr = 0x{:X}", addr),
[INFO] [stderr]     |             ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: `gbc-rs` (bin "gbc-rs" test) generated 44 warnings (run `cargo fix --bin "gbc-rs" --tests` to apply 42 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/gbc_rs-1a3e66ccfb8d384a)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stderr] error: XDG_RUNTIME_DIR is invalid or not set in the environment.
[INFO] [stderr] error: XDG_RUNTIME_DIR is invalid or not set in the environment.
[INFO] [stdout] test cpu::decoder::test::decode_cb_totality ... ok
[INFO] [stdout] test cpu::decoder::test::decode_totality ... ok
[INFO] [stderr] 
[INFO] [stderr] thread 'cpu::interpreter::test::ld16_bc_then_de' panicked at library/core/src/panicking.rs:225:5:
[INFO] [stderr] attempted to zero-initialize type `core::mem::manually_drop::ManuallyDrop<xlib::Xlib>`, which is invalid
[INFO] [stderr] stack backtrace:
[INFO] [stderr]    0:     0x56a144a89b92 - std::backtrace_rs::backtrace::libunwind::trace::h73a647620bf1c49d
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stderr]    1:     0x56a144a89b92 - std::backtrace_rs::backtrace::trace_unsynchronized::hd4d513ed96cb3cb1
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stderr]    2:     0x56a144a89b92 - std::sys::backtrace::_print_fmt::h61bb95f7476aafa5
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:66:9
[INFO] [stderr]    3:     0x56a144a89b92 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::ha2e7e3a01df69042
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:39:26
[INFO] [stderr]    4:     0x56a144aaee83 - core::fmt::rt::Argument::fmt::hf14163372f0f9a76
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/fmt/rt.rs:173:76
[INFO] [stderr]    5:     0x56a144aaee83 - core::fmt::write::h7cb8f63788cd01d2
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/fmt/mod.rs:1465:25
[INFO] [stderr]    6:     0x56a144a86a13 - std::io::default_write_fmt::h92ac9345fd53cc14
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/io/mod.rs:639:11
[INFO] [stderr]    7:     0x56a144a86a13 - std::io::Write::write_fmt::h5ebaf381f8338068
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/io/mod.rs:1954:13
[INFO] [stderr]    8:     0x56a144a899e2 - std::sys::backtrace::BacktraceLock::print::h3ec4d7883eb25e61
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:42:9
[INFO] [stderr]    9:     0x56a144a8b1bc - std::panicking::default_hook::{{closure}}::h29548987efd832cb
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:300:27
[INFO] [stderr]   10:     0x56a144a8afbf - std::panicking::default_hook::ha25170a15c643514
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:327:9
[INFO] [stderr]   11:     0x56a1449cd254 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h562adeecbf43c420
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1985:9
[INFO] [stderr]   12:     0x56a1449cd254 - test::test_main_with_exit_callback::{{closure}}::h97dd2a879d27e0e4
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:145:21
[INFO] [stderr]   13:     0x56a144a8bc9b - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7e85cbdbda26fdb7
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1985:9
[INFO] [stderr]   14:     0x56a144a8bc9b - std::panicking::rust_panic_with_hook::h0d81afcd829aa24b
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:841:13
[INFO] [stderr]   15:     0x56a144a8b936 - std::panicking::begin_panic_handler::{{closure}}::hc84a33f1202346cf
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:699:13
[INFO] [stderr]   16:     0x56a144a8a089 - std::sys::backtrace::__rust_end_short_backtrace::h373067a14f6c59aa
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:168:18
[INFO] [stderr]   17:     0x56a144a8b5fd - __rustc[beb0385846a06d21]::rust_begin_unwind
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:697:5
[INFO] [stderr]   18:     0x56a144aada22 - core::panicking::panic_nounwind_fmt::runtime::h562ffc47bd28880d
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panicking.rs:117:22
[INFO] [stderr]   19:     0x56a144aada22 - core::panicking::panic_nounwind_fmt::h25c6c70643d69ab8
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/intrinsics/mod.rs:2345:9
[INFO] [stderr]   20:     0x56a144aadab2 - core::panicking::panic_nounwind::hfa46e26f18668115
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panicking.rs:225:5
[INFO] [stderr]   21:     0x56a144a53614 - core::mem::zeroed::h83394814faa8b119
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/mem/mod.rs:670:9
[INFO] [stderr]   22:     0x56a144a53614 - x11_dl::xlib::Xlib::open::h3a2cc6708df9419e
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/x11-dl-2.17.1/src/link.rs:59:17
[INFO] [stderr]   23:     0x56a144a3b812 - winit::platform::platform::x11::xdisplay::XConnection::new::h9d37fe775a059525
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.9.0/src/platform/linux/x11/xdisplay.rs:29:25
[INFO] [stderr]   24:     0x56a144a41615 - <winit::platform::platform::X11_BACKEND as core::ops::deref::Deref>::deref::__static_ref_initialize::hb8050f82e71b8eb6
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.9.0/src/platform/linux/mod.rs:38:9
[INFO] [stderr]   25:     0x56a144a41615 - core::ops::function::FnOnce::call_once::ha6e79186f941166c
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   26:     0x56a144a41615 - lazy_static::lazy::Lazy<T>::get::{{closure}}::h3041cb2570ee8140
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lazy_static-0.2.11/src/lazy.rs:24:45
[INFO] [stderr]   27:     0x56a144a41615 - std::sync::poison::once::Once::call_once::{{closure}}::h11fd1383f211688f
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sync/poison/once.rs:155:41
[INFO] [stderr]   28:     0x56a144a949e4 - std::sys::sync::once::futex::Once::call::hfddb3545a56ed505
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/sync/once/futex.rs:176:21
[INFO] [stderr]   29:     0x56a144a42553 - std::sync::poison::once::Once::call_once::h73ca64476cc2296e
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sync/poison/once.rs:155:20
[INFO] [stderr]   30:     0x56a144a42553 - lazy_static::lazy::Lazy<T>::get::h9526ef2d2653bf8f
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lazy_static-0.2.11/src/lazy.rs:23:20
[INFO] [stderr]   31:     0x56a144a42553 - <winit::platform::platform::X11_BACKEND as core::ops::deref::Deref>::deref::__stability::h4a0da93e6f47d9b1
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lazy_static-0.2.11/src/lib.rs:138:30
[INFO] [stderr]   32:     0x56a144a42553 - <winit::platform::platform::X11_BACKEND as core::ops::deref::Deref>::deref::ha6ba4714d3645684
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lazy_static-0.2.11/src/lib.rs:140:21
[INFO] [stderr]   33:     0x56a144a42553 - winit::platform::platform::EventsLoop::new_x11::h21770c7e59074261
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.9.0/src/platform/linux/mod.rs:342:15
[INFO] [stderr]   34:     0x56a144a422ab - winit::platform::platform::EventsLoop::new::hf58b88cb72840452
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.9.0/src/platform/linux/mod.rs:328:25
[INFO] [stderr]   35:     0x56a144a3bd09 - winit::EventsLoop::new::h4aeb24dc5b81de02
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.9.0/src/lib.rs:201:26
[INFO] [stderr]   36:     0x56a1449dfe5b - rasteriser::driver::glium::GliumWindow::new::h80b120b693ced0f2
[INFO] [stderr]                                at /opt/rustwide/cargo-home/git/checkouts/rasteriser-73e6f8041c3008c0/f26c7fc/src/driver/glium.rs:67:27
[INFO] [stderr]   37:     0x56a1449dfe5b - <rasteriser::driver::glium::GliumDriver as rasteriser::driver::Driver>::create_window::h7185d57a2b66984f
[INFO] [stderr]                                at /opt/rustwide/cargo-home/git/checkouts/rasteriser-73e6f8041c3008c0/f26c7fc/src/driver/glium.rs:22:18
[INFO] [stderr]   38:     0x56a1449907eb - gbc_rs::gpu::Display::new::h53667517bd800821
[INFO] [stderr]                                at /opt/rustwide/workdir/src/gpu.rs:18:28
[INFO] [stderr]   39:     0x56a1449907eb - gbc_rs::gpu::Gpu::new::hbfc95f1b262c06c9
[INFO] [stderr]                                at /opt/rustwide/workdir/src/gpu.rs:62:22
[INFO] [stderr]   40:     0x56a1449907eb - gbc_rs::memory::Memory::new::h08387e7fa0ee90dc
[INFO] [stderr]                                at /opt/rustwide/workdir/src/memory.rs:63:18
[INFO] [stderr]   41:     0x56a1449907eb - gbc_rs::cpu::interpreter::test::init_cpu::hec9028ade42f74b2
[INFO] [stderr]                                at /opt/rustwide/workdir/src/cpu/interpreter.rs:699:39
[INFO] [stderr]   42:     0x56a144990327 - gbc_rs::cpu::interpreter::test::ld16_bc_then_de::h6e15cf60a598b4e6
[INFO] [stderr]                                at /opt/rustwide/workdir/src/cpu/interpreter.rs:713:28
[INFO] [stderr]   43:     0x56a144990327 - gbc_rs::cpu::interpreter::test::ld16_bc_then_de::{{closure}}::h3ac9f6dd275069ee
[INFO] [stderr]                                at /opt/rustwide/workdir/src/cpu/interpreter.rs:712:25
[INFO] [stderr]   44:     0x56a144990327 - core::ops::function::FnOnce::call_once::he2a3dd64acff35c7
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   45:     0x56a1449d298b - core::ops::function::FnOnce::call_once::hf84b9c3d864a6959
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   46:     0x56a1449d298b - test::__rust_begin_short_backtrace::h5724e31441c16fcb
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:648:18
[INFO] [stderr]   47:     0x56a1449d1bce - test::run_test_in_process::{{closure}}::hbc28c9aa91793d7d
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:671:74
[INFO] [stderr]   48:     0x56a1449d1bce - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hc17b0e238c0f8f3e
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stderr]   49:     0x56a1449d1bce - std::panicking::catch_unwind::do_call::hcdbce0d6dd6c83ce
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:589:40
[INFO] [stderr]   50:     0x56a1449d1bce - std::panicking::catch_unwind::h9477967ceea044e8
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:552:19
[INFO] [stderr]   51:     0x56a1449d1bce - std::panic::catch_unwind::h616a2e249da12e16
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panic.rs:359:14
[INFO] [stderr]   52:     0x56a1449d1bce - test::run_test_in_process::h2758deb0f2e54430
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:671:27
[INFO] [stderr]   53:     0x56a1449d1bce - test::run_test::{{closure}}::habe5cd2564b18aaa
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:592:43
[INFO] [stderr]   54:     0x56a144995774 - test::run_test::{{closure}}::h9a0a6928f1a15421
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:622:41
[INFO] [stderr]   55:     0x56a144995774 - std::sys::backtrace::__rust_begin_short_backtrace::hd68b5332434a22ca
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:152:18
[INFO] [stderr]   56:     0x56a14499911a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h264ddcc3098eacae
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/thread/mod.rs:559:17
[INFO] [stderr]   57:     0x56a14499911a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9fa39489749d6f3c
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stderr]   58:     0x56a14499911a - std::panicking::catch_unwind::do_call::hb9a1944b9f85100f
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:589:40
[INFO] [stderr]   59:     0x56a14499911a - std::panicking::catch_unwind::h0c6f100786c0dad8
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:552:19
[INFO] [stderr]   60:     0x56a14499911a - std::panic::catch_unwind::hf6084e2723385823
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panic.rs:359:14
[INFO] [stderr]   61:     0x56a14499911a - std::thread::Builder::spawn_unchecked_::{{closure}}::hf0af58ce658143ad
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/thread/mod.rs:557:30
[INFO] [stderr]   62:     0x56a14499911a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h88a14f9b2e79f9de
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   63:     0x56a144a8ebf7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf31256ba38644b65
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1971:9
[INFO] [stderr]   64:     0x56a144a8ebf7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h100ad77f3448041b
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1971:9
[INFO] [stderr]   65:     0x56a144a8ebf7 - std::sys::pal::unix::thread::Thread::new::thread_start::h1a22ded422ce395b
[INFO] [stderr]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/pal/unix/thread.rs:97:17
[INFO] [stderr]   66:     0x76f35551aaa4 - <unknown>
[INFO] [stderr]   67:     0x76f3555a7a34 - clone
[INFO] [stderr]   68:                0x0 - <unknown>
[INFO] [stderr] thread caused non-unwinding panic. aborting.
[INFO] [stderr] error: test failed, to rerun pass `--bin gbc-rs`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/gbc_rs-1a3e66ccfb8d384a` (signal: 6, SIGABRT: process abort signal)
[INFO] running `Command { std: "docker" "inspect" "98bc51544503cef439f2fdc1bcf8f994ea75df61a94ef97daa58fe9f4a2485e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "98bc51544503cef439f2fdc1bcf8f994ea75df61a94ef97daa58fe9f4a2485e4", kill_on_drop: false }`
[INFO] [stdout] 98bc51544503cef439f2fdc1bcf8f994ea75df61a94ef97daa58fe9f4a2485e4
