[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 nightly-2025-01-18 for randomize-layout-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdavedissian%2Fgbc-rs" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/davedissian/gbc-rs on toolchain nightly-2025-01-18
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2025-01-18" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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-1-tc1/source/Cargo.toml
[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" "+nightly-2025-01-18" "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] [stderr]     Updating git repository `https://github.com/davedissian/rasteriser.git`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded unborrow v0.3.1
[INFO] [stderr]   Downloaded wayland-scanner v0.12.4
[INFO] [stderr]   Downloaded x11-dl v2.17.1
[INFO] [stderr]   Downloaded wayland-sys v0.12.4
[INFO] [stderr]   Downloaded wayland-sys v0.9.10
[INFO] [stderr]   Downloaded rustc-demangle v0.1.5
[INFO] [stderr]   Downloaded user32-sys v0.1.3
[INFO] [stderr]   Downloaded core-graphics v0.8.2
[INFO] [stderr]   Downloaded gl_generator v0.6.1
[INFO] [stderr]   Downloaded backtrace v0.3.4
[INFO] [stderr]   Downloaded xml-rs v0.6.1
[INFO] [stderr]   Downloaded wayland-kbd v0.13.0
[INFO] [stderr]   Downloaded winit v0.9.0
[INFO] [stderr]   Downloaded wayland-protocols v0.12.4
[INFO] [stderr]   Downloaded wayland-client v0.9.10
[INFO] [stderr]   Downloaded memmap v0.6.1
[INFO] [stderr]   Downloaded wayland-client v0.12.4
[INFO] [stderr]   Downloaded glutin v0.11.0
[INFO] [stderr]   Downloaded gleam v0.4.17
[INFO] [stderr]   Downloaded cocoa v0.9.2
[INFO] [stderr]   Downloaded core-foundation v0.3.0
[INFO] [stderr]   Downloaded cocoa v0.11.0
[INFO] [stderr]   Downloaded khronos_api v2.0.0
[INFO] [stderr]   Downloaded core-graphics v0.10.0
[INFO] [stderr]   Downloaded cgl v0.2.1
[INFO] [stderr]   Downloaded core-foundation-sys v0.3.1
[INFO] [stderr]   Downloaded gdi32-sys v0.1.2
[INFO] [stderr]   Downloaded shared_library v0.1.8
[INFO] [stderr]   Downloaded wayland-scanner v0.9.10
[INFO] [stderr]   Downloaded dwmapi-sys v0.1.1
[INFO] [stderr]   Downloaded glium v0.19.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 34804c93e5de3484f46ae74b960211cb389e019a3607ee3c66a0e2d4adef530e
[INFO] running `Command { std: "docker" "start" "-a" "34804c93e5de3484f46ae74b960211cb389e019a3607ee3c66a0e2d4adef530e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "34804c93e5de3484f46ae74b960211cb389e019a3607ee3c66a0e2d4adef530e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "34804c93e5de3484f46ae74b960211cb389e019a3607ee3c66a0e2d4adef530e", kill_on_drop: false }`
[INFO] [stdout] 34804c93e5de3484f46ae74b960211cb389e019a3607ee3c66a0e2d4adef530e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ab1e29f6757cf203491f777740644df8ce3beabded7b27234f4a0566d1e16416
[INFO] running `Command { std: "docker" "start" "-a" "ab1e29f6757cf203491f777740644df8ce3beabded7b27234f4a0566d1e16416", 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 serde v0.9.15
[INFO] [stderr]    Compiling dtoa v0.4.2
[INFO] [stderr]    Compiling itoa v0.3.4
[INFO] [stderr]    Compiling num-traits v0.1.41
[INFO] [stderr]    Compiling token_store v0.1.2
[INFO] [stderr]    Compiling log v0.3.8
[INFO] [stderr]    Compiling bitflags v0.9.1
[INFO] [stderr]    Compiling khronos_api v2.0.0
[INFO] [stderr]    Compiling pkg-config v0.3.9
[INFO] [stderr]    Compiling cc v1.0.3
[INFO] [stderr]    Compiling cfg-if v0.1.2
[INFO] [stderr]    Compiling rustc-demangle v0.1.5
[INFO] [stderr]    Compiling xml-rs v0.7.0
[INFO] [stderr]    Compiling xml-rs v0.6.1
[INFO] [stderr]    Compiling fnv v1.0.6
[INFO] [stderr]    Compiling smallvec v0.4.4
[INFO] [stderr]    Compiling phf_shared v0.7.21
[INFO] [stderr]    Compiling unborrow v0.3.1
[INFO] [stderr]    Compiling phf v0.7.21
[INFO] [stderr]    Compiling dlib v0.4.0
[INFO] [stderr]    Compiling x11-dl v2.17.1
[INFO] [stderr]    Compiling wayland-sys v0.12.4
[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 backtrace-sys v0.1.16
[INFO] [stderr]    Compiling osmesa-sys v0.1.2
[INFO] [stderr]    Compiling wayland-scanner v0.9.10
[INFO] [stderr]    Compiling phf_generator v0.7.21
[INFO] [stderr]    Compiling tempfile v2.2.0
[INFO] [stderr]    Compiling phf_codegen v0.7.21
[INFO] [stderr]    Compiling target_build_utils v0.3.1
[INFO] [stderr]    Compiling wayland-scanner v0.12.4
[INFO] [stderr]    Compiling gl_generator v0.7.0
[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 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 44.22s
[INFO] running `Command { std: "docker" "inspect" "ab1e29f6757cf203491f777740644df8ce3beabded7b27234f4a0566d1e16416", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ab1e29f6757cf203491f777740644df8ce3beabded7b27234f4a0566d1e16416", kill_on_drop: false }`
[INFO] [stdout] ab1e29f6757cf203491f777740644df8ce3beabded7b27234f4a0566d1e16416
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 52f8dd94737f990cf76dd7509834ccea37a5a59fa70b55c5853af458908a4359
[INFO] running `Command { std: "docker" "start" "-a" "52f8dd94737f990cf76dd7509834ccea37a5a59fa70b55c5853af458908a4359", 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.16s
[INFO] running `Command { std: "docker" "inspect" "52f8dd94737f990cf76dd7509834ccea37a5a59fa70b55c5853af458908a4359", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "52f8dd94737f990cf76dd7509834ccea37a5a59fa70b55c5853af458908a4359", kill_on_drop: false }`
[INFO] [stdout] 52f8dd94737f990cf76dd7509834ccea37a5a59fa70b55c5853af458908a4359
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 516e8076a56474a7f2e3d310853d1ae7fb4f69008a6ffdd61500e70dc0b08f47
[INFO] running `Command { std: "docker" "start" "-a" "516e8076a56474a7f2e3d310853d1ae7fb4f69008a6ffdd61500e70dc0b08f47", 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.08s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/gbc_rs-b3f9b60d7230e185)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stderr] error: XDG_RUNTIME_DIR not set in the environment.
[INFO] [stderr] error: XDG_RUNTIME_DIR not set in the environment.
[INFO] [stderr] 
[INFO] [stderr] thread 'cpu::interpreter::test::ld16_bc_then_de' panicked at library/core/src/panicking.rs:218: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:     0x561a0eb9023a - std::backtrace_rs::backtrace::libunwind::trace::hb059275cfc8d6126
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stderr]    1:     0x561a0eb9023a - std::backtrace_rs::backtrace::trace_unsynchronized::h2da071e4327ce3ee
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stderr]    2:     0x561a0eb9023a - std::sys::backtrace::_print_fmt::h842a1474e6f8d23f
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:66:9
[INFO] [stderr]    3:     0x561a0eb9023a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h71a62eb3b9696b12
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:39:26
[INFO] [stderr]    4:     0x561a0ebb7b73 - core::fmt::rt::Argument::fmt::hdb6b616786b41dc1
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/rt.rs:177:76
[INFO] [stderr]    5:     0x561a0ebb7b73 - core::fmt::write::h2cc1698af7e2d686
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/mod.rs:1440:21
[INFO] [stderr]    6:     0x561a0eb8c8e3 - std::io::Write::write_fmt::h00c8700df393f328
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/io/mod.rs:1887:15
[INFO] [stderr]    7:     0x561a0eb90082 - std::sys::backtrace::BacktraceLock::print::h147fe35b4ea13b08
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:42:9
[INFO] [stderr]    8:     0x561a0eb9165f - std::panicking::default_hook::{{closure}}::hbd44223dbdc0d208
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:298:22
[INFO] [stderr]    9:     0x561a0eb914ca - std::panicking::default_hook::h20f81eb0576efcec
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:325:9
[INFO] [stderr]   10:     0x561a0e9b67d3 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hdb53814c496a4d34
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stderr]   11:     0x561a0e9b67d3 - test::test_main::{{closure}}::hc0a4963c59427c24
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:134:21
[INFO] [stderr]   12:     0x561a0eb92153 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h591b2225413a77e9
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stderr]   13:     0x561a0eb92153 - std::panicking::rust_panic_with_hook::h625eea43051b2edc
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:839:13
[INFO] [stderr]   14:     0x561a0eb91dd6 - std::panicking::begin_panic_handler::{{closure}}::h4f9159cfbc3f6bd3
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:697:13
[INFO] [stderr]   15:     0x561a0eb90739 - std::sys::backtrace::__rust_end_short_backtrace::h0390abce48353151
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:168:18
[INFO] [stderr]   16:     0x561a0eb91a9d - rust_begin_unwind
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:695:5
[INFO] [stderr]   17:     0x561a0ebb65bd - core::panicking::panic_nounwind_fmt::runtime::hff07b4bc76d03a4c
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:117:22
[INFO] [stderr]   18:     0x561a0ebb65bd - core::panicking::panic_nounwind_fmt::hbd5e8c40c5ce07f6
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/intrinsics/mod.rs:3861:9
[INFO] [stderr]   19:     0x561a0ebb6652 - core::panicking::panic_nounwind::h87bcbf062a0b0104
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:218:5
[INFO] [stderr]   20:     0x561a0eb55dd2 - core::mem::zeroed::h51d86a6f79dc8afa
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/mem/mod.rs:656:9
[INFO] [stderr]   21:     0x561a0eb55dd2 - x11_dl::xlib::Xlib::open::hebad8a9f0809f1ac
[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]   22:     0x561a0eae43db - winit::platform::platform::x11::xdisplay::XConnection::new::hb4d773525d9fdbf5
[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]   23:     0x561a0eaaeef2 - <winit::platform::platform::X11_BACKEND as core::ops::deref::Deref>::deref::__static_ref_initialize::h1bd8bb560c31b71b
[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]   24:     0x561a0eaaeef2 - core::ops::function::FnOnce::call_once::h1c17b98683bac987
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   25:     0x561a0eadff47 - lazy_static::lazy::Lazy<T>::get::{{closure}}::hb8d289d4b40a5d92
[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]   26:     0x561a0eae93b9 - std::sync::poison::once::Once::call_once::{{closure}}::hfcc8b91d6da00be2
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sync/poison/once.rs:158:41
[INFO] [stderr]   27:     0x561a0eb9a494 - std::sys::sync::once::futex::Once::call::h815b83ce02d0388e
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/sync/once/futex.rs:176:21
[INFO] [stderr]   28:     0x561a0eae92b4 - std::sync::poison::once::Once::call_once::h8394ad68363b2157
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sync/poison/once.rs:158:9
[INFO] [stderr]   29:     0x561a0eae1bad - lazy_static::lazy::Lazy<T>::get::haea4d128930fe48f
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lazy_static-0.2.11/src/lazy.rs:23:13
[INFO] [stderr]   30:     0x561a0eae1bad - <winit::platform::platform::X11_BACKEND as core::ops::deref::Deref>::deref::__stability::h89467adcb89466bf
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lazy_static-0.2.11/src/lib.rs:138:25
[INFO] [stderr]   31:     0x561a0eae1bad - <winit::platform::platform::X11_BACKEND as core::ops::deref::Deref>::deref::h245386e73c8c084d
[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]   32:     0x561a0eae1a7d - winit::platform::platform::EventsLoop::new_x11::habc44e65a2698eec
[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]   33:     0x561a0eae1977 - winit::platform::platform::EventsLoop::new::h5764d48e9c968f2b
[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]   34:     0x561a0eacdc6a - winit::EventsLoop::new::hcd1386ac921a4ebd
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.9.0/src/lib.rs:201:26
[INFO] [stderr]   35:     0x561a0e9c715e - rasteriser::driver::glium::GliumWindow::new::h568dbdd546e768d1
[INFO] [stderr]                                at /opt/rustwide/cargo-home/git/checkouts/rasteriser-73e6f8041c3008c0/f26c7fc/src/driver/glium.rs:67:27
[INFO] [stderr]   36:     0x561a0e9c6df9 - <rasteriser::driver::glium::GliumDriver as rasteriser::driver::Driver>::create_window::hcbd724fe9317d1af
[INFO] [stderr]                                at /opt/rustwide/cargo-home/git/checkouts/rasteriser-73e6f8041c3008c0/f26c7fc/src/driver/glium.rs:22:18
[INFO] [stderr]   37:     0x561a0e97326f - gbc_rs::gpu::Display::new::h8bf2fabb6d48baef
[INFO] [stderr]                                at /opt/rustwide/workdir/src/gpu.rs:18:21
[INFO] [stderr]   38:     0x561a0e97331d - gbc_rs::gpu::Gpu::new::hc0068f6bdb229701
[INFO] [stderr]                                at /opt/rustwide/workdir/src/gpu.rs:62:22
[INFO] [stderr]   39:     0x561a0e973ecf - gbc_rs::memory::Memory::new::h26163af11976be9e
[INFO] [stderr]                                at /opt/rustwide/workdir/src/memory.rs:63:18
[INFO] [stderr]   40:     0x561a0e9730eb - gbc_rs::cpu::interpreter::test::init_cpu::h77022b8f7b18d4a7
[INFO] [stderr]                                at /opt/rustwide/workdir/src/cpu/interpreter.rs:699:39
[INFO] [stderr]   41:     0x561a0e978426 - gbc_rs::cpu::interpreter::test::ld16_bc_then_de::hb4f010860c25a0ec
[INFO] [stderr]                                at /opt/rustwide/workdir/src/cpu/interpreter.rs:713:28
[INFO] [stderr]   42:     0x561a0e9783f7 - gbc_rs::cpu::interpreter::test::ld16_bc_then_de::{{closure}}::hfa276421b39de1ca
[INFO] [stderr]                                at /opt/rustwide/workdir/src/cpu/interpreter.rs:712:25
[INFO] [stderr]   43:     0x561a0e96f9b6 - core::ops::function::FnOnce::call_once::h7dc63d176f3b373d
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   44:     0x561a0e9bbf2b - core::ops::function::FnOnce::call_once::he27718dfdd183f43
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   45:     0x561a0e9bbf2b - test::__rust_begin_short_backtrace::h4e84902998457a5d
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:632:18
[INFO] [stderr]   46:     0x561a0e9bae63 - test::run_test_in_process::{{closure}}::h7176fd18fc1feca0
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:60
[INFO] [stderr]   47:     0x561a0e9bae63 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf79cff2a624d8cf7
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stderr]   48:     0x561a0e9bae63 - std::panicking::try::do_call::h3da0561d9ab99c25
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stderr]   49:     0x561a0e9bae63 - std::panicking::try::h41c9fa508bc61df6
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stderr]   50:     0x561a0e9bae63 - std::panic::catch_unwind::h6b3ff07bb5afad93
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stderr]   51:     0x561a0e9bae63 - test::run_test_in_process::hc7253dd11b39b9f4
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:27
[INFO] [stderr]   52:     0x561a0e9bae63 - test::run_test::{{closure}}::hfb2007f8649c30bb
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:576:43
[INFO] [stderr]   53:     0x561a0e97df45 - test::run_test::{{closure}}::h56a17aa7a282a9f4
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:606:41
[INFO] [stderr]   54:     0x561a0e97df45 - std::sys::backtrace::__rust_begin_short_backtrace::hd2d2d2fb8e8c6aac
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:152:18
[INFO] [stderr]   55:     0x561a0e98182a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h4faa3f9db6133423
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:559:17
[INFO] [stderr]   56:     0x561a0e98182a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf2e855a36a4ea846
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stderr]   57:     0x561a0e98182a - std::panicking::try::do_call::h2f73af3616c35465
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stderr]   58:     0x561a0e98182a - std::panicking::try::hd1660ce9efadef5a
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stderr]   59:     0x561a0e98182a - std::panic::catch_unwind::h5ee8d7823b8ca744
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stderr]   60:     0x561a0e98182a - std::thread::Builder::spawn_unchecked_::{{closure}}::h53c3a1894dce8407
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:557:30
[INFO] [stderr]   61:     0x561a0e98182a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h048ce291ad4f62bf
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   62:     0x561a0eb9617b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha52bedf99a3b4981
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stderr]   63:     0x561a0eb9617b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h567748934d80ccf8
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stderr]   64:     0x561a0eb9617b - std::sys::pal::unix::thread::Thread::new::thread_start::h2d970728ae887adc
[INFO] [stderr]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/pal/unix/thread.rs:106:17
[INFO] [stderr]   65:     0x7c8ffb261ac3 - <unknown>
[INFO] [stderr]   66:     0x7c8ffb2f2a04 - clone
[INFO] [stderr]   67:                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-b3f9b60d7230e185` (signal: 6, SIGABRT: process abort signal)
[INFO] running `Command { std: "docker" "inspect" "516e8076a56474a7f2e3d310853d1ae7fb4f69008a6ffdd61500e70dc0b08f47", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "516e8076a56474a7f2e3d310853d1ae7fb4f69008a6ffdd61500e70dc0b08f47", kill_on_drop: false }`
[INFO] [stdout] 516e8076a56474a7f2e3d310853d1ae7fb4f69008a6ffdd61500e70dc0b08f47
