[INFO] updating cached repository https://github.com/mvdnes/rboy [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/big/crater/work/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 0ca21f2892953dc9e07363ade4f7e984c5796557 [INFO] testing mvdnes/rboy against beta-2019-09-28 for beta-1.39-1 [INFO] running `"git" "clone" "work/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmvdnes%2Frboy" "work/builds/worker-0/source"` [INFO] [stderr] Cloning into 'work/builds/worker-0/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/mvdnes/rboy on toolchain beta-2019-09-28 [INFO] running `"/big/crater/work/cargo-home/bin/cargo" "+beta-2019-09-28" "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 work/builds/worker-0/source/Cargo.toml [INFO] crate git repo https://github.com/mvdnes/rboy already has a lockfile, it will not be regenerated [INFO] running `"/big/crater/work/cargo-home/bin/cargo" "+beta-2019-09-28" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/big/crater/work/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/big/crater/work/builds/worker-0/source:/opt/rustwide/workdir:ro,Z" "-v" "/big/crater/work/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/big/crater/work/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-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" "+beta-2019-09-28" "build" "--frozen"` [INFO] [stdout] 4583e1ca068b264b63b6fbc59ec299c6358feb280837c14dc79d5e4cc0c92b2f [INFO] running `"docker" "start" "-a" "4583e1ca068b264b63b6fbc59ec299c6358feb280837c14dc79d5e4cc0c92b2f"` [INFO] [stderr] Compiling libc v0.2.58 [INFO] [stderr] Compiling syn v0.15.38 [INFO] [stderr] Compiling takeable-option v0.4.0 [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 approx v0.3.2 [INFO] [stderr] Compiling ordered-float v1.0.2 [INFO] [stderr] Compiling line_drawing v0.7.0 [INFO] [stderr] Compiling rusttype v0.7.7 [INFO] [stderr] Compiling andrew v0.2.1 [INFO] [stderr] Compiling nix v0.14.1 [INFO] [stderr] Compiling rand_os v0.1.3 [INFO] [stderr] Compiling memmap v0.7.0 [INFO] [stderr] Compiling x11-dl v2.18.3 [INFO] [stderr] Compiling shared_library v0.1.9 [INFO] [stderr] Compiling backtrace-sys v0.1.28 [INFO] [stderr] Compiling alsa-sys v0.1.2 [INFO] [stderr] Compiling atty v0.2.11 [INFO] [stderr] Compiling clap v2.33.0 [INFO] [stderr] Compiling blip_buf v0.1.4 [INFO] [stderr] Compiling osmesa-sys v0.1.2 [INFO] [stderr] Compiling dlib v0.4.1 [INFO] [stderr] Compiling cpal v0.9.0 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling 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] Compiling wayland-client v0.21.13 [INFO] [stderr] Compiling wayland-protocols v0.21.13 [INFO] [stderr] Compiling parking_lot_core v0.4.0 [INFO] [stderr] Compiling parking_lot v0.7.1 [INFO] [stderr] Compiling wayland-commons v0.21.13 [INFO] [stderr] Compiling derivative v1.0.2 [INFO] [stderr] Compiling smithay-client-toolkit v0.4.6 [INFO] [stderr] Compiling winit v0.19.1 [INFO] [stderr] Compiling glutin v0.21.0 [INFO] [stderr] Compiling 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/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 47.48s [INFO] running `"docker" "inspect" "4583e1ca068b264b63b6fbc59ec299c6358feb280837c14dc79d5e4cc0c92b2f"` [INFO] running `"docker" "rm" "-f" "4583e1ca068b264b63b6fbc59ec299c6358feb280837c14dc79d5e4cc0c92b2f"` [INFO] [stdout] 4583e1ca068b264b63b6fbc59ec299c6358feb280837c14dc79d5e4cc0c92b2f [INFO] running `"docker" "create" "-v" "/big/crater/work/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/big/crater/work/builds/worker-0/source:/opt/rustwide/workdir:ro,Z" "-v" "/big/crater/work/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/big/crater/work/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-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" "+beta-2019-09-28" "test" "--frozen" "--no-run"` [INFO] [stdout] cbee6636c91199842dc8dd6c0a63a0f3a68ec380352d45029f2c8e6ed72514f2 [INFO] running `"docker" "start" "-a" "cbee6636c91199842dc8dd6c0a63a0f3a68ec380352d45029f2c8e6ed72514f2"` [INFO] [stderr] Compiling 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] Finished dev [unoptimized + debuginfo] target(s) in 1.66s [INFO] running `"docker" "inspect" "cbee6636c91199842dc8dd6c0a63a0f3a68ec380352d45029f2c8e6ed72514f2"` [INFO] running `"docker" "rm" "-f" "cbee6636c91199842dc8dd6c0a63a0f3a68ec380352d45029f2c8e6ed72514f2"` [INFO] [stdout] cbee6636c91199842dc8dd6c0a63a0f3a68ec380352d45029f2c8e6ed72514f2 [INFO] running `"docker" "create" "-v" "/big/crater/work/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/big/crater/work/builds/worker-0/source:/opt/rustwide/workdir:ro,Z" "-v" "/big/crater/work/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/big/crater/work/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-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" "+beta-2019-09-28" "test" "--frozen"` [INFO] [stdout] ae83f9af6e013ee764b005053788b3f3c245d72ad1ce8b2051e7162d6e318310 [INFO] running `"docker" "start" "-a" "ae83f9af6e013ee764b005053788b3f3c245d72ad1ce8b2051e7162d6e318310"` [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.06s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/rboy-37afce57c3c1a041 [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test keypad::test::keys_row0 ... ok [INFO] [stdout] test keypad::test::keys_row1 ... ok [INFO] [stdout] test mbc::test::checksum_ones ... ok [INFO] [stdout] test register::test::flags ... ok [INFO] [stdout] test mbc::test::checksum_zero ... ok [INFO] [stdout] test register::test::hl_special ... ok [INFO] [stdout] test register::test::wide_registers ... ok [INFO] [stdout] test cpu::test::cpu_instrs_color ... FAILED [INFO] [stdout] test cpu::test::cpu_instrs_classic ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- cpu::test::cpu_instrs_color stdout ---- [INFO] [stdout] thread 'cpu::test::cpu_instrs_color' panicked at 'Could not read ROM', src/cpu.rs:862:35 [INFO] [stdout] note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace. [INFO] [stdout] [INFO] [stdout] ---- cpu::test::cpu_instrs_classic stdout ---- [INFO] [stdout] thread 'cpu::test::cpu_instrs_classic' panicked at 'Could not read ROM', src/cpu.rs:835:35 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x558b52468724 - backtrace::backtrace::libunwind::trace::hf625d18232cbbbd4 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.37/src/backtrace/libunwind.rs:88 [INFO] [stdout] 1: 0x558b52468724 - backtrace::backtrace::trace_unsynchronized::h41d74150fc6ff542 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.37/src/backtrace/mod.rs:66 [INFO] [stdout] 2: 0x558b52468724 - std::sys_common::backtrace::_print_fmt::h85d37830c667a1f9 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:76 [INFO] [stdout] 3: 0x558b52468724 - ::fmt::h2b7ac01d5feaf9b2 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:60 [INFO] [stdout] 4: 0x558b524835cc - core::fmt::write::h7fd0d904495c035f [INFO] [stdout] at src/libcore/fmt/mod.rs:1030 [INFO] [stdout] 5: 0x558b52421425 - std::io::Write::write_fmt::h424452e6ba861394 [INFO] [stdout] at /rustc/5752b6348ee6971573b278c315a02193c847ee32/src/libstd/io/mod.rs:1412 [INFO] [stdout] 6: 0x558b52463c71 - std::io::impls::>::write_fmt::h814a51d8ae1dee4a [INFO] [stdout] at src/libstd/io/impls.rs:141 [INFO] [stdout] 7: 0x558b5246ac35 - std::sys_common::backtrace::_print::h4c743f7c274a5a74 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:64 [INFO] [stdout] 8: 0x558b5246ac35 - std::sys_common::backtrace::print::ha5c4f4bf03800d4d [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:49 [INFO] [stdout] 9: 0x558b5246ac35 - std::panicking::default_hook::{{closure}}::h8b842185774c09e6 [INFO] [stdout] at src/libstd/panicking.rs:196 [INFO] [stdout] 10: 0x558b5246a8bc - std::panicking::default_hook::hd8ec13ee1bc2a65a [INFO] [stdout] at src/libstd/panicking.rs:207 [INFO] [stdout] 11: 0x558b5246b335 - std::panicking::rust_panic_with_hook::hf3b27166e5f403e7 [INFO] [stdout] at src/libstd/panicking.rs:473 [INFO] [stdout] 12: 0x558b5245cab3 - std::panicking::begin_panic::h433e8570242b9b1c [INFO] [stdout] at /rustc/5752b6348ee6971573b278c315a02193c847ee32/src/libstd/panicking.rs:407 [INFO] [stdout] 13: 0x558b5241afee - rboy::cpu::test::cpu_instrs_classic::hebc70dc76ca1a804 [INFO] [stdout] at src/cpu.rs:835 [INFO] [stdout] 14: 0x558b5241ae8a - rboy::cpu::test::cpu_instrs_classic::{{closure}}::hd64d82ab704170f4 [INFO] [stdout] at src/cpu.rs:826 [INFO] [stdout] 15: 0x558b5241dbfe - core::ops::function::FnOnce::call_once::h8ea20bc8305e438d [INFO] [stdout] at /rustc/5752b6348ee6971573b278c315a02193c847ee32/src/libcore/ops/function.rs:227 [INFO] [stdout] 16: 0x558b5242b31f - as core::ops::function::FnOnce>::call_once::h8b428e8a43aaf8e9 [INFO] [stdout] at /rustc/5752b6348ee6971573b278c315a02193c847ee32/src/liballoc/boxed.rs:922 [INFO] [stdout] 17: 0x558b5246da3a - __rust_maybe_catch_panic [INFO] [stdout] at src/libpanic_unwind/lib.rs:80 [INFO] [stdout] 18: 0x558b52445b2e - std::panicking::try::heccce20d527a3513 [INFO] [stdout] at /rustc/5752b6348ee6971573b278c315a02193c847ee32/src/libstd/panicking.rs:271 [INFO] [stdout] 19: 0x558b52445b2e - std::panic::catch_unwind::h7fd8f5d3271f1692 [INFO] [stdout] at /rustc/5752b6348ee6971573b278c315a02193c847ee32/src/libstd/panic.rs:394 [INFO] [stdout] 20: 0x558b52445b2e - test::run_test::run_test_inner::{{closure}}::h88b46e5c359957e5 [INFO] [stdout] at src/libtest/lib.rs:1413 [INFO] [stdout] 21: 0x558b52420b95 - std::sys_common::backtrace::__rust_begin_short_backtrace::h00847676c8212941 [INFO] [stdout] at /rustc/5752b6348ee6971573b278c315a02193c847ee32/src/libstd/sys_common/backtrace.rs:126 [INFO] [stdout] 22: 0x558b52424d25 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::h5dd37acd2295488e [INFO] [stdout] at /rustc/5752b6348ee6971573b278c315a02193c847ee32/src/libstd/thread/mod.rs:470 [INFO] [stdout] 23: 0x558b52424d25 - as core::ops::function::FnOnce<()>>::call_once::h9d32b103da0b97c6 [INFO] [stdout] at /rustc/5752b6348ee6971573b278c315a02193c847ee32/src/libstd/panic.rs:315 [INFO] [stdout] 24: 0x558b52424d25 - std::panicking::try::do_call::h2bd819a3056c57cd [INFO] [stdout] at /rustc/5752b6348ee6971573b278c315a02193c847ee32/src/libstd/panicking.rs:292 [INFO] [stdout] 25: 0x558b5246da3a - __rust_maybe_catch_panic [INFO] [stdout] at src/libpanic_unwind/lib.rs:80 [INFO] [stdout] 26: 0x558b524252d2 - std::panicking::try::h243a25457a848a1a [INFO] [stdout] at /rustc/5752b6348ee6971573b278c315a02193c847ee32/src/libstd/panicking.rs:271 [INFO] [stdout] 27: 0x558b524252d2 - std::panic::catch_unwind::h74b81f55e55e757c [INFO] [stdout] at /rustc/5752b6348ee6971573b278c315a02193c847ee32/src/libstd/panic.rs:394 [INFO] [stdout] 28: 0x558b524252d2 - std::thread::Builder::spawn_unchecked::{{closure}}::h4c2d214a2cffa6cf [INFO] [stdout] at /rustc/5752b6348ee6971573b278c315a02193c847ee32/src/libstd/thread/mod.rs:469 [INFO] [stdout] 29: 0x558b524252d2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h8a8a187b3fb58e53 [INFO] [stdout] at /rustc/5752b6348ee6971573b278c315a02193c847ee32/src/libcore/ops/function.rs:227 [INFO] [stdout] 30: 0x558b524606cf - as core::ops::function::FnOnce>::call_once::h3cdef3b7ea22cd61 [INFO] [stdout] at /rustc/5752b6348ee6971573b278c315a02193c847ee32/src/liballoc/boxed.rs:922 [INFO] [stdout] 31: 0x558b5246d190 - as core::ops::function::FnOnce>::call_once::hc8f25720bf0d5424 [INFO] [stdout] at /rustc/5752b6348ee6971573b278c315a02193c847ee32/src/liballoc/boxed.rs:922 [INFO] [stdout] 32: 0x558b5246d190 - std::sys_common::thread::start_thread::h7e8885ccfd5d1932 [INFO] [stdout] at src/libstd/sys_common/thread.rs:13 [INFO] [stdout] 33: 0x558b5246d190 - std::sys::unix::thread::Thread::new::thread_start::h5d24df932d688baf [INFO] [stdout] at src/libstd/sys/unix/thread.rs:79 [INFO] [stdout] 34: 0x7f52ae4746db - start_thread [INFO] [stdout] 35: 0x7f52adf8588f - __clone [INFO] [stdout] 36: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] cpu::test::cpu_instrs_classic [INFO] [stdout] cpu::test::cpu_instrs_color [INFO] [stdout] [INFO] [stdout] test result: FAILED. 7 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass '--lib' [INFO] running `"docker" "inspect" "ae83f9af6e013ee764b005053788b3f3c245d72ad1ce8b2051e7162d6e318310"` [INFO] running `"docker" "rm" "-f" "ae83f9af6e013ee764b005053788b3f3c245d72ad1ce8b2051e7162d6e318310"` [INFO] [stdout] ae83f9af6e013ee764b005053788b3f3c245d72ad1ce8b2051e7162d6e318310