[INFO] cloning repository https://github.com/mvdnes/rboy [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mvdnes/rboy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmvdnes%2Frboy"` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmvdnes%2Frboy'... [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 0ca21f2892953dc9e07363ade4f7e984c5796557 [INFO] checking mvdnes/rboy against master#2748a9fd93dd1a00a4521f4f16de5befbf77f6cd for pr-62262-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmvdnes%2Frboy" "/workspace/builds/worker-8/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-8/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/mvdnes/rboy on toolchain 2748a9fd93dd1a00a4521f4f16de5befbf77f6cd [INFO] running `"/workspace/cargo-home/bin/cargo" "+2748a9fd93dd1a00a4521f4f16de5befbf77f6cd" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/mvdnes/rboy [INFO] finished tweaking git repo https://github.com/mvdnes/rboy [INFO] tweaked toml for git repo https://github.com/mvdnes/rboy written to /workspace/builds/worker-8/source/Cargo.toml [INFO] crate git repo https://github.com/mvdnes/rboy already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+2748a9fd93dd1a00a4521f4f16de5befbf77f6cd" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+2748a9fd93dd1a00a4521f4f16de5befbf77f6cd" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 53c188f4a4ff7840deee275028a4940ea93f2ce5533439957e8dd91c65c0cbf4 [INFO] running `"docker" "start" "-a" "53c188f4a4ff7840deee275028a4940ea93f2ce5533439957e8dd91c65c0cbf4"` [INFO] [stderr] Compiling libc v0.2.58 [INFO] [stderr] Compiling libloading v0.5.1 [INFO] [stderr] Compiling backtrace v0.3.31 [INFO] [stderr] Compiling blip_buf-sys v0.1.3 [INFO] [stderr] Compiling gl_generator v0.11.0 [INFO] [stderr] Compiling wayland-scanner v0.21.13 [INFO] [stderr] Compiling syn v0.15.38 [INFO] [stderr] Checking rusttype v0.7.7 [INFO] [stderr] Checking andrew v0.2.1 [INFO] [stderr] Checking dlib v0.4.1 [INFO] [stderr] Checking wayland-sys v0.21.13 [INFO] [stderr] Compiling glutin_egl_sys v0.1.3 [INFO] [stderr] Compiling glutin_glx_sys v0.1.5 [INFO] [stderr] Compiling glium v0.25.0 [INFO] [stderr] Checking nix v0.14.1 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking memmap v0.7.0 [INFO] [stderr] Checking x11-dl v2.18.3 [INFO] [stderr] Checking shared_library v0.1.9 [INFO] [stderr] Checking backtrace-sys v0.1.28 [INFO] [stderr] Checking atty v0.2.11 [INFO] [stderr] Checking alsa-sys v0.1.2 [INFO] [stderr] Checking clap v2.33.0 [INFO] [stderr] Checking blip_buf v0.1.4 [INFO] [stderr] Checking rand v0.6.5 [INFO] [stderr] Checking osmesa-sys v0.1.2 [INFO] [stderr] Checking cpal v0.9.0 [INFO] [stderr] Compiling wayland-client v0.21.13 [INFO] [stderr] Compiling wayland-protocols v0.21.13 [INFO] [stderr] Checking parking_lot_core v0.4.0 [INFO] [stderr] Checking parking_lot v0.7.1 [INFO] [stderr] Checking wayland-commons v0.21.13 [INFO] [stderr] Compiling derivative v1.0.2 [INFO] [stderr] Checking smithay-client-toolkit v0.4.6 [INFO] [stderr] Checking winit v0.19.1 [INFO] [stderr] Checking glutin v0.21.0 [INFO] [stderr] Checking rboy v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/device.rs:62:48 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn enable_audio(&mut self, player: Box) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn sound::AudioPlayer` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/gpu.rs:175:20 [INFO] [stderr] | [INFO] [stderr] 175 | 0x8000 ... 0x9FFF => self.vram[(self.vrambank * 0x2000) | (a as usize & 0x1FFF)], [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/gpu.rs:176:20 [INFO] [stderr] | [INFO] [stderr] 176 | 0xFE00 ... 0xFE9F => self.voam[a 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:241:20 [INFO] [stderr] | [INFO] [stderr] 241 | 0x8000 ... 0x9FFF => self.vram[(self.vrambank * 0x2000) | (a as usize & 0x1FFF)] = v, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/gpu.rs:242:20 [INFO] [stderr] | [INFO] [stderr] 242 | 0xFE00 ... 0xFE9F => self.voam[a as usize - 0xFE00] = v, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mbc1.rs:79:20 [INFO] [stderr] | [INFO] [stderr] 79 | 0x0000 ... 0x1FFF => { self.ram_on = v == 0x0A; }, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mbc1.rs:80:20 [INFO] [stderr] | [INFO] [stderr] 80 | 0x2000 ... 0x3FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mbc1.rs:83:20 [INFO] [stderr] | [INFO] [stderr] 83 | 0x4000 ... 0x5FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mbc1.rs:90:20 [INFO] [stderr] | [INFO] [stderr] 90 | 0x6000 ... 0x7FFF => { self.ram_mode = (v & 0x01) == 0x01; }, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mbc3.rs:147:20 [INFO] [stderr] | [INFO] [stderr] 147 | 0x0000 ... 0x1FFF => self.ram_on = v == 0x0A, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mbc3.rs:148:20 [INFO] [stderr] | [INFO] [stderr] 148 | 0x2000 ... 0x3FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mbc3.rs:151:20 [INFO] [stderr] | [INFO] [stderr] 151 | 0x4000 ... 0x5FFF => self.rambank = v as usize, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mbc3.rs:152:20 [INFO] [stderr] | [INFO] [stderr] 152 | 0x6000 ... 0x7FFF => match v { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mbc5.rs:79:20 [INFO] [stderr] | [INFO] [stderr] 79 | 0x0000 ... 0x1FFF => self.ram_on = v == 0x0A, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mbc5.rs:80:20 [INFO] [stderr] | [INFO] [stderr] 80 | 0x2000 ... 0x2FFF => self.rombank = (self.rombank & 0x100) | (v as usize), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mbc5.rs:81:20 [INFO] [stderr] | [INFO] [stderr] 81 | 0x3000 ... 0x3FFF => self.rombank = (self.rombank & 0x0FF) | (((v & 0x1) as usize) << 8), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mbc5.rs:82:20 [INFO] [stderr] | [INFO] [stderr] 82 | 0x4000 ... 0x5FFF => self.rambank = (v & 0x0F) as usize, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mbc5.rs:83:20 [INFO] [stderr] | [INFO] [stderr] 83 | 0x6000 ... 0x7FFF => { /* ? */ }, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mbc/mod.rs:39:75 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn get_mbc(file: path::PathBuf, skip_checksum: bool) -> StrResult> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn MBC+'static` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mbc/mod.rs:47:66 [INFO] [stderr] | [INFO] [stderr] 47 | 0x00 => mbc0::MBC0::new(data).map(|v| Box::new(v) as Box), [INFO] [stderr] | ^^^ help: use `dyn`: `dyn MBC` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mod.rs:48:14 [INFO] [stderr] | [INFO] [stderr] 48 | 0x01 ... 0x03 => mbc1::MBC1::new(data, file).map(|v| Box::new(v) as Box), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mbc/mod.rs:48:81 [INFO] [stderr] | [INFO] [stderr] 48 | 0x01 ... 0x03 => mbc1::MBC1::new(data, file).map(|v| Box::new(v) as Box), [INFO] [stderr] | ^^^ help: use `dyn`: `dyn MBC` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mod.rs:49:14 [INFO] [stderr] | [INFO] [stderr] 49 | 0x0F ... 0x13 => mbc3::MBC3::new(data, file).map(|v| Box::new(v) as Box), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mbc/mod.rs:49:81 [INFO] [stderr] | [INFO] [stderr] 49 | 0x0F ... 0x13 => mbc3::MBC3::new(data, file).map(|v| Box::new(v) as Box), [INFO] [stderr] | ^^^ help: use `dyn`: `dyn MBC` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mod.rs:50:14 [INFO] [stderr] | [INFO] [stderr] 50 | 0x19 ... 0x1E => mbc5::MBC5::new(data, file).map(|v| Box::new(v) as Box), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mbc/mod.rs:50:81 [INFO] [stderr] | [INFO] [stderr] 50 | 0x19 ... 0x1E => mbc5::MBC5::new(data, file).map(|v| Box::new(v) as Box), [INFO] [stderr] | ^^^ help: use `dyn`: `dyn MBC` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mmu.rs:37:18 [INFO] [stderr] | [INFO] [stderr] 37 | pub mbc: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn mbc::MBC+'static` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:183:20 [INFO] [stderr] | [INFO] [stderr] 183 | 0x0000 ... 0x7FFF => self.mbc.readrom(address), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:184:20 [INFO] [stderr] | [INFO] [stderr] 184 | 0x8000 ... 0x9FFF => self.gpu.rb(address), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:185:20 [INFO] [stderr] | [INFO] [stderr] 185 | 0xA000 ... 0xBFFF => self.mbc.readram(address), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:186:20 [INFO] [stderr] | [INFO] [stderr] 186 | 0xC000 ... 0xCFFF | 0xE000 ... 0xEFFF => self.wram[address as usize & 0x0FFF], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:186:40 [INFO] [stderr] | [INFO] [stderr] 186 | 0xC000 ... 0xCFFF | 0xE000 ... 0xEFFF => self.wram[address as usize & 0x0FFF], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:187:20 [INFO] [stderr] | [INFO] [stderr] 187 | 0xD000 ... 0xDFFF | 0xF000 ... 0xFDFF => self.wram[(self.wrambank * 0x1000) | address as usize & 0x0FFF], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:187:40 [INFO] [stderr] | [INFO] [stderr] 187 | 0xD000 ... 0xDFFF | 0xF000 ... 0xFDFF => self.wram[(self.wrambank * 0x1000) | address as usize & 0x0FFF], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:188:20 [INFO] [stderr] | [INFO] [stderr] 188 | 0xFE00 ... 0xFE9F => self.gpu.rb(address), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:190:20 [INFO] [stderr] | [INFO] [stderr] 190 | 0xFF01 ... 0xFF02 => self.serial.rb(address), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:191:20 [INFO] [stderr] | [INFO] [stderr] 191 | 0xFF04 ... 0xFF07 => self.timer.rb(address), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:193:20 [INFO] [stderr] | [INFO] [stderr] 193 | 0xFF10 ... 0xFF3F => self.sound.as_mut().map_or(0, |s| s.rb(address)), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:195:20 [INFO] [stderr] | [INFO] [stderr] 195 | 0xFF40 ... 0xFF4F => self.gpu.rb(address), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:196:20 [INFO] [stderr] | [INFO] [stderr] 196 | 0xFF51 ... 0xFF55 => self.hdma_read(address), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:197:20 [INFO] [stderr] | [INFO] [stderr] 197 | 0xFF68 ... 0xFF6B => self.gpu.rb(address), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:199:20 [INFO] [stderr] | [INFO] [stderr] 199 | 0xFF80 ... 0xFFFE => self.zram[address as usize & 0x007F], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:211:20 [INFO] [stderr] | [INFO] [stderr] 211 | 0x0000 ... 0x7FFF => self.mbc.writerom(address, value), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:212:20 [INFO] [stderr] | [INFO] [stderr] 212 | 0x8000 ... 0x9FFF => self.gpu.wb(address, value), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:213:20 [INFO] [stderr] | [INFO] [stderr] 213 | 0xA000 ... 0xBFFF => self.mbc.writeram(address, value), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:214:20 [INFO] [stderr] | [INFO] [stderr] 214 | 0xC000 ... 0xCFFF | 0xE000 ... 0xEFFF => self.wram[address as usize & 0x0FFF] = value, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:214:40 [INFO] [stderr] | [INFO] [stderr] 214 | 0xC000 ... 0xCFFF | 0xE000 ... 0xEFFF => self.wram[address as usize & 0x0FFF] = value, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:215:20 [INFO] [stderr] | [INFO] [stderr] 215 | 0xD000 ... 0xDFFF | 0xF000 ... 0xFDFF => self.wram[(self.wrambank * 0x1000) | (address as usize & 0x0FFF)] = value, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:215:40 [INFO] [stderr] | [INFO] [stderr] 215 | 0xD000 ... 0xDFFF | 0xF000 ... 0xFDFF => self.wram[(self.wrambank * 0x1000) | (address as usize & 0x0FFF)] = value, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:216:20 [INFO] [stderr] | [INFO] [stderr] 216 | 0xFE00 ... 0xFE9F => self.gpu.wb(address, value), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:218:20 [INFO] [stderr] | [INFO] [stderr] 218 | 0xFF01 ... 0xFF02 => self.serial.wb(address, value), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:219:20 [INFO] [stderr] | [INFO] [stderr] 219 | 0xFF04 ... 0xFF07 => self.timer.wb(address, value), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:220:20 [INFO] [stderr] | [INFO] [stderr] 220 | 0xFF10 ... 0xFF3F => self.sound.as_mut().map_or((), |s| s.wb(address, value)), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:223:20 [INFO] [stderr] | [INFO] [stderr] 223 | 0xFF40 ... 0xFF4F => self.gpu.wb(address, value), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:224:20 [INFO] [stderr] | [INFO] [stderr] 224 | 0xFF51 ... 0xFF55 => self.hdma_write(address, value), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:225:20 [INFO] [stderr] | [INFO] [stderr] 225 | 0xFF68 ... 0xFF6B => self.gpu.wb(address, value), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:228:20 [INFO] [stderr] | [INFO] [stderr] 228 | 0xFF80 ... 0xFFFE => self.zram[address as usize & 0x007F] = value, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:260:20 [INFO] [stderr] | [INFO] [stderr] 260 | 0xFF51 ... 0xFF54 => { self.hdma[(a - 0xFF51) as usize] }, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serial.rs:1:35 [INFO] [stderr] | [INFO] [stderr] 1 | pub type SerialCallback<'a> = Box Option + Send + 'a>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(u8) -> Option + Send + 'a` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/sound.rs:289:20 [INFO] [stderr] | [INFO] [stderr] 289 | 0xFF30 ... 0xFF3F => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/sound.rs:471:17 [INFO] [stderr] | [INFO] [stderr] 471 | player: Box, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AudioPlayer` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/sound.rs:475:28 [INFO] [stderr] | [INFO] [stderr] 475 | pub fn new(player: Box) -> Sound { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AudioPlayer` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/sound.rs:505:20 [INFO] [stderr] | [INFO] [stderr] 505 | 0xFF10 ... 0xFF25 => self.registerdata[a as usize - 0xFF10], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/sound.rs:513:20 [INFO] [stderr] | [INFO] [stderr] 513 | 0xFF30 ... 0xFF3F => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/sound.rs:528:20 [INFO] [stderr] | [INFO] [stderr] 528 | 0xFF10 ... 0xFF14 => self.channel1.wb(a, v), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/sound.rs:529:20 [INFO] [stderr] | [INFO] [stderr] 529 | 0xFF16 ... 0xFF19 => self.channel2.wb(a, v), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/sound.rs:530:20 [INFO] [stderr] | [INFO] [stderr] 530 | 0xFF1A ... 0xFF1E => self.channel3.wb(a, v), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/sound.rs:531:20 [INFO] [stderr] | [INFO] [stderr] 531 | 0xFF20 ... 0xFF23 => self.channel4.wb(a, v), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/sound.rs:537:20 [INFO] [stderr] | [INFO] [stderr] 537 | 0xFF30 ... 0xFF3F => self.channel3.wb(a, v), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/device.rs:62:48 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn enable_audio(&mut self, player: Box) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn sound::AudioPlayer` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/gpu.rs:175:20 [INFO] [stderr] | [INFO] [stderr] 175 | 0x8000 ... 0x9FFF => self.vram[(self.vrambank * 0x2000) | (a as usize & 0x1FFF)], [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/gpu.rs:176:20 [INFO] [stderr] | [INFO] [stderr] 176 | 0xFE00 ... 0xFE9F => self.voam[a 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:241:20 [INFO] [stderr] | [INFO] [stderr] 241 | 0x8000 ... 0x9FFF => self.vram[(self.vrambank * 0x2000) | (a as usize & 0x1FFF)] = v, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/gpu.rs:242:20 [INFO] [stderr] | [INFO] [stderr] 242 | 0xFE00 ... 0xFE9F => self.voam[a as usize - 0xFE00] = v, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mbc1.rs:79:20 [INFO] [stderr] | [INFO] [stderr] 79 | 0x0000 ... 0x1FFF => { self.ram_on = v == 0x0A; }, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mbc1.rs:80:20 [INFO] [stderr] | [INFO] [stderr] 80 | 0x2000 ... 0x3FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mbc1.rs:83:20 [INFO] [stderr] | [INFO] [stderr] 83 | 0x4000 ... 0x5FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mbc1.rs:90:20 [INFO] [stderr] | [INFO] [stderr] 90 | 0x6000 ... 0x7FFF => { self.ram_mode = (v & 0x01) == 0x01; }, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mbc3.rs:147:20 [INFO] [stderr] | [INFO] [stderr] 147 | 0x0000 ... 0x1FFF => self.ram_on = v == 0x0A, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mbc3.rs:148:20 [INFO] [stderr] | [INFO] [stderr] 148 | 0x2000 ... 0x3FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mbc3.rs:151:20 [INFO] [stderr] | [INFO] [stderr] 151 | 0x4000 ... 0x5FFF => self.rambank = v as usize, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mbc3.rs:152:20 [INFO] [stderr] | [INFO] [stderr] 152 | 0x6000 ... 0x7FFF => match v { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mbc5.rs:79:20 [INFO] [stderr] | [INFO] [stderr] 79 | 0x0000 ... 0x1FFF => self.ram_on = v == 0x0A, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mbc5.rs:80:20 [INFO] [stderr] | [INFO] [stderr] 80 | 0x2000 ... 0x2FFF => self.rombank = (self.rombank & 0x100) | (v as usize), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mbc5.rs:81:20 [INFO] [stderr] | [INFO] [stderr] 81 | 0x3000 ... 0x3FFF => self.rombank = (self.rombank & 0x0FF) | (((v & 0x1) as usize) << 8), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mbc5.rs:82:20 [INFO] [stderr] | [INFO] [stderr] 82 | 0x4000 ... 0x5FFF => self.rambank = (v & 0x0F) as usize, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mbc5.rs:83:20 [INFO] [stderr] | [INFO] [stderr] 83 | 0x6000 ... 0x7FFF => { /* ? */ }, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mbc/mod.rs:39:75 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn get_mbc(file: path::PathBuf, skip_checksum: bool) -> StrResult> { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn MBC+'static` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mbc/mod.rs:47:66 [INFO] [stderr] | [INFO] [stderr] 47 | 0x00 => mbc0::MBC0::new(data).map(|v| Box::new(v) as Box), [INFO] [stderr] | ^^^ help: use `dyn`: `dyn MBC` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mod.rs:48:14 [INFO] [stderr] | [INFO] [stderr] 48 | 0x01 ... 0x03 => mbc1::MBC1::new(data, file).map(|v| Box::new(v) as Box), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mbc/mod.rs:48:81 [INFO] [stderr] | [INFO] [stderr] 48 | 0x01 ... 0x03 => mbc1::MBC1::new(data, file).map(|v| Box::new(v) as Box), [INFO] [stderr] | ^^^ help: use `dyn`: `dyn MBC` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mod.rs:49:14 [INFO] [stderr] | [INFO] [stderr] 49 | 0x0F ... 0x13 => mbc3::MBC3::new(data, file).map(|v| Box::new(v) as Box), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mbc/mod.rs:49:81 [INFO] [stderr] | [INFO] [stderr] 49 | 0x0F ... 0x13 => mbc3::MBC3::new(data, file).map(|v| Box::new(v) as Box), [INFO] [stderr] | ^^^ help: use `dyn`: `dyn MBC` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mbc/mod.rs:50:14 [INFO] [stderr] | [INFO] [stderr] 50 | 0x19 ... 0x1E => mbc5::MBC5::new(data, file).map(|v| Box::new(v) as Box), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mbc/mod.rs:50:81 [INFO] [stderr] | [INFO] [stderr] 50 | 0x19 ... 0x1E => mbc5::MBC5::new(data, file).map(|v| Box::new(v) as Box), [INFO] [stderr] | ^^^ help: use `dyn`: `dyn MBC` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mmu.rs:37:18 [INFO] [stderr] | [INFO] [stderr] 37 | pub mbc: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn mbc::MBC+'static` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:183:20 [INFO] [stderr] | [INFO] [stderr] 183 | 0x0000 ... 0x7FFF => self.mbc.readrom(address), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:184:20 [INFO] [stderr] | [INFO] [stderr] 184 | 0x8000 ... 0x9FFF => self.gpu.rb(address), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:185:20 [INFO] [stderr] | [INFO] [stderr] 185 | 0xA000 ... 0xBFFF => self.mbc.readram(address), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:186:20 [INFO] [stderr] | [INFO] [stderr] 186 | 0xC000 ... 0xCFFF | 0xE000 ... 0xEFFF => self.wram[address as usize & 0x0FFF], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:186:40 [INFO] [stderr] | [INFO] [stderr] 186 | 0xC000 ... 0xCFFF | 0xE000 ... 0xEFFF => self.wram[address as usize & 0x0FFF], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:187:20 [INFO] [stderr] | [INFO] [stderr] 187 | 0xD000 ... 0xDFFF | 0xF000 ... 0xFDFF => self.wram[(self.wrambank * 0x1000) | address as usize & 0x0FFF], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:187:40 [INFO] [stderr] | [INFO] [stderr] 187 | 0xD000 ... 0xDFFF | 0xF000 ... 0xFDFF => self.wram[(self.wrambank * 0x1000) | address as usize & 0x0FFF], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:188:20 [INFO] [stderr] | [INFO] [stderr] 188 | 0xFE00 ... 0xFE9F => self.gpu.rb(address), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:190:20 [INFO] [stderr] | [INFO] [stderr] 190 | 0xFF01 ... 0xFF02 => self.serial.rb(address), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:191:20 [INFO] [stderr] | [INFO] [stderr] 191 | 0xFF04 ... 0xFF07 => self.timer.rb(address), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:193:20 [INFO] [stderr] | [INFO] [stderr] 193 | 0xFF10 ... 0xFF3F => self.sound.as_mut().map_or(0, |s| s.rb(address)), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:195:20 [INFO] [stderr] | [INFO] [stderr] 195 | 0xFF40 ... 0xFF4F => self.gpu.rb(address), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:196:20 [INFO] [stderr] | [INFO] [stderr] 196 | 0xFF51 ... 0xFF55 => self.hdma_read(address), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:197:20 [INFO] [stderr] | [INFO] [stderr] 197 | 0xFF68 ... 0xFF6B => self.gpu.rb(address), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:199:20 [INFO] [stderr] | [INFO] [stderr] 199 | 0xFF80 ... 0xFFFE => self.zram[address as usize & 0x007F], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:211:20 [INFO] [stderr] | [INFO] [stderr] 211 | 0x0000 ... 0x7FFF => self.mbc.writerom(address, value), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:212:20 [INFO] [stderr] | [INFO] [stderr] 212 | 0x8000 ... 0x9FFF => self.gpu.wb(address, value), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:213:20 [INFO] [stderr] | [INFO] [stderr] 213 | 0xA000 ... 0xBFFF => self.mbc.writeram(address, value), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:214:20 [INFO] [stderr] | [INFO] [stderr] 214 | 0xC000 ... 0xCFFF | 0xE000 ... 0xEFFF => self.wram[address as usize & 0x0FFF] = value, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:214:40 [INFO] [stderr] | [INFO] [stderr] 214 | 0xC000 ... 0xCFFF | 0xE000 ... 0xEFFF => self.wram[address as usize & 0x0FFF] = value, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:215:20 [INFO] [stderr] | [INFO] [stderr] 215 | 0xD000 ... 0xDFFF | 0xF000 ... 0xFDFF => self.wram[(self.wrambank * 0x1000) | (address as usize & 0x0FFF)] = value, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:215:40 [INFO] [stderr] | [INFO] [stderr] 215 | 0xD000 ... 0xDFFF | 0xF000 ... 0xFDFF => self.wram[(self.wrambank * 0x1000) | (address as usize & 0x0FFF)] = value, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:216:20 [INFO] [stderr] | [INFO] [stderr] 216 | 0xFE00 ... 0xFE9F => self.gpu.wb(address, value), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:218:20 [INFO] [stderr] | [INFO] [stderr] 218 | 0xFF01 ... 0xFF02 => self.serial.wb(address, value), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:219:20 [INFO] [stderr] | [INFO] [stderr] 219 | 0xFF04 ... 0xFF07 => self.timer.wb(address, value), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:220:20 [INFO] [stderr] | [INFO] [stderr] 220 | 0xFF10 ... 0xFF3F => self.sound.as_mut().map_or((), |s| s.wb(address, value)), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:223:20 [INFO] [stderr] | [INFO] [stderr] 223 | 0xFF40 ... 0xFF4F => self.gpu.wb(address, value), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:224:20 [INFO] [stderr] | [INFO] [stderr] 224 | 0xFF51 ... 0xFF55 => self.hdma_write(address, value), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:225:20 [INFO] [stderr] | [INFO] [stderr] 225 | 0xFF68 ... 0xFF6B => self.gpu.wb(address, value), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:228:20 [INFO] [stderr] | [INFO] [stderr] 228 | 0xFF80 ... 0xFFFE => self.zram[address as usize & 0x007F] = value, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmu.rs:260:20 [INFO] [stderr] | [INFO] [stderr] 260 | 0xFF51 ... 0xFF54 => { self.hdma[(a - 0xFF51) as usize] }, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serial.rs:1:35 [INFO] [stderr] | [INFO] [stderr] 1 | pub type SerialCallback<'a> = Box Option + Send + 'a>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(u8) -> Option + Send + 'a` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/sound.rs:289:20 [INFO] [stderr] | [INFO] [stderr] 289 | 0xFF30 ... 0xFF3F => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/sound.rs:471:17 [INFO] [stderr] | [INFO] [stderr] 471 | player: Box, [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AudioPlayer` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/sound.rs:475:28 [INFO] [stderr] | [INFO] [stderr] 475 | pub fn new(player: Box) -> Sound { [INFO] [stderr] | ^^^^^^^^^^^ help: use `dyn`: `dyn AudioPlayer` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/sound.rs:505:20 [INFO] [stderr] | [INFO] [stderr] 505 | 0xFF10 ... 0xFF25 => self.registerdata[a as usize - 0xFF10], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/sound.rs:513:20 [INFO] [stderr] | [INFO] [stderr] 513 | 0xFF30 ... 0xFF3F => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/sound.rs:528:20 [INFO] [stderr] | [INFO] [stderr] 528 | 0xFF10 ... 0xFF14 => self.channel1.wb(a, v), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/sound.rs:529:20 [INFO] [stderr] | [INFO] [stderr] 529 | 0xFF16 ... 0xFF19 => self.channel2.wb(a, v), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/sound.rs:530:20 [INFO] [stderr] | [INFO] [stderr] 530 | 0xFF1A ... 0xFF1E => self.channel3.wb(a, v), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/sound.rs:531:20 [INFO] [stderr] | [INFO] [stderr] 531 | 0xFF20 ... 0xFF23 => self.channel4.wb(a, v), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/sound.rs:537:20 [INFO] [stderr] | [INFO] [stderr] 537 | 0xFF30 ... 0xFF3F => self.channel3.wb(a, v), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:86:60 [INFO] [stderr] | [INFO] [stderr] 86 | Some(v) => cpu.enable_audio(Box::new(v) as Box), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn rboy::AudioPlayer` [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/main.rs:86:60 [INFO] [stderr] | [INFO] [stderr] 86 | Some(v) => cpu.enable_audio(Box::new(v) as Box), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn rboy::AudioPlayer` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 33s [INFO] running `"docker" "inspect" "53c188f4a4ff7840deee275028a4940ea93f2ce5533439957e8dd91c65c0cbf4"` [INFO] running `"docker" "rm" "-f" "53c188f4a4ff7840deee275028a4940ea93f2ce5533439957e8dd91c65c0cbf4"` [INFO] [stdout] 53c188f4a4ff7840deee275028a4940ea93f2ce5533439957e8dd91c65c0cbf4