[INFO] updating cached repository davedissian/gbc-rs [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/davedissian/gbc-rs [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/davedissian/gbc-rs" "work/ex/pr-62849/sources/master#435236b8877cdb98c82eaebfb7887782277265c5/gh/davedissian/gbc-rs"` [INFO] [stderr] Cloning into 'work/ex/pr-62849/sources/master#435236b8877cdb98c82eaebfb7887782277265c5/gh/davedissian/gbc-rs'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/davedissian/gbc-rs" "work/ex/pr-62849/sources/try#b5c7f157c20453dde8d47371abe73b32351b4e7f/gh/davedissian/gbc-rs"` [INFO] [stderr] Cloning into 'work/ex/pr-62849/sources/try#b5c7f157c20453dde8d47371abe73b32351b4e7f/gh/davedissian/gbc-rs'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] e603e5f037a7ac662b98c83a3437e89337683828 [INFO] sha for GitHub repo davedissian/gbc-rs: e603e5f037a7ac662b98c83a3437e89337683828 [INFO] validating manifest of davedissian/gbc-rs on toolchain master#435236b8877cdb98c82eaebfb7887782277265c5 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+435236b8877cdb98c82eaebfb7887782277265c5-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of davedissian/gbc-rs on toolchain try#b5c7f157c20453dde8d47371abe73b32351b4e7f [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+b5c7f157c20453dde8d47371abe73b32351b4e7f-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing davedissian/gbc-rs [INFO] finished frobbing davedissian/gbc-rs [INFO] frobbed toml for davedissian/gbc-rs written to work/ex/pr-62849/sources/master#435236b8877cdb98c82eaebfb7887782277265c5/gh/davedissian/gbc-rs/Cargo.toml [INFO] started frobbing davedissian/gbc-rs [INFO] finished frobbing davedissian/gbc-rs [INFO] frobbed toml for davedissian/gbc-rs written to work/ex/pr-62849/sources/try#b5c7f157c20453dde8d47371abe73b32351b4e7f/gh/davedissian/gbc-rs/Cargo.toml [INFO] crate davedissian/gbc-rs already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+435236b8877cdb98c82eaebfb7887782277265c5-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+b5c7f157c20453dde8d47371abe73b32351b4e7f-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking davedissian/gbc-rs against try#b5c7f157c20453dde8d47371abe73b32351b4e7f for pr-62849 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-62849/worker-4/try#b5c7f157c20453dde8d47371abe73b32351b4e7f:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-62849/sources/try#b5c7f157c20453dde8d47371abe73b32351b4e7f/gh/davedissian/gbc-rs:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+b5c7f157c20453dde8d47371abe73b32351b4e7f-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 7e3db2289c37210366ce30dfb41907506a0e0cfd916e3d3d19f400e981f2910a [INFO] running `"docker" "start" "-a" "7e3db2289c37210366ce30dfb41907506a0e0cfd916e3d3d19f400e981f2910a"` [INFO] [stderr] Checking unborrow v0.3.1 [INFO] [stderr] Compiling glium v0.19.0 [INFO] [stderr] Checking rasteriser v0.1.0 (https://github.com/davedissian/rasteriser.git#f26c7fc6) [INFO] [stderr] Checking gbc-rs v0.1.0 (/opt/crater/workdir) [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 R>), [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn Fn(u8) -> R` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [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 R>), [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(u16) -> R` [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] = 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cartridge/mod.rs:17:18 [INFO] [stderr] | [INFO] [stderr] 17 | pub mbc: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MemoryBankController` [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 = match cartridge_type { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MemoryBankController` [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, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn driver::Driver` [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, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn driver::Window` [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) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(KeyCode, KeyState)` [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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu/ops.rs:60:18 [INFO] [stderr] | [INFO] [stderr] 60 | Partial8(Box R>), [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn Fn(u8) -> R` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [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 R>), [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(u16) -> R` [INFO] [stderr] [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] = 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cartridge/mod.rs:17:18 [INFO] [stderr] | [INFO] [stderr] 17 | pub mbc: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MemoryBankController` [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 = match cartridge_type { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MemoryBankController` [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, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn driver::Driver` [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, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn driver::Window` [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) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(KeyCode, KeyState)` [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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: `...` 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: 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] | ^ [INFO] [stderr] | [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] | ^ [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] | ^ [INFO] [stderr] | [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] | ^ [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] Finished dev [unoptimized + debuginfo] target(s) in 32.20s [INFO] running `"docker" "inspect" "7e3db2289c37210366ce30dfb41907506a0e0cfd916e3d3d19f400e981f2910a"` [INFO] running `"docker" "rm" "-f" "7e3db2289c37210366ce30dfb41907506a0e0cfd916e3d3d19f400e981f2910a"` [INFO] [stdout] 7e3db2289c37210366ce30dfb41907506a0e0cfd916e3d3d19f400e981f2910a