[INFO] updating cached repository zeta0134/rusticnes-core [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/zeta0134/rusticnes-core [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/zeta0134/rusticnes-core" "work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/zeta0134/rusticnes-core"` [INFO] [stderr] Cloning into 'work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/zeta0134/rusticnes-core'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/zeta0134/rusticnes-core" "work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/zeta0134/rusticnes-core"` [INFO] [stderr] Cloning into 'work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/zeta0134/rusticnes-core'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] d33a642f49853821cc338a8fd09f9189e182dc56 [INFO] sha for GitHub repo zeta0134/rusticnes-core: d33a642f49853821cc338a8fd09f9189e182dc56 [INFO] validating manifest of zeta0134/rusticnes-core 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 zeta0134/rusticnes-core 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 zeta0134/rusticnes-core [INFO] finished frobbing zeta0134/rusticnes-core [INFO] frobbed toml for zeta0134/rusticnes-core written to work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/zeta0134/rusticnes-core/Cargo.toml [INFO] started frobbing zeta0134/rusticnes-core [INFO] finished frobbing zeta0134/rusticnes-core [INFO] frobbed toml for zeta0134/rusticnes-core written to work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/zeta0134/rusticnes-core/Cargo.toml [INFO] crate zeta0134/rusticnes-core 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] error: the lock file /mnt/big/crater/work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/zeta0134/rusticnes-core/Cargo.lock needs to be updated but --locked was passed to prevent this [INFO] the lockfile is outdated, regenerating it [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking zeta0134/rusticnes-core against try#266783e4e09e4e9d5307c1c8e695659c58bbcac7 for pr-63376 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-63376/worker-0/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/zeta0134/rusticnes-core:/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] f2b30c3b97828c48df69c1a2c8cc4a640be3830792d13fb5dd26825254e3452f [INFO] running `"docker" "start" "-a" "f2b30c3b97828c48df69c1a2c8cc4a640be3830792d13fb5dd26825254e3452f"` [INFO] [stderr] Checking rusticnes-core v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/apu.rs:414:53 [INFO] [stderr] | [INFO] [stderr] 414 | pub fn read_next_sample(&mut self, mapper: &mut Mapper) { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [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/apu.rs:466:42 [INFO] [stderr] | [INFO] [stderr] 466 | pub fn clock(&mut self, mapper: &mut Mapper) { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/apu.rs:852:46 [INFO] [stderr] | [INFO] [stderr] 852 | pub fn clock_apu(&mut self, mapper: &mut Mapper) { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cartridge.rs:104:83 [INFO] [stderr] | [INFO] [stderr] 104 | pub fn load_from_cartridge(nes_header: NesHeader, cartridge: &[u8]) -> Result, String> { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cartridge.rs:124:21 [INFO] [stderr] | [INFO] [stderr] 124 | let mapper: Box = match header.mapper_number { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/memory.rs:37:16 [INFO] [stderr] | [INFO] [stderr] 37 | 0x0000 ... 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/memory.rs:40:16 [INFO] [stderr] | [INFO] [stderr] 40 | 0x2000 ... 0x3FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/memory.rs:124:16 [INFO] [stderr] | [INFO] [stderr] 124 | 0x4020 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/memory.rs:140:16 [INFO] [stderr] | [INFO] [stderr] 140 | 0x0000 ... 0x1FFF => nes.memory.iram_raw[(address & 0x7FF) as usize] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/memory.rs:141:16 [INFO] [stderr] | [INFO] [stderr] 141 | 0x2000 ... 0x3FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/memory.rs:237:16 [INFO] [stderr] | [INFO] [stderr] 237 | 0x4000 ... 0x4013 => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/memory.rs:266:16 [INFO] [stderr] | [INFO] [stderr] 266 | 0x4020 ... 0xFFFF => nes.mapper.write_byte(address, data), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/axrom.rs:32:20 [INFO] [stderr] | [INFO] [stderr] 32 | 0x0000 ... 0x1FFF => return Some(self.chr_ram[address as usize]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/axrom.rs:33:20 [INFO] [stderr] | [INFO] [stderr] 33 | 0x8000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/axrom.rs:43:20 [INFO] [stderr] | [INFO] [stderr] 43 | 0x0000 ... 0x1FFF => self.chr_ram[address as usize] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/axrom.rs:44:20 [INFO] [stderr] | [INFO] [stderr] 44 | 0x8000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/cnrom.rs:32:20 [INFO] [stderr] | [INFO] [stderr] 32 | 0x0000 ... 0x1FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/cnrom.rs:36:20 [INFO] [stderr] | [INFO] [stderr] 36 | 0x8000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/cnrom.rs:46:20 [INFO] [stderr] | [INFO] [stderr] 46 | 0x8000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/gxrom.rs:34:20 [INFO] [stderr] | [INFO] [stderr] 34 | 0x0000 ... 0x1FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/gxrom.rs:38:20 [INFO] [stderr] | [INFO] [stderr] 38 | 0x8000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/gxrom.rs:48:20 [INFO] [stderr] | [INFO] [stderr] 48 | 0x8000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc1.rs:83:20 [INFO] [stderr] | [INFO] [stderr] 83 | 0x0000 ... 0x0FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc1.rs:95:20 [INFO] [stderr] | [INFO] [stderr] 95 | 0x1000 ... 0x1FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc1.rs:107:20 [INFO] [stderr] | [INFO] [stderr] 107 | 0x6000 ... 0x7FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc1.rs:116:20 [INFO] [stderr] | [INFO] [stderr] 116 | 0x8000 ... 0xBFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc1.rs:141:20 [INFO] [stderr] | [INFO] [stderr] 141 | 0xC000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc1.rs:173:20 [INFO] [stderr] | [INFO] [stderr] 173 | 0x0000 ... 0x0FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc1.rs:187:20 [INFO] [stderr] | [INFO] [stderr] 187 | 0x1000 ... 0x1FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc1.rs:201:20 [INFO] [stderr] | [INFO] [stderr] 201 | 0x6000 ... 0x7FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc1.rs:210:20 [INFO] [stderr] | [INFO] [stderr] 210 | 0x8000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc1.rs:234:36 [INFO] [stderr] | [INFO] [stderr] 234 | 0x8000 ... 0x9F00 => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc1.rs:245:36 [INFO] [stderr] | [INFO] [stderr] 245 | 0xA000 ... 0xBF00 => self.chr_bank_0 = self.shift_data as usize, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc1.rs:246:36 [INFO] [stderr] | [INFO] [stderr] 246 | 0xC000 ... 0xDF00 => self.chr_bank_1 = self.shift_data as usize, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc1.rs:247:36 [INFO] [stderr] | [INFO] [stderr] 247 | 0xE000 ... 0xFF00 => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:87:20 [INFO] [stderr] | [INFO] [stderr] 87 | 0x0000 ... 0x1FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:107:32 [INFO] [stderr] | [INFO] [stderr] 107 | 0x0000 ... 0x03FF => return Some(self.chr_rom[((self.chr1_bank_2 * 0x400) + (address as usize - 0x000)) % chr_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:108:32 [INFO] [stderr] | [INFO] [stderr] 108 | 0x0400 ... 0x07FF => return Some(self.chr_rom[((self.chr1_bank_3 * 0x400) + (address as usize - 0x400)) % chr_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:109:32 [INFO] [stderr] | [INFO] [stderr] 109 | 0x0800 ... 0x0BFF => return Some(self.chr_rom[((self.chr1_bank_4 * 0x400) + (address as usize - 0x800)) % chr_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:110:32 [INFO] [stderr] | [INFO] [stderr] 110 | 0x0C00 ... 0x0FFF => return Some(self.chr_rom[((self.chr1_bank_5 * 0x400) + (address as usize - 0xC00)) % chr_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:111:32 [INFO] [stderr] | [INFO] [stderr] 111 | 0x1000 ... 0x17FF => return Some(self.chr_rom[((self.chr2_bank_0 * 0x400) + (address as usize - 0x1000)) % chr_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:112:32 [INFO] [stderr] | [INFO] [stderr] 112 | 0x1800 ... 0x1FFF => return Some(self.chr_rom[((self.chr2_bank_1 * 0x400) + (address as usize - 0x1800)) % chr_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:117:32 [INFO] [stderr] | [INFO] [stderr] 117 | 0x0000 ... 0x07FF => return Some(self.chr_rom[((self.chr2_bank_0 * 0x400) + (address as usize - 0x000)) % chr_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:118:32 [INFO] [stderr] | [INFO] [stderr] 118 | 0x0800 ... 0x0FFF => return Some(self.chr_rom[((self.chr2_bank_1 * 0x400) + (address as usize - 0x800)) % chr_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:119:32 [INFO] [stderr] | [INFO] [stderr] 119 | 0x1000 ... 0x13FF => return Some(self.chr_rom[((self.chr1_bank_2 * 0x400) + (address as usize - 0x1000)) % chr_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:120:32 [INFO] [stderr] | [INFO] [stderr] 120 | 0x1400 ... 0x17FF => return Some(self.chr_rom[((self.chr1_bank_3 * 0x400) + (address as usize - 0x1400)) % chr_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:121:32 [INFO] [stderr] | [INFO] [stderr] 121 | 0x1800 ... 0x1BFF => return Some(self.chr_rom[((self.chr1_bank_4 * 0x400) + (address as usize - 0x1800)) % chr_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:122:32 [INFO] [stderr] | [INFO] [stderr] 122 | 0x1C00 ... 0x1FFF => return Some(self.chr_rom[((self.chr1_bank_5 * 0x400) + (address as usize - 0x1C00)) % chr_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:128:20 [INFO] [stderr] | [INFO] [stderr] 128 | 0x6000 ... 0x7FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:132:20 [INFO] [stderr] | [INFO] [stderr] 132 | 0x8000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:136:32 [INFO] [stderr] | [INFO] [stderr] 136 | 0x8000 ... 0x9FFF => return Some(self.prg_rom[((self.prg_rom.len() - 0x4000) + (address as usize - 0x8000)) % prg_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:137:32 [INFO] [stderr] | [INFO] [stderr] 137 | 0xA000 ... 0xBFFF => return Some(self.prg_rom[((self.prg_bank_7 * 0x2000) + (address as usize - 0xA000)) % prg_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:138:32 [INFO] [stderr] | [INFO] [stderr] 138 | 0xC000 ... 0xDFFF => return Some(self.prg_rom[((self.prg_bank_6 * 0x2000) + (address as usize - 0xC000)) % prg_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:139:32 [INFO] [stderr] | [INFO] [stderr] 139 | 0xE000 ... 0xFFFF => return Some(self.prg_rom[((self.prg_rom.len() - 0x2000) + (address as usize - 0xE000)) % prg_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:144:32 [INFO] [stderr] | [INFO] [stderr] 144 | 0x8000 ... 0x9FFF => return Some(self.prg_rom[((self.prg_bank_6 * 0x2000) + (address as usize - 0x8000)) % prg_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:145:32 [INFO] [stderr] | [INFO] [stderr] 145 | 0xA000 ... 0xBFFF => return Some(self.prg_rom[((self.prg_bank_7 * 0x2000) + (address as usize - 0xA000)) % prg_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:146:32 [INFO] [stderr] | [INFO] [stderr] 146 | 0xC000 ... 0xDFFF => return Some(self.prg_rom[((self.prg_rom.len() - 0x4000) + (address as usize - 0xC000)) % prg_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:147:32 [INFO] [stderr] | [INFO] [stderr] 147 | 0xE000 ... 0xFFFF => return Some(self.prg_rom[((self.prg_rom.len() - 0x2000) + (address as usize - 0xE000)) % prg_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:184:20 [INFO] [stderr] | [INFO] [stderr] 184 | 0x0000 ... 0x1FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:203:36 [INFO] [stderr] | [INFO] [stderr] 203 | 0x0000 ... 0x03FF => self.chr_rom[((self.chr1_bank_2 * 0x400) + (address as usize - 0x000)) % chr_rom_len] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:204:36 [INFO] [stderr] | [INFO] [stderr] 204 | 0x0400 ... 0x07FF => self.chr_rom[((self.chr1_bank_3 * 0x400) + (address as usize - 0x400)) % chr_rom_len] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:205:36 [INFO] [stderr] | [INFO] [stderr] 205 | 0x0800 ... 0x0BFF => self.chr_rom[((self.chr1_bank_4 * 0x400) + (address as usize - 0x800)) % chr_rom_len] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:206:36 [INFO] [stderr] | [INFO] [stderr] 206 | 0x0C00 ... 0x0FFF => self.chr_rom[((self.chr1_bank_5 * 0x400) + (address as usize - 0xC00)) % chr_rom_len] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:207:36 [INFO] [stderr] | [INFO] [stderr] 207 | 0x1000 ... 0x17FF => self.chr_rom[((self.chr2_bank_0 * 0x400) + (address as usize - 0x1000)) % chr_rom_len] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:208:36 [INFO] [stderr] | [INFO] [stderr] 208 | 0x1800 ... 0x1FFF => self.chr_rom[((self.chr2_bank_1 * 0x400) + (address as usize - 0x1800)) % chr_rom_len] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:213:36 [INFO] [stderr] | [INFO] [stderr] 213 | 0x0000 ... 0x07FF => self.chr_rom[((self.chr2_bank_0 * 0x400) + (address as usize - 0x000)) % chr_rom_len] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:214:36 [INFO] [stderr] | [INFO] [stderr] 214 | 0x0800 ... 0x0FFF => self.chr_rom[((self.chr2_bank_1 * 0x400) + (address as usize - 0x800)) % chr_rom_len] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:215:36 [INFO] [stderr] | [INFO] [stderr] 215 | 0x1000 ... 0x13FF => self.chr_rom[((self.chr1_bank_2 * 0x400) + (address as usize - 0x1000)) % chr_rom_len] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:216:36 [INFO] [stderr] | [INFO] [stderr] 216 | 0x1400 ... 0x17FF => self.chr_rom[((self.chr1_bank_3 * 0x400) + (address as usize - 0x1400)) % chr_rom_len] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:217:36 [INFO] [stderr] | [INFO] [stderr] 217 | 0x1800 ... 0x1BFF => self.chr_rom[((self.chr1_bank_4 * 0x400) + (address as usize - 0x1800)) % chr_rom_len] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:218:36 [INFO] [stderr] | [INFO] [stderr] 218 | 0x1C00 ... 0x1FFF => self.chr_rom[((self.chr1_bank_5 * 0x400) + (address as usize - 0x1C00)) % chr_rom_len] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:225:20 [INFO] [stderr] | [INFO] [stderr] 225 | 0x6000 ... 0x7FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:231:20 [INFO] [stderr] | [INFO] [stderr] 231 | 0x8000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:235:32 [INFO] [stderr] | [INFO] [stderr] 235 | 0x8000 ... 0x9FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:241:32 [INFO] [stderr] | [INFO] [stderr] 241 | 0xA000 ... 0xBFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:248:32 [INFO] [stderr] | [INFO] [stderr] 248 | 0xC000 ... 0xDFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:251:32 [INFO] [stderr] | [INFO] [stderr] 251 | 0xE000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:261:32 [INFO] [stderr] | [INFO] [stderr] 261 | 0x8000 ... 0x9FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:275:32 [INFO] [stderr] | [INFO] [stderr] 275 | 0xA000 ... 0xBFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:279:32 [INFO] [stderr] | [INFO] [stderr] 279 | 0xC000 ... 0xDFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:282:32 [INFO] [stderr] | [INFO] [stderr] 282 | 0xE000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/nrom.rs:39:20 [INFO] [stderr] | [INFO] [stderr] 39 | 0x0000 ... 0x1FFF => return Some(self.chr_rom[address as usize]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/nrom.rs:40:20 [INFO] [stderr] | [INFO] [stderr] 40 | 0x6000 ... 0x7FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/nrom.rs:48:20 [INFO] [stderr] | [INFO] [stderr] 48 | 0x8000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/nrom.rs:58:20 [INFO] [stderr] | [INFO] [stderr] 58 | 0x0000 ... 0x1FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/nrom.rs:63:20 [INFO] [stderr] | [INFO] [stderr] 63 | 0x6000 ... 0x7FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:46:20 [INFO] [stderr] | [INFO] [stderr] 46 | 0x0000 ... 0x0FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:61:20 [INFO] [stderr] | [INFO] [stderr] 61 | 0x1000 ... 0x1FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:70:28 [INFO] [stderr] | [INFO] [stderr] 70 | 0x1FD8 ... 0x1FDF => {self.chr_1_latch = 0;}, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:71:28 [INFO] [stderr] | [INFO] [stderr] 71 | 0x1FE8 ... 0x1FEF => {self.chr_1_latch = 1;}, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:76:20 [INFO] [stderr] | [INFO] [stderr] 76 | 0x6000 ... 0x7FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:84:20 [INFO] [stderr] | [INFO] [stderr] 84 | 0x8000 ... 0x9FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:88:20 [INFO] [stderr] | [INFO] [stderr] 88 | 0xA000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:98:20 [INFO] [stderr] | [INFO] [stderr] 98 | 0x6000 ... 0x7FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:104:20 [INFO] [stderr] | [INFO] [stderr] 104 | 0xA000 ... 0xAFFF => { self.prg_bank = (data & 0b0000_1111) as usize; }, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:105:20 [INFO] [stderr] | [INFO] [stderr] 105 | 0xB000 ... 0xBFFF => { self.chr_0_fd_bank = (data & 0b0001_1111) as usize; }, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:106:20 [INFO] [stderr] | [INFO] [stderr] 106 | 0xC000 ... 0xCFFF => { self.chr_0_fe_bank = (data & 0b0001_1111) as usize; }, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:107:20 [INFO] [stderr] | [INFO] [stderr] 107 | 0xD000 ... 0xDFFF => { self.chr_1_fd_bank = (data & 0b0001_1111) as usize; }, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:108:20 [INFO] [stderr] | [INFO] [stderr] 108 | 0xE000 ... 0xEFFF => { self.chr_1_fe_bank = (data & 0b0001_1111) as usize; }, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:109:20 [INFO] [stderr] | [INFO] [stderr] 109 | 0xF000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/uxrom.rs:32:20 [INFO] [stderr] | [INFO] [stderr] 32 | 0x0000 ... 0x1FFF => return Some(self.chr_ram[address as usize]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/uxrom.rs:33:20 [INFO] [stderr] | [INFO] [stderr] 33 | 0x8000 ... 0xBFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/uxrom.rs:37:20 [INFO] [stderr] | [INFO] [stderr] 37 | 0xC000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/uxrom.rs:46:20 [INFO] [stderr] | [INFO] [stderr] 46 | 0x0000 ... 0x1FFF => self.chr_ram[address as usize] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/uxrom.rs:47:20 [INFO] [stderr] | [INFO] [stderr] 47 | 0x8000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:23:21 [INFO] [stderr] | [INFO] [stderr] 23 | pub mapper: Box, [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:27:23 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn new(m: Box) -> NesState { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/opcodes.rs:424:7 [INFO] [stderr] | [INFO] [stderr] 424 | 3 ... 4 => service_interrupt(nes), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/opcodes.rs:438:7 [INFO] [stderr] | [INFO] [stderr] 438 | 6 ... 7 => service_interrupt(nes), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:186:54 [INFO] [stderr] | [INFO] [stderr] 186 | pub fn read_latched_byte(&mut self, mapper: &mut Mapper, address: u16) -> u8 { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:189:20 [INFO] [stderr] | [INFO] [stderr] 189 | 0x3F00 ... 0x3FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:202:56 [INFO] [stderr] | [INFO] [stderr] 202 | pub fn passively_read_byte(&mut self, mapper: &mut Mapper, address: u16) -> u8 { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:206:46 [INFO] [stderr] | [INFO] [stderr] 206 | pub fn read_byte(&mut self, mapper: &mut Mapper, address: u16) -> u8 { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:212:48 [INFO] [stderr] | [INFO] [stderr] 212 | pub fn __read_byte(&mut self, mapper: &mut Mapper, address: u16, side_effects: bool) -> u8 { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:219:20 [INFO] [stderr] | [INFO] [stderr] 219 | 0x0000 ... 0x1FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:233:20 [INFO] [stderr] | [INFO] [stderr] 233 | 0x2000 ... 0x2FFF => return self.internal_vram[nametable_address(masked_address, mapper.mirroring()) as usize], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:234:20 [INFO] [stderr] | [INFO] [stderr] 234 | 0x3000 ... 0x3EFF => return self.__read_byte(mapper, masked_address - 0x1000, side_effects), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:235:20 [INFO] [stderr] | [INFO] [stderr] 235 | 0x3F00 ... 0x3FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:250:47 [INFO] [stderr] | [INFO] [stderr] 250 | pub fn write_byte(&mut self, mapper: &mut Mapper, address: u16, data: u8) { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:255:20 [INFO] [stderr] | [INFO] [stderr] 255 | 0x0000 ... 0x1FFF => mapper.write_byte(masked_address, data), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:257:20 [INFO] [stderr] | [INFO] [stderr] 257 | 0x2000 ... 0x2FFF => self.internal_vram[nametable_address(masked_address, mapper.mirroring()) as usize] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:258:20 [INFO] [stderr] | [INFO] [stderr] 258 | 0x3000 ... 0x3EFF => self.write_byte(mapper, masked_address - 0x1000, data), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:259:20 [INFO] [stderr] | [INFO] [stderr] 259 | 0x3F00 ... 0x3FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:348:43 [INFO] [stderr] | [INFO] [stderr] 348 | fn draw_pixel(&mut self, mapper: &mut Mapper) { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:439:46 [INFO] [stderr] | [INFO] [stderr] 439 | fn fetch_bg_tile(&mut self, mapper: &mut Mapper, sub_cycle: u16) { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:480:51 [INFO] [stderr] | [INFO] [stderr] 480 | fn fetch_sprite_tiles(&mut self, mapper: &mut Mapper) { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:532:51 [INFO] [stderr] | [INFO] [stderr] 532 | fn prerender_scanline(&mut self, mapper: &mut Mapper) { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:542:15 [INFO] [stderr] | [INFO] [stderr] 542 | 2 ... 256 => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:559:17 [INFO] [stderr] | [INFO] [stderr] 559 | 258 ... 279 => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:564:17 [INFO] [stderr] | [INFO] [stderr] 564 | 280 ... 304 => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:572:17 [INFO] [stderr] | [INFO] [stderr] 572 | 305 ... 320 => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:577:17 [INFO] [stderr] | [INFO] [stderr] 577 | 321 ... 336 => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:609:48 [INFO] [stderr] | [INFO] [stderr] 609 | fn render_scanline(&mut self, mapper: &mut Mapper) { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:613:19 [INFO] [stderr] | [INFO] [stderr] 613 | 1 ... 256 => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:624:21 [INFO] [stderr] | [INFO] [stderr] 624 | 257 ... 320 => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:637:21 [INFO] [stderr] | [INFO] [stderr] 637 | 321 ... 336 => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:654:19 [INFO] [stderr] | [INFO] [stderr] 654 | 1 ... 256 => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:680:42 [INFO] [stderr] | [INFO] [stderr] 680 | pub fn clock(&mut self, mapper: &mut Mapper) { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:682:15 [INFO] [stderr] | [INFO] [stderr] 682 | 0 ... 239 => self.render_scanline(mapper), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:699:48 [INFO] [stderr] | [INFO] [stderr] 699 | pub fn get_bg_tile(&mut self, mapper: &mut Mapper, tx: u8, ty: u8) -> u8 { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:711:51 [INFO] [stderr] | [INFO] [stderr] 711 | pub fn get_bg_palette(&mut self, mapper: &mut Mapper, tx: u8, ty: u8) -> u8 { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:735:16 [INFO] [stderr] | [INFO] [stderr] 735 | 0x2000 ... 0x23FF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:745:16 [INFO] [stderr] | [INFO] [stderr] 745 | 0x2400 ... 0x27FF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:755:16 [INFO] [stderr] | [INFO] [stderr] 755 | 0x2800 ... 0x2BFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:765:16 [INFO] [stderr] | [INFO] [stderr] 765 | 0x2C00 ... 0x2FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/apu.rs:414:53 [INFO] [stderr] | [INFO] [stderr] 414 | pub fn read_next_sample(&mut self, mapper: &mut Mapper) { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [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/apu.rs:466:42 [INFO] [stderr] | [INFO] [stderr] 466 | pub fn clock(&mut self, mapper: &mut Mapper) { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/apu.rs:852:46 [INFO] [stderr] | [INFO] [stderr] 852 | pub fn clock_apu(&mut self, mapper: &mut Mapper) { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cartridge.rs:104:83 [INFO] [stderr] | [INFO] [stderr] 104 | pub fn load_from_cartridge(nes_header: NesHeader, cartridge: &[u8]) -> Result, String> { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cartridge.rs:124:21 [INFO] [stderr] | [INFO] [stderr] 124 | let mapper: Box = match header.mapper_number { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/memory.rs:37:16 [INFO] [stderr] | [INFO] [stderr] 37 | 0x0000 ... 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/memory.rs:40:16 [INFO] [stderr] | [INFO] [stderr] 40 | 0x2000 ... 0x3FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/memory.rs:124:16 [INFO] [stderr] | [INFO] [stderr] 124 | 0x4020 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/memory.rs:140:16 [INFO] [stderr] | [INFO] [stderr] 140 | 0x0000 ... 0x1FFF => nes.memory.iram_raw[(address & 0x7FF) as usize] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/memory.rs:141:16 [INFO] [stderr] | [INFO] [stderr] 141 | 0x2000 ... 0x3FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/memory.rs:237:16 [INFO] [stderr] | [INFO] [stderr] 237 | 0x4000 ... 0x4013 => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/memory.rs:266:16 [INFO] [stderr] | [INFO] [stderr] 266 | 0x4020 ... 0xFFFF => nes.mapper.write_byte(address, data), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/axrom.rs:32:20 [INFO] [stderr] | [INFO] [stderr] 32 | 0x0000 ... 0x1FFF => return Some(self.chr_ram[address as usize]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/axrom.rs:33:20 [INFO] [stderr] | [INFO] [stderr] 33 | 0x8000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/axrom.rs:43:20 [INFO] [stderr] | [INFO] [stderr] 43 | 0x0000 ... 0x1FFF => self.chr_ram[address as usize] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/axrom.rs:44:20 [INFO] [stderr] | [INFO] [stderr] 44 | 0x8000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/cnrom.rs:32:20 [INFO] [stderr] | [INFO] [stderr] 32 | 0x0000 ... 0x1FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/cnrom.rs:36:20 [INFO] [stderr] | [INFO] [stderr] 36 | 0x8000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/cnrom.rs:46:20 [INFO] [stderr] | [INFO] [stderr] 46 | 0x8000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/gxrom.rs:34:20 [INFO] [stderr] | [INFO] [stderr] 34 | 0x0000 ... 0x1FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/gxrom.rs:38:20 [INFO] [stderr] | [INFO] [stderr] 38 | 0x8000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/gxrom.rs:48:20 [INFO] [stderr] | [INFO] [stderr] 48 | 0x8000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc1.rs:83:20 [INFO] [stderr] | [INFO] [stderr] 83 | 0x0000 ... 0x0FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc1.rs:95:20 [INFO] [stderr] | [INFO] [stderr] 95 | 0x1000 ... 0x1FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc1.rs:107:20 [INFO] [stderr] | [INFO] [stderr] 107 | 0x6000 ... 0x7FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc1.rs:116:20 [INFO] [stderr] | [INFO] [stderr] 116 | 0x8000 ... 0xBFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc1.rs:141:20 [INFO] [stderr] | [INFO] [stderr] 141 | 0xC000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc1.rs:173:20 [INFO] [stderr] | [INFO] [stderr] 173 | 0x0000 ... 0x0FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc1.rs:187:20 [INFO] [stderr] | [INFO] [stderr] 187 | 0x1000 ... 0x1FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc1.rs:201:20 [INFO] [stderr] | [INFO] [stderr] 201 | 0x6000 ... 0x7FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc1.rs:210:20 [INFO] [stderr] | [INFO] [stderr] 210 | 0x8000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc1.rs:234:36 [INFO] [stderr] | [INFO] [stderr] 234 | 0x8000 ... 0x9F00 => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc1.rs:245:36 [INFO] [stderr] | [INFO] [stderr] 245 | 0xA000 ... 0xBF00 => self.chr_bank_0 = self.shift_data as usize, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc1.rs:246:36 [INFO] [stderr] | [INFO] [stderr] 246 | 0xC000 ... 0xDF00 => self.chr_bank_1 = self.shift_data as usize, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc1.rs:247:36 [INFO] [stderr] | [INFO] [stderr] 247 | 0xE000 ... 0xFF00 => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:87:20 [INFO] [stderr] | [INFO] [stderr] 87 | 0x0000 ... 0x1FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:107:32 [INFO] [stderr] | [INFO] [stderr] 107 | 0x0000 ... 0x03FF => return Some(self.chr_rom[((self.chr1_bank_2 * 0x400) + (address as usize - 0x000)) % chr_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:108:32 [INFO] [stderr] | [INFO] [stderr] 108 | 0x0400 ... 0x07FF => return Some(self.chr_rom[((self.chr1_bank_3 * 0x400) + (address as usize - 0x400)) % chr_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:109:32 [INFO] [stderr] | [INFO] [stderr] 109 | 0x0800 ... 0x0BFF => return Some(self.chr_rom[((self.chr1_bank_4 * 0x400) + (address as usize - 0x800)) % chr_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:110:32 [INFO] [stderr] | [INFO] [stderr] 110 | 0x0C00 ... 0x0FFF => return Some(self.chr_rom[((self.chr1_bank_5 * 0x400) + (address as usize - 0xC00)) % chr_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:111:32 [INFO] [stderr] | [INFO] [stderr] 111 | 0x1000 ... 0x17FF => return Some(self.chr_rom[((self.chr2_bank_0 * 0x400) + (address as usize - 0x1000)) % chr_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:112:32 [INFO] [stderr] | [INFO] [stderr] 112 | 0x1800 ... 0x1FFF => return Some(self.chr_rom[((self.chr2_bank_1 * 0x400) + (address as usize - 0x1800)) % chr_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:117:32 [INFO] [stderr] | [INFO] [stderr] 117 | 0x0000 ... 0x07FF => return Some(self.chr_rom[((self.chr2_bank_0 * 0x400) + (address as usize - 0x000)) % chr_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:118:32 [INFO] [stderr] | [INFO] [stderr] 118 | 0x0800 ... 0x0FFF => return Some(self.chr_rom[((self.chr2_bank_1 * 0x400) + (address as usize - 0x800)) % chr_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:119:32 [INFO] [stderr] | [INFO] [stderr] 119 | 0x1000 ... 0x13FF => return Some(self.chr_rom[((self.chr1_bank_2 * 0x400) + (address as usize - 0x1000)) % chr_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:120:32 [INFO] [stderr] | [INFO] [stderr] 120 | 0x1400 ... 0x17FF => return Some(self.chr_rom[((self.chr1_bank_3 * 0x400) + (address as usize - 0x1400)) % chr_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:121:32 [INFO] [stderr] | [INFO] [stderr] 121 | 0x1800 ... 0x1BFF => return Some(self.chr_rom[((self.chr1_bank_4 * 0x400) + (address as usize - 0x1800)) % chr_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:122:32 [INFO] [stderr] | [INFO] [stderr] 122 | 0x1C00 ... 0x1FFF => return Some(self.chr_rom[((self.chr1_bank_5 * 0x400) + (address as usize - 0x1C00)) % chr_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:128:20 [INFO] [stderr] | [INFO] [stderr] 128 | 0x6000 ... 0x7FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:132:20 [INFO] [stderr] | [INFO] [stderr] 132 | 0x8000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:136:32 [INFO] [stderr] | [INFO] [stderr] 136 | 0x8000 ... 0x9FFF => return Some(self.prg_rom[((self.prg_rom.len() - 0x4000) + (address as usize - 0x8000)) % prg_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:137:32 [INFO] [stderr] | [INFO] [stderr] 137 | 0xA000 ... 0xBFFF => return Some(self.prg_rom[((self.prg_bank_7 * 0x2000) + (address as usize - 0xA000)) % prg_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:138:32 [INFO] [stderr] | [INFO] [stderr] 138 | 0xC000 ... 0xDFFF => return Some(self.prg_rom[((self.prg_bank_6 * 0x2000) + (address as usize - 0xC000)) % prg_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:139:32 [INFO] [stderr] | [INFO] [stderr] 139 | 0xE000 ... 0xFFFF => return Some(self.prg_rom[((self.prg_rom.len() - 0x2000) + (address as usize - 0xE000)) % prg_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:144:32 [INFO] [stderr] | [INFO] [stderr] 144 | 0x8000 ... 0x9FFF => return Some(self.prg_rom[((self.prg_bank_6 * 0x2000) + (address as usize - 0x8000)) % prg_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:145:32 [INFO] [stderr] | [INFO] [stderr] 145 | 0xA000 ... 0xBFFF => return Some(self.prg_rom[((self.prg_bank_7 * 0x2000) + (address as usize - 0xA000)) % prg_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:146:32 [INFO] [stderr] | [INFO] [stderr] 146 | 0xC000 ... 0xDFFF => return Some(self.prg_rom[((self.prg_rom.len() - 0x4000) + (address as usize - 0xC000)) % prg_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:147:32 [INFO] [stderr] | [INFO] [stderr] 147 | 0xE000 ... 0xFFFF => return Some(self.prg_rom[((self.prg_rom.len() - 0x2000) + (address as usize - 0xE000)) % prg_rom_len]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:184:20 [INFO] [stderr] | [INFO] [stderr] 184 | 0x0000 ... 0x1FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:203:36 [INFO] [stderr] | [INFO] [stderr] 203 | 0x0000 ... 0x03FF => self.chr_rom[((self.chr1_bank_2 * 0x400) + (address as usize - 0x000)) % chr_rom_len] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:204:36 [INFO] [stderr] | [INFO] [stderr] 204 | 0x0400 ... 0x07FF => self.chr_rom[((self.chr1_bank_3 * 0x400) + (address as usize - 0x400)) % chr_rom_len] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:205:36 [INFO] [stderr] | [INFO] [stderr] 205 | 0x0800 ... 0x0BFF => self.chr_rom[((self.chr1_bank_4 * 0x400) + (address as usize - 0x800)) % chr_rom_len] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:206:36 [INFO] [stderr] | [INFO] [stderr] 206 | 0x0C00 ... 0x0FFF => self.chr_rom[((self.chr1_bank_5 * 0x400) + (address as usize - 0xC00)) % chr_rom_len] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:207:36 [INFO] [stderr] | [INFO] [stderr] 207 | 0x1000 ... 0x17FF => self.chr_rom[((self.chr2_bank_0 * 0x400) + (address as usize - 0x1000)) % chr_rom_len] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:208:36 [INFO] [stderr] | [INFO] [stderr] 208 | 0x1800 ... 0x1FFF => self.chr_rom[((self.chr2_bank_1 * 0x400) + (address as usize - 0x1800)) % chr_rom_len] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:213:36 [INFO] [stderr] | [INFO] [stderr] 213 | 0x0000 ... 0x07FF => self.chr_rom[((self.chr2_bank_0 * 0x400) + (address as usize - 0x000)) % chr_rom_len] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:214:36 [INFO] [stderr] | [INFO] [stderr] 214 | 0x0800 ... 0x0FFF => self.chr_rom[((self.chr2_bank_1 * 0x400) + (address as usize - 0x800)) % chr_rom_len] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:215:36 [INFO] [stderr] | [INFO] [stderr] 215 | 0x1000 ... 0x13FF => self.chr_rom[((self.chr1_bank_2 * 0x400) + (address as usize - 0x1000)) % chr_rom_len] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:216:36 [INFO] [stderr] | [INFO] [stderr] 216 | 0x1400 ... 0x17FF => self.chr_rom[((self.chr1_bank_3 * 0x400) + (address as usize - 0x1400)) % chr_rom_len] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:217:36 [INFO] [stderr] | [INFO] [stderr] 217 | 0x1800 ... 0x1BFF => self.chr_rom[((self.chr1_bank_4 * 0x400) + (address as usize - 0x1800)) % chr_rom_len] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:218:36 [INFO] [stderr] | [INFO] [stderr] 218 | 0x1C00 ... 0x1FFF => self.chr_rom[((self.chr1_bank_5 * 0x400) + (address as usize - 0x1C00)) % chr_rom_len] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:225:20 [INFO] [stderr] | [INFO] [stderr] 225 | 0x6000 ... 0x7FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:231:20 [INFO] [stderr] | [INFO] [stderr] 231 | 0x8000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:235:32 [INFO] [stderr] | [INFO] [stderr] 235 | 0x8000 ... 0x9FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:241:32 [INFO] [stderr] | [INFO] [stderr] 241 | 0xA000 ... 0xBFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:248:32 [INFO] [stderr] | [INFO] [stderr] 248 | 0xC000 ... 0xDFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:251:32 [INFO] [stderr] | [INFO] [stderr] 251 | 0xE000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:261:32 [INFO] [stderr] | [INFO] [stderr] 261 | 0x8000 ... 0x9FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:275:32 [INFO] [stderr] | [INFO] [stderr] 275 | 0xA000 ... 0xBFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:279:32 [INFO] [stderr] | [INFO] [stderr] 279 | 0xC000 ... 0xDFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/mmc3.rs:282:32 [INFO] [stderr] | [INFO] [stderr] 282 | 0xE000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/nrom.rs:39:20 [INFO] [stderr] | [INFO] [stderr] 39 | 0x0000 ... 0x1FFF => return Some(self.chr_rom[address as usize]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/nrom.rs:40:20 [INFO] [stderr] | [INFO] [stderr] 40 | 0x6000 ... 0x7FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/nrom.rs:48:20 [INFO] [stderr] | [INFO] [stderr] 48 | 0x8000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/nrom.rs:58:20 [INFO] [stderr] | [INFO] [stderr] 58 | 0x0000 ... 0x1FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/nrom.rs:63:20 [INFO] [stderr] | [INFO] [stderr] 63 | 0x6000 ... 0x7FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:46:20 [INFO] [stderr] | [INFO] [stderr] 46 | 0x0000 ... 0x0FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:61:20 [INFO] [stderr] | [INFO] [stderr] 61 | 0x1000 ... 0x1FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:70:28 [INFO] [stderr] | [INFO] [stderr] 70 | 0x1FD8 ... 0x1FDF => {self.chr_1_latch = 0;}, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:71:28 [INFO] [stderr] | [INFO] [stderr] 71 | 0x1FE8 ... 0x1FEF => {self.chr_1_latch = 1;}, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:76:20 [INFO] [stderr] | [INFO] [stderr] 76 | 0x6000 ... 0x7FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:84:20 [INFO] [stderr] | [INFO] [stderr] 84 | 0x8000 ... 0x9FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:88:20 [INFO] [stderr] | [INFO] [stderr] 88 | 0xA000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:98:20 [INFO] [stderr] | [INFO] [stderr] 98 | 0x6000 ... 0x7FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:104:20 [INFO] [stderr] | [INFO] [stderr] 104 | 0xA000 ... 0xAFFF => { self.prg_bank = (data & 0b0000_1111) as usize; }, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:105:20 [INFO] [stderr] | [INFO] [stderr] 105 | 0xB000 ... 0xBFFF => { self.chr_0_fd_bank = (data & 0b0001_1111) as usize; }, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:106:20 [INFO] [stderr] | [INFO] [stderr] 106 | 0xC000 ... 0xCFFF => { self.chr_0_fe_bank = (data & 0b0001_1111) as usize; }, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:107:20 [INFO] [stderr] | [INFO] [stderr] 107 | 0xD000 ... 0xDFFF => { self.chr_1_fd_bank = (data & 0b0001_1111) as usize; }, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:108:20 [INFO] [stderr] | [INFO] [stderr] 108 | 0xE000 ... 0xEFFF => { self.chr_1_fe_bank = (data & 0b0001_1111) as usize; }, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/pxrom.rs:109:20 [INFO] [stderr] | [INFO] [stderr] 109 | 0xF000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/uxrom.rs:32:20 [INFO] [stderr] | [INFO] [stderr] 32 | 0x0000 ... 0x1FFF => return Some(self.chr_ram[address as usize]), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/uxrom.rs:33:20 [INFO] [stderr] | [INFO] [stderr] 33 | 0x8000 ... 0xBFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/uxrom.rs:37:20 [INFO] [stderr] | [INFO] [stderr] 37 | 0xC000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/uxrom.rs:46:20 [INFO] [stderr] | [INFO] [stderr] 46 | 0x0000 ... 0x1FFF => self.chr_ram[address as usize] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/mmc/uxrom.rs:47:20 [INFO] [stderr] | [INFO] [stderr] 47 | 0x8000 ... 0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:23:21 [INFO] [stderr] | [INFO] [stderr] 23 | pub mapper: Box, [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:27:23 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn new(m: Box) -> NesState { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/opcodes.rs:424:7 [INFO] [stderr] | [INFO] [stderr] 424 | 3 ... 4 => service_interrupt(nes), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/opcodes.rs:438:7 [INFO] [stderr] | [INFO] [stderr] 438 | 6 ... 7 => service_interrupt(nes), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:186:54 [INFO] [stderr] | [INFO] [stderr] 186 | pub fn read_latched_byte(&mut self, mapper: &mut Mapper, address: u16) -> u8 { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:189:20 [INFO] [stderr] | [INFO] [stderr] 189 | 0x3F00 ... 0x3FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:202:56 [INFO] [stderr] | [INFO] [stderr] 202 | pub fn passively_read_byte(&mut self, mapper: &mut Mapper, address: u16) -> u8 { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:206:46 [INFO] [stderr] | [INFO] [stderr] 206 | pub fn read_byte(&mut self, mapper: &mut Mapper, address: u16) -> u8 { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:212:48 [INFO] [stderr] | [INFO] [stderr] 212 | pub fn __read_byte(&mut self, mapper: &mut Mapper, address: u16, side_effects: bool) -> u8 { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:219:20 [INFO] [stderr] | [INFO] [stderr] 219 | 0x0000 ... 0x1FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:233:20 [INFO] [stderr] | [INFO] [stderr] 233 | 0x2000 ... 0x2FFF => return self.internal_vram[nametable_address(masked_address, mapper.mirroring()) as usize], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:234:20 [INFO] [stderr] | [INFO] [stderr] 234 | 0x3000 ... 0x3EFF => return self.__read_byte(mapper, masked_address - 0x1000, side_effects), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:235:20 [INFO] [stderr] | [INFO] [stderr] 235 | 0x3F00 ... 0x3FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:250:47 [INFO] [stderr] | [INFO] [stderr] 250 | pub fn write_byte(&mut self, mapper: &mut Mapper, address: u16, data: u8) { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:255:20 [INFO] [stderr] | [INFO] [stderr] 255 | 0x0000 ... 0x1FFF => mapper.write_byte(masked_address, data), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:257:20 [INFO] [stderr] | [INFO] [stderr] 257 | 0x2000 ... 0x2FFF => self.internal_vram[nametable_address(masked_address, mapper.mirroring()) as usize] = data, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:258:20 [INFO] [stderr] | [INFO] [stderr] 258 | 0x3000 ... 0x3EFF => self.write_byte(mapper, masked_address - 0x1000, data), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:259:20 [INFO] [stderr] | [INFO] [stderr] 259 | 0x3F00 ... 0x3FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:348:43 [INFO] [stderr] | [INFO] [stderr] 348 | fn draw_pixel(&mut self, mapper: &mut Mapper) { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:439:46 [INFO] [stderr] | [INFO] [stderr] 439 | fn fetch_bg_tile(&mut self, mapper: &mut Mapper, sub_cycle: u16) { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:480:51 [INFO] [stderr] | [INFO] [stderr] 480 | fn fetch_sprite_tiles(&mut self, mapper: &mut Mapper) { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:532:51 [INFO] [stderr] | [INFO] [stderr] 532 | fn prerender_scanline(&mut self, mapper: &mut Mapper) { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:542:15 [INFO] [stderr] | [INFO] [stderr] 542 | 2 ... 256 => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:559:17 [INFO] [stderr] | [INFO] [stderr] 559 | 258 ... 279 => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:564:17 [INFO] [stderr] | [INFO] [stderr] 564 | 280 ... 304 => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:572:17 [INFO] [stderr] | [INFO] [stderr] 572 | 305 ... 320 => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:577:17 [INFO] [stderr] | [INFO] [stderr] 577 | 321 ... 336 => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:609:48 [INFO] [stderr] | [INFO] [stderr] 609 | fn render_scanline(&mut self, mapper: &mut Mapper) { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:613:19 [INFO] [stderr] | [INFO] [stderr] 613 | 1 ... 256 => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:624:21 [INFO] [stderr] | [INFO] [stderr] 624 | 257 ... 320 => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:637:21 [INFO] [stderr] | [INFO] [stderr] 637 | 321 ... 336 => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:654:19 [INFO] [stderr] | [INFO] [stderr] 654 | 1 ... 256 => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:680:42 [INFO] [stderr] | [INFO] [stderr] 680 | pub fn clock(&mut self, mapper: &mut Mapper) { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:682:15 [INFO] [stderr] | [INFO] [stderr] 682 | 0 ... 239 => self.render_scanline(mapper), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:699:48 [INFO] [stderr] | [INFO] [stderr] 699 | pub fn get_bg_tile(&mut self, mapper: &mut Mapper, tx: u8, ty: u8) -> u8 { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:711:51 [INFO] [stderr] | [INFO] [stderr] 711 | pub fn get_bg_palette(&mut self, mapper: &mut Mapper, tx: u8, ty: u8) -> u8 { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn Mapper` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:735:16 [INFO] [stderr] | [INFO] [stderr] 735 | 0x2000 ... 0x23FF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:745:16 [INFO] [stderr] | [INFO] [stderr] 745 | 0x2400 ... 0x27FF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:755:16 [INFO] [stderr] | [INFO] [stderr] 755 | 0x2800 ... 0x2BFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/ppu.rs:765:16 [INFO] [stderr] | [INFO] [stderr] 765 | 0x2C00 ... 0x2FFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.62s [INFO] running `"docker" "inspect" "f2b30c3b97828c48df69c1a2c8cc4a640be3830792d13fb5dd26825254e3452f"` [INFO] running `"docker" "rm" "-f" "f2b30c3b97828c48df69c1a2c8cc4a640be3830792d13fb5dd26825254e3452f"` [INFO] [stdout] f2b30c3b97828c48df69c1a2c8cc4a640be3830792d13fb5dd26825254e3452f