[INFO] cloning repository https://github.com/Kanabenki/oxidegb [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Kanabenki/oxidegb" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKanabenki%2Foxidegb", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKanabenki%2Foxidegb'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1812c4f2ff897096eb99083f282dec847ecadd3d [INFO] checking Kanabenki/oxidegb against try#b2c2190fa7bf856bb0ed5e8806266e3a2135c6f8 for pr-78363 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKanabenki%2Foxidegb" "/workspace/builds/worker-7/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Kanabenki/oxidegb on toolchain b2c2190fa7bf856bb0ed5e8806266e3a2135c6f8 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+b2c2190fa7bf856bb0ed5e8806266e3a2135c6f8" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Kanabenki/oxidegb [INFO] finished tweaking git repo https://github.com/Kanabenki/oxidegb [INFO] tweaked toml for git repo https://github.com/Kanabenki/oxidegb written to /workspace/builds/worker-7/source/Cargo.toml [INFO] crate git repo https://github.com/Kanabenki/oxidegb already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+b2c2190fa7bf856bb0ed5e8806266e3a2135c6f8" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+b2c2190fa7bf856bb0ed5e8806266e3a2135c6f8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] e7d73cfacd4c20c90b5cf9ea7b059f8cfc9e93cada5fa00bb57f2d1af6053289 [INFO] running `Command { std: "docker" "start" "-a" "e7d73cfacd4c20c90b5cf9ea7b059f8cfc9e93cada5fa00bb57f2d1af6053289", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e7d73cfacd4c20c90b5cf9ea7b059f8cfc9e93cada5fa00bb57f2d1af6053289", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e7d73cfacd4c20c90b5cf9ea7b059f8cfc9e93cada5fa00bb57f2d1af6053289", kill_on_drop: false }` [INFO] [stdout] e7d73cfacd4c20c90b5cf9ea7b059f8cfc9e93cada5fa00bb57f2d1af6053289 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+b2c2190fa7bf856bb0ed5e8806266e3a2135c6f8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] be64b38be4be6c6177df3c4c62df2f8f5afb1967e013e33d505223924ed85d5c [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "be64b38be4be6c6177df3c4c62df2f8f5afb1967e013e33d505223924ed85d5c", kill_on_drop: false }` [INFO] [stderr] Checking rand_core v0.4.0 [INFO] [stderr] Compiling autocfg v0.1.2 [INFO] [stderr] Compiling libc v0.2.51 [INFO] [stderr] Compiling num-traits v0.2.6 [INFO] [stderr] Compiling num-integer v0.1.39 [INFO] [stderr] Compiling cfg-if v0.1.7 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling num-iter v0.1.37 [INFO] [stderr] Compiling syn v0.15.34 [INFO] [stderr] Checking bitflags v1.0.4 [INFO] [stderr] Compiling sdl2 v0.32.2 [INFO] [stderr] Compiling num-derive v0.2.5 [INFO] [stderr] Checking vec_map v0.8.1 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Checking lazy_static v1.3.0 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Compiling sdl2-sys v0.32.6 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking rand_jitter v0.1.3 [INFO] [stderr] Checking rand_isaac v0.1.1 [INFO] [stderr] Checking rand_xorshift v0.1.1 [INFO] [stderr] Checking rand_hc v0.1.0 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling quote v0.6.12 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking atty v0.2.11 [INFO] [stderr] Checking clap v2.33.0 [INFO] [stderr] Checking num v0.1.42 [INFO] [stderr] Checking oxidegb v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/cpu.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:205:28 [INFO] [stdout] | [INFO] [stdout] 205 | pub fn new(mapper: Box, bootrom: Option>) -> Self { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/emulator.rs:5:17 [INFO] [stdout] | [INFO] [stdout] 5 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/emulator.rs:21:24 [INFO] [stdout] | [INFO] [stdout] 21 | fn read_to_vec(r: &mut Read) -> Result, std::io::Error> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/emulator.rs:31:21 [INFO] [stdout] | [INFO] [stdout] 31 | ) -> Result<(), Box> { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `replace`, `swap` [INFO] [stdout] --> src/memory.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | use std::mem::{replace, swap}; [INFO] [stdout] | ^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/memory.rs:38:17 [INFO] [stdout] | [INFO] [stdout] 38 | mapper: Box, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/memory.rs:47:28 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn new(mapper: Box, bootrom: Option>) -> Self { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:89:19 [INFO] [stdout] | [INFO] [stdout] 89 | 0x0000...0x00FF if self.bootrom.is_some() => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:92:19 [INFO] [stdout] | [INFO] [stdout] 92 | 0x0000...0x7FFF => self.mapper.readb(addr), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:93:19 [INFO] [stdout] | [INFO] [stdout] 93 | 0x8000...0x9FFF => self.ppu.readb(addr), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:94:19 [INFO] [stdout] | [INFO] [stdout] 94 | 0xA000...0xBFFF => 0, //ext_ram [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:95:19 [INFO] [stdout] | [INFO] [stdout] 95 | 0xC000...0xFDFF => self.ram.readb(addr), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:96:19 [INFO] [stdout] | [INFO] [stdout] 96 | 0xFE00...0xFE9F => self.ppu.readb(addr), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:97:19 [INFO] [stdout] | [INFO] [stdout] 97 | 0xFEA0...0xFEFF => 0, //unusable [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:98:19 [INFO] [stdout] | [INFO] [stdout] 98 | 0xFF00...0xFF3F => self.io.readb(addr), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:99:19 [INFO] [stdout] | [INFO] [stdout] 99 | 0xFF40...0xFF4B => self.ppu.readb(addr), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:100:19 [INFO] [stdout] | [INFO] [stdout] 100 | 0xFF4C...0xFF7F => 0, //unusable [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:101:19 [INFO] [stdout] | [INFO] [stdout] 101 | 0xFF80...0xFFFE => self.hram[(addr & 0x7F) as usize], [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:114:19 [INFO] [stdout] | [INFO] [stdout] 114 | 0x0000...0x00FF if self.bootrom.is_some() => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/cpu.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:117:19 [INFO] [stdout] | [INFO] [stdout] 117 | 0x0000...0x7FFF => self.mapper.writeb(addr, val), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:118:19 [INFO] [stdout] | [INFO] [stdout] 118 | 0x8000...0x9FFF => self.ppu.writeb(addr, val), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:119:19 [INFO] [stdout] | [INFO] [stdout] 119 | 0xA000...0xBFFF => (), //ext_ram [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:120:19 [INFO] [stdout] | [INFO] [stdout] 120 | 0xC000...0xFDFF => self.ram.writeb(addr, val), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:121:19 [INFO] [stdout] | [INFO] [stdout] 121 | 0xFE00...0xFE9F => self.ppu.writeb(addr, val), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:122:19 [INFO] [stdout] | [INFO] [stdout] 122 | 0xFEA0...0xFEFF => (), //unusable [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:123:19 [INFO] [stdout] | [INFO] [stdout] 123 | 0xFF00...0xFF3F => self.io.writeb(addr, val), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:124:19 [INFO] [stdout] | [INFO] [stdout] 124 | 0xFF40...0xFF4B => self.ppu.writeb(addr, val), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:126:19 [INFO] [stdout] | [INFO] [stdout] 126 | 0xFF4C...0xFF7F => (), //unusable [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:127:19 [INFO] [stdout] | [INFO] [stdout] 127 | 0xFF80...0xFFFE => self.hram[(addr & 0x7F) as usize] = val, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utils::nth_bit_set` [INFO] [stdout] --> src/ppu.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::utils::nth_bit_set; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/ppu.rs:122:19 [INFO] [stdout] | [INFO] [stdout] 122 | 0x8000...0x9FFF if self.state != PpuState::PixTransfer => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/ppu.rs:125:19 [INFO] [stdout] | [INFO] [stdout] 125 | 0xFE00...0xFE9F [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/ppu.rs:130:19 [INFO] [stdout] | [INFO] [stdout] 130 | 0xFF40...0xFF4B => self.regs.readb(addr), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/ppu.rs:137:19 [INFO] [stdout] | [INFO] [stdout] 137 | 0xFE00...0xFE9F [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/ppu.rs:142:19 [INFO] [stdout] | [INFO] [stdout] 142 | 0xFF40...0xFF4B => self.regs.writeb(addr, val), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/ppu.rs:176:14 [INFO] [stdout] | [INFO] [stdout] 176 | 0...143 => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rom.rs:77:36 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn new_mapper(rom: Rom) -> Box { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:205:28 [INFO] [stdout] | [INFO] [stdout] 205 | pub fn new(mapper: Box, bootrom: Option>) -> Self { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/emulator.rs:5:17 [INFO] [stdout] | [INFO] [stdout] 5 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/emulator.rs:21:24 [INFO] [stdout] | [INFO] [stdout] 21 | fn read_to_vec(r: &mut Read) -> Result, std::io::Error> { [INFO] [stdout] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/emulator.rs:31:21 [INFO] [stdout] | [INFO] [stdout] 31 | ) -> Result<(), Box> { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `replace`, `swap` [INFO] [stdout] --> src/memory.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | use std::mem::{replace, swap}; [INFO] [stdout] | ^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/memory.rs:38:17 [INFO] [stdout] | [INFO] [stdout] 38 | mapper: Box, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/memory.rs:47:28 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn new(mapper: Box, bootrom: Option>) -> Self { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:89:19 [INFO] [stdout] | [INFO] [stdout] 89 | 0x0000...0x00FF if self.bootrom.is_some() => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:92:19 [INFO] [stdout] | [INFO] [stdout] 92 | 0x0000...0x7FFF => self.mapper.readb(addr), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:93:19 [INFO] [stdout] | [INFO] [stdout] 93 | 0x8000...0x9FFF => self.ppu.readb(addr), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:94:19 [INFO] [stdout] | [INFO] [stdout] 94 | 0xA000...0xBFFF => 0, //ext_ram [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:95:19 [INFO] [stdout] | [INFO] [stdout] 95 | 0xC000...0xFDFF => self.ram.readb(addr), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:96:19 [INFO] [stdout] | [INFO] [stdout] 96 | 0xFE00...0xFE9F => self.ppu.readb(addr), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:97:19 [INFO] [stdout] | [INFO] [stdout] 97 | 0xFEA0...0xFEFF => 0, //unusable [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:98:19 [INFO] [stdout] | [INFO] [stdout] 98 | 0xFF00...0xFF3F => self.io.readb(addr), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:99:19 [INFO] [stdout] | [INFO] [stdout] 99 | 0xFF40...0xFF4B => self.ppu.readb(addr), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:100:19 [INFO] [stdout] | [INFO] [stdout] 100 | 0xFF4C...0xFF7F => 0, //unusable [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:101:19 [INFO] [stdout] | [INFO] [stdout] 101 | 0xFF80...0xFFFE => self.hram[(addr & 0x7F) as usize], [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:114:19 [INFO] [stdout] | [INFO] [stdout] 114 | 0x0000...0x00FF if self.bootrom.is_some() => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:117:19 [INFO] [stdout] | [INFO] [stdout] 117 | 0x0000...0x7FFF => self.mapper.writeb(addr, val), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:118:19 [INFO] [stdout] | [INFO] [stdout] 118 | 0x8000...0x9FFF => self.ppu.writeb(addr, val), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:119:19 [INFO] [stdout] | [INFO] [stdout] 119 | 0xA000...0xBFFF => (), //ext_ram [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:120:19 [INFO] [stdout] | [INFO] [stdout] 120 | 0xC000...0xFDFF => self.ram.writeb(addr, val), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:121:19 [INFO] [stdout] | [INFO] [stdout] 121 | 0xFE00...0xFE9F => self.ppu.writeb(addr, val), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:122:19 [INFO] [stdout] | [INFO] [stdout] 122 | 0xFEA0...0xFEFF => (), //unusable [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:123:19 [INFO] [stdout] | [INFO] [stdout] 123 | 0xFF00...0xFF3F => self.io.writeb(addr, val), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:124:19 [INFO] [stdout] | [INFO] [stdout] 124 | 0xFF40...0xFF4B => self.ppu.writeb(addr, val), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:126:19 [INFO] [stdout] | [INFO] [stdout] 126 | 0xFF4C...0xFF7F => (), //unusable [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:127:19 [INFO] [stdout] | [INFO] [stdout] 127 | 0xFF80...0xFFFE => self.hram[(addr & 0x7F) as usize] = val, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utils::nth_bit_set` [INFO] [stdout] --> src/ppu.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::utils::nth_bit_set; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/ppu.rs:122:19 [INFO] [stdout] | [INFO] [stdout] 122 | 0x8000...0x9FFF if self.state != PpuState::PixTransfer => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/ppu.rs:125:19 [INFO] [stdout] | [INFO] [stdout] 125 | 0xFE00...0xFE9F [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/ppu.rs:130:19 [INFO] [stdout] | [INFO] [stdout] 130 | 0xFF40...0xFF4B => self.regs.readb(addr), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/ppu.rs:137:19 [INFO] [stdout] | [INFO] [stdout] 137 | 0xFE00...0xFE9F [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/ppu.rs:142:19 [INFO] [stdout] | [INFO] [stdout] 142 | 0xFF40...0xFF4B => self.regs.writeb(addr, val), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/ppu.rs:176:14 [INFO] [stdout] | [INFO] [stdout] 176 | 0...143 => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/rom.rs:77:36 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn new_mapper(rom: Rom) -> Box { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `handle_interrupt` [INFO] [stdout] --> src/cpu.rs:242:8 [INFO] [stdout] | [INFO] [stdout] 242 | fn handle_interrupt(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `curr_interrupt` [INFO] [stdout] --> src/memory.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn curr_interrupt(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `dma` [INFO] [stdout] --> src/ppu.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | dma: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `obj_pal_1` [INFO] [stdout] --> src/ppu.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | obj_pal_1: u8, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `obj_pal_2` [INFO] [stdout] --> src/ppu.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | obj_pal_2: u8, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `win_y_pos` [INFO] [stdout] --> src/ppu.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | win_y_pos: u8, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `win_x_pos` [INFO] [stdout] --> src/ppu.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | win_x_pos: u8, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/memory.rs:111:13 [INFO] [stdout] | [INFO] [stdout] 111 | stdout().flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `handle_interrupt` [INFO] [stdout] --> src/cpu.rs:242:8 [INFO] [stdout] | [INFO] [stdout] 242 | fn handle_interrupt(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `curr_interrupt` [INFO] [stdout] --> src/memory.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn curr_interrupt(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `dma` [INFO] [stdout] --> src/ppu.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | dma: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 46 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `obj_pal_1` [INFO] [stdout] --> src/ppu.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | obj_pal_1: u8, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `obj_pal_2` [INFO] [stdout] --> src/ppu.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | obj_pal_2: u8, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `win_y_pos` [INFO] [stdout] --> src/ppu.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | win_y_pos: u8, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `win_x_pos` [INFO] [stdout] --> src/ppu.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | win_x_pos: u8, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/memory.rs:111:13 [INFO] [stdout] | [INFO] [stdout] 111 | stdout().flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 46 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 28.37s [INFO] running `Command { std: "docker" "inspect" "be64b38be4be6c6177df3c4c62df2f8f5afb1967e013e33d505223924ed85d5c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "be64b38be4be6c6177df3c4c62df2f8f5afb1967e013e33d505223924ed85d5c", kill_on_drop: false }` [INFO] [stdout] be64b38be4be6c6177df3c4c62df2f8f5afb1967e013e33d505223924ed85d5c