[INFO] cloning repository https://github.com/peterhorne/gba [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/peterhorne/gba" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpeterhorne%2Fgba", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpeterhorne%2Fgba'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 65044283219465e9806506c398a170b01ed24a41 [INFO] testing peterhorne/gba against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpeterhorne%2Fgba" "/workspace/builds/worker-51/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-51/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/peterhorne/gba on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/peterhorne/gba [INFO] finished tweaking git repo https://github.com/peterhorne/gba [INFO] tweaked toml for git repo https://github.com/peterhorne/gba written to /workspace/builds/worker-51/source/Cargo.toml [INFO] crate git repo https://github.com/peterhorne/gba already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded libc v0.2.37 [INFO] [stderr] Downloaded structopt-derive v0.2.4 [INFO] [stderr] Downloaded syn v0.12.13 [INFO] [stderr] Downloaded structopt v0.2.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-51/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-51/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 21c6f0bfd7f0368c15aaf887d02473122c50b89c6fe2980da449a43b844dab3a [INFO] running `Command { std: "docker" "start" "-a" "21c6f0bfd7f0368c15aaf887d02473122c50b89c6fe2980da449a43b844dab3a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "21c6f0bfd7f0368c15aaf887d02473122c50b89c6fe2980da449a43b844dab3a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "21c6f0bfd7f0368c15aaf887d02473122c50b89c6fe2980da449a43b844dab3a", kill_on_drop: false }` [INFO] [stdout] 21c6f0bfd7f0368c15aaf887d02473122c50b89c6fe2980da449a43b844dab3a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-51/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-51/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=warn" "-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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9b63299b7e65481d584f045dc02a3df4dcbbeeef6bb8ffbeebf3dc6200939320 [INFO] running `Command { std: "docker" "start" "-a" "9b63299b7e65481d584f045dc02a3df4dcbbeeef6bb8ffbeebf3dc6200939320", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling libc v0.2.37 [INFO] [stderr] Compiling unicode-width v0.1.4 [INFO] [stderr] Compiling bitflags v1.0.1 [INFO] [stderr] Compiling strsim v0.7.0 [INFO] [stderr] Compiling ansi_term v0.10.2 [INFO] [stderr] Compiling vec_map v0.8.0 [INFO] [stderr] Compiling byteorder v1.0.0 [INFO] [stderr] Compiling textwrap v0.9.0 [INFO] [stderr] Compiling proc-macro2 v0.2.3 [INFO] [stderr] Compiling atty v0.2.6 [INFO] [stderr] Compiling quote v0.4.2 [INFO] [stderr] Compiling clap v2.30.0 [INFO] [stderr] Compiling syn v0.12.13 [INFO] [stderr] Compiling structopt-derive v0.2.4 [INFO] [stderr] Compiling structopt v0.2.4 [INFO] [stderr] Compiling gba v0.0.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel [INFO] [stdout] --> src/main.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(box_syntax)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/main.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/cpu.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use bus::{Read, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instruction` [INFO] [stdout] --> src/cpu.rs:6:39 [INFO] [stdout] | [INFO] [stdout] 6 | use instruction::{EncodedInstruction, Instruction}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:265:29 [INFO] [stdout] | [INFO] [stdout] 265 | (&Supervisor, 13...14) => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:268:24 [INFO] [stdout] | [INFO] [stdout] 268 | (&Abort, 13...14) => &self.abort[(index.0 - 13) as usize], [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:269:28 [INFO] [stdout] | [INFO] [stdout] 269 | (&Undefined, 13...14) => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:272:22 [INFO] [stdout] | [INFO] [stdout] 272 | (&IRQ, 13...14) => &self.irq[(index.0 - 13) as usize], [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:273:21 [INFO] [stdout] | [INFO] [stdout] 273 | (&FIQ, 8...14) => &self.fiq[(index.0 - 8) as usize], [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:283:29 [INFO] [stdout] | [INFO] [stdout] 283 | (&Supervisor, 13...14) => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:286:24 [INFO] [stdout] | [INFO] [stdout] 286 | (&Abort, 13...14) => &mut self.abort[(index.0 - 13) as usize], [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:287:28 [INFO] [stdout] | [INFO] [stdout] 287 | (&Undefined, 13...14) => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:290:22 [INFO] [stdout] | [INFO] [stdout] 290 | (&IRQ, 13...14) => &mut self.irq[(index.0 - 13) as usize], [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:291:21 [INFO] [stdout] | [INFO] [stdout] 291 | (&FIQ, 8...14) => &mut self.fiq[(index.0 - 8) as usize], [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SetBit` [INFO] [stdout] --> src/execute.rs:1:22 [INFO] [stdout] | [INFO] [stdout] 1 | use bit::{Bit, Bits, SetBit, SetBits}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/instruction.rs:1070:18 [INFO] [stdout] | [INFO] [stdout] 1070 | i @ 0...11 => write!(f, "r{}", i), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:35:22 [INFO] [stdout] | [INFO] [stdout] 35 | 0x0000000...0x0003FFF => (&self.bios, offset), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:36:22 [INFO] [stdout] | [INFO] [stdout] 36 | 0x2000000...0x203FFFF => panic!("WRAM - On-board Work RAM"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:37:22 [INFO] [stdout] | [INFO] [stdout] 37 | 0x3000000...0x3007FFF => panic!("WRAM - On-chip Work RAM"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:39:22 [INFO] [stdout] | [INFO] [stdout] 39 | 0x4000000...0x4000056 => panic!("LCD I/O Registers"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:40:22 [INFO] [stdout] | [INFO] [stdout] 40 | 0x4000060...0x40000A8 => panic!("Sound Registers"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:41:22 [INFO] [stdout] | [INFO] [stdout] 41 | 0x40000B0...0x40000E0 => panic!("DMA Transfer Channels"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:42:22 [INFO] [stdout] | [INFO] [stdout] 42 | 0x4000100...0x4000110 => panic!("Timer Registers"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:43:22 [INFO] [stdout] | [INFO] [stdout] 43 | 0x4000120...0x400012C => panic!("Serial Communication (1)"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:44:22 [INFO] [stdout] | [INFO] [stdout] 44 | 0x4000130...0x4000132 => panic!("Keypad Input"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:45:22 [INFO] [stdout] | [INFO] [stdout] 45 | 0x4000134...0x400015A => panic!("Serial Communication (2)"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:46:22 [INFO] [stdout] | [INFO] [stdout] 46 | 0x4000200...0x4000209 => (&self.interrupts, offset), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:47:22 [INFO] [stdout] | [INFO] [stdout] 47 | 0x4000300...0x4000803 => (&self.misc, offset), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:49:22 [INFO] [stdout] | [INFO] [stdout] 49 | 0x5000000...0x50003FF => panic!("BG/OBJ Palette RAM"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:50:22 [INFO] [stdout] | [INFO] [stdout] 50 | 0x6000000...0x6017FFF => panic!("VRAM - Video RAM"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:51:22 [INFO] [stdout] | [INFO] [stdout] 51 | 0x7000000...0x70003FF => panic!("OAM - OBJ Attributes"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:53:22 [INFO] [stdout] | [INFO] [stdout] 53 | 0x7ffffff...0x9FFFFFF => (&self.rom, offset), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:54:22 [INFO] [stdout] | [INFO] [stdout] 54 | 0xA000000...0xBFFFFFF => (&self.rom, offset), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:55:22 [INFO] [stdout] | [INFO] [stdout] 55 | 0xC000000...0xDFFFFFF => (&self.rom, offset), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:56:22 [INFO] [stdout] | [INFO] [stdout] 56 | 0xE000000...0xE00FFFF => panic!("Game Pak SRAM"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:65:22 [INFO] [stdout] | [INFO] [stdout] 65 | 0x2000000...0x203FFFF => panic!("WRAM - On-board Work RAM"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:66:22 [INFO] [stdout] | [INFO] [stdout] 66 | 0x3000000...0x3007FFF => panic!("WRAM - On-chip Work RAM"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:68:22 [INFO] [stdout] | [INFO] [stdout] 68 | 0x4000000...0x4000056 => panic!("LCD I/O Registers"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:69:22 [INFO] [stdout] | [INFO] [stdout] 69 | 0x4000060...0x40000A8 => panic!("Sound Registers"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:70:22 [INFO] [stdout] | [INFO] [stdout] 70 | 0x40000B0...0x40000E0 => panic!("DMA Transfer Channels"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:71:22 [INFO] [stdout] | [INFO] [stdout] 71 | 0x4000100...0x4000110 => panic!("Timer Registers"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:72:22 [INFO] [stdout] | [INFO] [stdout] 72 | 0x4000120...0x400012C => panic!("Serial Communication (1)"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:73:22 [INFO] [stdout] | [INFO] [stdout] 73 | 0x4000130...0x4000132 => panic!("Keypad Input"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:74:22 [INFO] [stdout] | [INFO] [stdout] 74 | 0x4000134...0x400015A => panic!("Serial Communication (2)"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:75:22 [INFO] [stdout] | [INFO] [stdout] 75 | 0x4000200...0x4000209 => (&mut self.interrupts, offset), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:76:22 [INFO] [stdout] | [INFO] [stdout] 76 | 0x4000300...0x4000803 => (&mut self.misc, offset), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:78:22 [INFO] [stdout] | [INFO] [stdout] 78 | 0x5000000...0x50003FF => panic!("BG/OBJ Palette RAM"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:79:22 [INFO] [stdout] | [INFO] [stdout] 79 | 0x6000000...0x6017FFF => panic!("VRAM - Video RAM"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:80:22 [INFO] [stdout] | [INFO] [stdout] 80 | 0x7000000...0x70003FF => panic!("OAM - OBJ Attributes"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory_map.rs:82:22 [INFO] [stdout] | [INFO] [stdout] 82 | 0xE000000...0xE00FFFF => panic!("Game Pak SRAM"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/memory_map.rs:31:43 [INFO] [stdout] | [INFO] [stdout] 31 | fn map_read(&self, address: u32) -> (&Read, u32) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 31 - fn map_read(&self, address: u32) -> (&Read, u32) { [INFO] [stdout] 31 + fn map_read(&self, address: u32) -> (&dyn Read, u32) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/memory_map.rs:61:52 [INFO] [stdout] | [INFO] [stdout] 61 | fn map_write(&mut self, address: u32) -> (&mut Write, u32) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 61 - fn map_write(&mut self, address: u32) -> (&mut Write, u32) { [INFO] [stdout] 61 + fn map_write(&mut self, address: u32) -> (&mut dyn Write, u32) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SetBits` [INFO] [stdout] --> src/execute.rs:1:30 [INFO] [stdout] | [INFO] [stdout] 1 | use bit::{Bit, Bits, SetBit, SetBits}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to previous error; 52 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0554`. [INFO] [stdout] [INFO] [stderr] error: could not compile `gba` due to 2 previous errors; 52 warnings emitted [INFO] running `Command { std: "docker" "inspect" "9b63299b7e65481d584f045dc02a3df4dcbbeeef6bb8ffbeebf3dc6200939320", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9b63299b7e65481d584f045dc02a3df4dcbbeeef6bb8ffbeebf3dc6200939320", kill_on_drop: false }` [INFO] [stdout] 9b63299b7e65481d584f045dc02a3df4dcbbeeef6bb8ffbeebf3dc6200939320