[INFO] updating cached repository mvdnes/rboy [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/mvdnes/rboy [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/mvdnes/rboy" "work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/mvdnes/rboy"` [INFO] [stderr] Cloning into 'work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/mvdnes/rboy'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/mvdnes/rboy" "work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/mvdnes/rboy"` [INFO] [stderr] Cloning into 'work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/mvdnes/rboy'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] e7a08844496b8ffdc1ec2707989db75adddf8627 [INFO] sha for GitHub repo mvdnes/rboy: e7a08844496b8ffdc1ec2707989db75adddf8627 [INFO] validating manifest of mvdnes/rboy on toolchain master#60960a260f7b5c695fd0717311d72ce62dd4eb43 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of mvdnes/rboy on toolchain try#266783e4e09e4e9d5307c1c8e695659c58bbcac7 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing mvdnes/rboy [INFO] finished frobbing mvdnes/rboy [INFO] frobbed toml for mvdnes/rboy written to work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/mvdnes/rboy/Cargo.toml [INFO] started frobbing mvdnes/rboy [INFO] finished frobbing mvdnes/rboy [INFO] frobbed toml for mvdnes/rboy written to work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/mvdnes/rboy/Cargo.toml [INFO] crate mvdnes/rboy already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] checking mvdnes/rboy against try#266783e4e09e4e9d5307c1c8e695659c58bbcac7 for pr-63376 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-63376/worker-7/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/mvdnes/rboy:/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" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] d611bb04efe79cc95bec67e896d3b1b9dac1ebba5ad996c9aa0422670e4be26c [INFO] running `"docker" "start" "-a" "d611bb04efe79cc95bec67e896d3b1b9dac1ebba5ad996c9aa0422670e4be26c"` [INFO] [stderr] Compiling blip_buf-sys v0.1.3 [INFO] [stderr] Checking rand v0.6.5 [INFO] [stderr] Compiling glium v0.25.0 [INFO] [stderr] Compiling derivative v1.0.2 [INFO] [stderr] Checking andrew v0.2.1 [INFO] [stderr] Checking smithay-client-toolkit v0.4.5 [INFO] [stderr] Checking blip_buf v0.1.4 [INFO] [stderr] Checking parking_lot_core v0.4.0 [INFO] [stderr] Checking parking_lot v0.7.1 [INFO] [stderr] Checking winit v0.19.1 [INFO] [stderr] Checking glutin v0.21.0 [INFO] [stderr] Checking rboy v0.1.0 (/opt/crater/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 42.41s [INFO] running `"docker" "inspect" "d611bb04efe79cc95bec67e896d3b1b9dac1ebba5ad996c9aa0422670e4be26c"` [INFO] running `"docker" "rm" "-f" "d611bb04efe79cc95bec67e896d3b1b9dac1ebba5ad996c9aa0422670e4be26c"` [INFO] [stdout] d611bb04efe79cc95bec67e896d3b1b9dac1ebba5ad996c9aa0422670e4be26c