[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 beta-2025-10-28 for beta-1.92-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpeterhorne%2Fgba" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[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-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/peterhorne/gba on toolchain beta-2025-10-28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/peterhorne/gba already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-10-28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 066af9dc4d2ec63e1980a053b47060a6b771c6edcd2fda4a520729d4c197db09
[INFO] running `Command { std: "docker" "start" "-a" "066af9dc4d2ec63e1980a053b47060a6b771c6edcd2fda4a520729d4c197db09", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "066af9dc4d2ec63e1980a053b47060a6b771c6edcd2fda4a520729d4c197db09", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "066af9dc4d2ec63e1980a053b47060a6b771c6edcd2fda4a520729d4c197db09", kill_on_drop: false }`
[INFO] [stdout] 066af9dc4d2ec63e1980a053b47060a6b771c6edcd2fda4a520729d4c197db09
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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" "RUSTDOCFLAGS=--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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a295c900cf0ed1ab4cc6cff86a3efc5baf38ab4c99e0d8d48a8361d87b5af504
[INFO] running `Command { std: "docker" "start" "-a" "a295c900cf0ed1ab4cc6cff86a3efc5baf38ab4c99e0d8d48a8361d87b5af504", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[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 ansi_term v0.10.2
[INFO] [stderr]    Compiling bitflags v1.0.1
[INFO] [stderr]    Compiling strsim v0.7.0
[INFO] [stderr]    Compiling vec_map v0.8.0
[INFO] [stderr]    Compiling byteorder v1.0.0
[INFO] [stderr]    Compiling proc-macro2 v0.2.3
[INFO] [stderr]    Compiling textwrap v0.9.0
[INFO] [stderr]    Compiling atty v0.2.6
[INFO] [stderr]    Compiling clap v2.30.0
[INFO] [stderr]    Compiling quote v0.4.2
[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[E0557]: feature has been removed
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_syntax)]
[INFO] [stdout]   |            ^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in 1.70.0; see <https://github.com/rust-lang/rust/pull/108471> for more information
[INFO] [stdout]   = note: replaced with `#[rustc_box]`
[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)]` (part of `#[warn(unused)]`) 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]     = 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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[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]    = 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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[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] warning: unreachable pattern
[INFO] [stdout]   --> src/decode/decode_arm.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |         (0, 1, _, _, _, 1, _, 1, _, _, _, _) => ldrb(inst),
[INFO] [stdout]    |         ------------------------------------ matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 59 |         (0, 1, _, 0, _, 1, 1, 1, _, _, _, _) => ldrbt(inst),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/decode/decode_arm.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |         (0, 1, _, _, _, 0, _, 1, _, _, _, _) => ldr(inst),
[INFO] [stdout]    |         ------------------------------------ matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 60 |         (0, 1, _, 0, _, 0, 1, 1, _, _, _, _) => ldrt(inst),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/decode/decode_arm.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |         (0, 1, _, _, _, 1, _, 0, _, _, _, _) => strb(inst),
[INFO] [stdout]    |         ------------------------------------ matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 61 |         (0, 1, _, 0, _, 1, 1, 0, _, _, _, _) => strbt(inst),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/decode/decode_arm.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |         (0, 1, _, _, _, 0, _, 0, _, _, _, _) => str(inst),
[INFO] [stdout]    |         ------------------------------------ matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 62 |         (0, 1, _, 0, _, 0, 1, 0, _, _, _, _) => strt(inst),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/decode/decode_arm.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         (1, 0, 0, _, _, 1, _, 1, _, _, _, _) => ldm3(inst),
[INFO] [stdout]    |         ------------------------------------ matches all the relevant values
[INFO] [stdout] 65 |         (1, 0, 0, _, _, 0, _, 0, _, _, _, _) => stm1(inst),
[INFO] [stdout] 66 |         (1, 0, 0, _, _, 1, 0, 1, _, _, _, _) => ldm2(inst),
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]  --> src/decode/decode_thumb.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn decode_thumb(inst: u16) -> Instruction {
[INFO] [stdout]   |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shifter_carry_out`
[INFO] [stdout]   --> src/execute.rs:82:35
[INFO] [stdout]    |
[INFO] [stdout] 82 |             let (shifter_operand, shifter_carry_out) =
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shifter_carry_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shifter_carry_out`
[INFO] [stdout]    --> src/execute.rs:109:35
[INFO] [stdout]     |
[INFO] [stdout] 109 |             let (shifter_operand, shifter_carry_out) =
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shifter_carry_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shifter_carry_out`
[INFO] [stdout]    --> src/execute.rs:136:35
[INFO] [stdout]     |
[INFO] [stdout] 136 |             let (shifter_operand, shifter_carry_out) =
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shifter_carry_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shifter_carry_out`
[INFO] [stdout]    --> src/execute.rs:164:35
[INFO] [stdout]     |
[INFO] [stdout] 164 |             let (shifter_operand, shifter_carry_out) =
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shifter_carry_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shifter_carry_out`
[INFO] [stdout]    --> src/execute.rs:194:35
[INFO] [stdout]     |
[INFO] [stdout] 194 |             let (shifter_operand, shifter_carry_out) =
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shifter_carry_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shifter_carry_out`
[INFO] [stdout]    --> src/execute.rs:223:35
[INFO] [stdout]     |
[INFO] [stdout] 223 |             let (shifter_operand, shifter_carry_out) =
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shifter_carry_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shifter_carry_out`
[INFO] [stdout]    --> src/execute.rs:266:35
[INFO] [stdout]     |
[INFO] [stdout] 266 |             let (shifter_operand, shifter_carry_out) =
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shifter_carry_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shifter_carry_out`
[INFO] [stdout]    --> src/execute.rs:278:35
[INFO] [stdout]     |
[INFO] [stdout] 278 |             let (shifter_operand, shifter_carry_out) =
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shifter_carry_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/execute.rs:368:28
[INFO] [stdout]     |
[INFO] [stdout] 368 |         Instruction::Mul { s, rd, rm, rs, .. } => {
[INFO] [stdout]     |                            ^ help: try ignoring the field: `s: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rd`
[INFO] [stdout]    --> src/execute.rs:368:31
[INFO] [stdout]     |
[INFO] [stdout] 368 |         Instruction::Mul { s, rd, rm, rs, .. } => {
[INFO] [stdout]     |                               ^^ help: try ignoring the field: `rd: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rm`
[INFO] [stdout]    --> src/execute.rs:368:35
[INFO] [stdout]     |
[INFO] [stdout] 368 |         Instruction::Mul { s, rd, rm, rs, .. } => {
[INFO] [stdout]     |                                   ^^ help: try ignoring the field: `rm: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rs`
[INFO] [stdout]    --> src/execute.rs:368:39
[INFO] [stdout]     |
[INFO] [stdout] 368 |         Instruction::Mul { s, rd, rm, rs, .. } => {
[INFO] [stdout]     |                                       ^^ help: try ignoring the field: `rs: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/execute.rs:373:13
[INFO] [stdout]     |
[INFO] [stdout] 373 |             s, rd, rn, rm, rs, ..
[INFO] [stdout]     |             ^ help: try ignoring the field: `s: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rd`
[INFO] [stdout]    --> src/execute.rs:373:16
[INFO] [stdout]     |
[INFO] [stdout] 373 |             s, rd, rn, rm, rs, ..
[INFO] [stdout]     |                ^^ help: try ignoring the field: `rd: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rn`
[INFO] [stdout]    --> src/execute.rs:373:20
[INFO] [stdout]     |
[INFO] [stdout] 373 |             s, rd, rn, rm, rs, ..
[INFO] [stdout]     |                    ^^ help: try ignoring the field: `rn: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rm`
[INFO] [stdout]    --> src/execute.rs:373:24
[INFO] [stdout]     |
[INFO] [stdout] 373 |             s, rd, rn, rm, rs, ..
[INFO] [stdout]     |                        ^^ help: try ignoring the field: `rm: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rs`
[INFO] [stdout]    --> src/execute.rs:373:28
[INFO] [stdout]     |
[INFO] [stdout] 373 |             s, rd, rn, rm, rs, ..
[INFO] [stdout]     |                            ^^ help: try ignoring the field: `rs: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/execute.rs:379:13
[INFO] [stdout]     |
[INFO] [stdout] 379 |             s,
[INFO] [stdout]     |             ^ help: try ignoring the field: `s: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rd_hi`
[INFO] [stdout]    --> src/execute.rs:380:13
[INFO] [stdout]     |
[INFO] [stdout] 380 |             rd_hi,
[INFO] [stdout]     |             ^^^^^ help: try ignoring the field: `rd_hi: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rd_lo`
[INFO] [stdout]    --> src/execute.rs:381:13
[INFO] [stdout]     |
[INFO] [stdout] 381 |             rd_lo,
[INFO] [stdout]     |             ^^^^^ help: try ignoring the field: `rd_lo: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rm`
[INFO] [stdout]    --> src/execute.rs:382:13
[INFO] [stdout]     |
[INFO] [stdout] 382 |             rm,
[INFO] [stdout]     |             ^^ help: try ignoring the field: `rm: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rs`
[INFO] [stdout]    --> src/execute.rs:383:13
[INFO] [stdout]     |
[INFO] [stdout] 383 |             rs,
[INFO] [stdout]     |             ^^ help: try ignoring the field: `rs: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/execute.rs:390:13
[INFO] [stdout]     |
[INFO] [stdout] 390 |             s,
[INFO] [stdout]     |             ^ help: try ignoring the field: `s: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rd_hi`
[INFO] [stdout]    --> src/execute.rs:391:13
[INFO] [stdout]     |
[INFO] [stdout] 391 |             rd_hi,
[INFO] [stdout]     |             ^^^^^ help: try ignoring the field: `rd_hi: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rd_lo`
[INFO] [stdout]    --> src/execute.rs:392:13
[INFO] [stdout]     |
[INFO] [stdout] 392 |             rd_lo,
[INFO] [stdout]     |             ^^^^^ help: try ignoring the field: `rd_lo: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rm`
[INFO] [stdout]    --> src/execute.rs:393:13
[INFO] [stdout]     |
[INFO] [stdout] 393 |             rm,
[INFO] [stdout]     |             ^^ help: try ignoring the field: `rm: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rs`
[INFO] [stdout]    --> src/execute.rs:394:13
[INFO] [stdout]     |
[INFO] [stdout] 394 |             rs,
[INFO] [stdout]     |             ^^ help: try ignoring the field: `rs: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/execute.rs:401:13
[INFO] [stdout]     |
[INFO] [stdout] 401 |             s,
[INFO] [stdout]     |             ^ help: try ignoring the field: `s: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rd_hi`
[INFO] [stdout]    --> src/execute.rs:402:13
[INFO] [stdout]     |
[INFO] [stdout] 402 |             rd_hi,
[INFO] [stdout]     |             ^^^^^ help: try ignoring the field: `rd_hi: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rd_lo`
[INFO] [stdout]    --> src/execute.rs:403:13
[INFO] [stdout]     |
[INFO] [stdout] 403 |             rd_lo,
[INFO] [stdout]     |             ^^^^^ help: try ignoring the field: `rd_lo: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rm`
[INFO] [stdout]    --> src/execute.rs:404:13
[INFO] [stdout]     |
[INFO] [stdout] 404 |             rm,
[INFO] [stdout]     |             ^^ help: try ignoring the field: `rm: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rs`
[INFO] [stdout]    --> src/execute.rs:405:13
[INFO] [stdout]     |
[INFO] [stdout] 405 |             rs,
[INFO] [stdout]     |             ^^ help: try ignoring the field: `rs: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/execute.rs:412:13
[INFO] [stdout]     |
[INFO] [stdout] 412 |             s,
[INFO] [stdout]     |             ^ help: try ignoring the field: `s: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rd_hi`
[INFO] [stdout]    --> src/execute.rs:413:13
[INFO] [stdout]     |
[INFO] [stdout] 413 |             rd_hi,
[INFO] [stdout]     |             ^^^^^ help: try ignoring the field: `rd_hi: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rd_lo`
[INFO] [stdout]    --> src/execute.rs:414:13
[INFO] [stdout]     |
[INFO] [stdout] 414 |             rd_lo,
[INFO] [stdout]     |             ^^^^^ help: try ignoring the field: `rd_lo: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rm`
[INFO] [stdout]    --> src/execute.rs:415:13
[INFO] [stdout]     |
[INFO] [stdout] 415 |             rm,
[INFO] [stdout]     |             ^^ help: try ignoring the field: `rm: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rs`
[INFO] [stdout]    --> src/execute.rs:416:13
[INFO] [stdout]     |
[INFO] [stdout] 416 |             rs,
[INFO] [stdout]     |             ^^ help: try ignoring the field: `rs: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rd`
[INFO] [stdout]    --> src/execute.rs:473:29
[INFO] [stdout]     |
[INFO] [stdout] 473 |         Instruction::Ldrh { rd, address, .. } => {
[INFO] [stdout]     |                             ^^ help: try ignoring the field: `rd: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/execute.rs:473:33
[INFO] [stdout]     |
[INFO] [stdout] 473 |         Instruction::Ldrh { rd, address, .. } => {
[INFO] [stdout]     |                                 ^^^^^^^ help: try ignoring the field: `address: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rd`
[INFO] [stdout]    --> src/execute.rs:477:30
[INFO] [stdout]     |
[INFO] [stdout] 477 |         Instruction::Ldrsb { rd, address, .. } => {
[INFO] [stdout]     |                              ^^ help: try ignoring the field: `rd: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/execute.rs:477:34
[INFO] [stdout]     |
[INFO] [stdout] 477 |         Instruction::Ldrsb { rd, address, .. } => {
[INFO] [stdout]     |                                  ^^^^^^^ help: try ignoring the field: `address: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rd`
[INFO] [stdout]    --> src/execute.rs:481:30
[INFO] [stdout]     |
[INFO] [stdout] 481 |         Instruction::Ldrsh { rd, address, .. } => {
[INFO] [stdout]     |                              ^^ help: try ignoring the field: `rd: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/execute.rs:481:34
[INFO] [stdout]     |
[INFO] [stdout] 481 |         Instruction::Ldrsh { rd, address, .. } => {
[INFO] [stdout]     |                                  ^^^^^^^ help: try ignoring the field: `address: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rd`
[INFO] [stdout]    --> src/execute.rs:485:29
[INFO] [stdout]     |
[INFO] [stdout] 485 |         Instruction::Strh { rd, address, .. } => {
[INFO] [stdout]     |                             ^^ help: try ignoring the field: `rd: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/execute.rs:485:33
[INFO] [stdout]     |
[INFO] [stdout] 485 |         Instruction::Strh { rd, address, .. } => {
[INFO] [stdout]     |                                 ^^^^^^^ help: try ignoring the field: `address: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rd`
[INFO] [stdout]    --> src/execute.rs:563:29
[INFO] [stdout]     |
[INFO] [stdout] 563 |         Instruction::Swpb { rd, rm, rn, .. } => {
[INFO] [stdout]     |                             ^^ help: try ignoring the field: `rd: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rm`
[INFO] [stdout]    --> src/execute.rs:563:33
[INFO] [stdout]     |
[INFO] [stdout] 563 |         Instruction::Swpb { rd, rm, rn, .. } => {
[INFO] [stdout]     |                                 ^^ help: try ignoring the field: `rm: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rn`
[INFO] [stdout]    --> src/execute.rs:563:37
[INFO] [stdout]     |
[INFO] [stdout] 563 |         Instruction::Swpb { rd, rm, rn, .. } => {
[INFO] [stdout]     |                                     ^^ help: try ignoring the field: `rn: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rd`
[INFO] [stdout]    --> src/execute.rs:567:28
[INFO] [stdout]     |
[INFO] [stdout] 567 |         Instruction::Swp { rd, rm, rn, .. } => {
[INFO] [stdout]     |                            ^^ help: try ignoring the field: `rd: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rm`
[INFO] [stdout]    --> src/execute.rs:567:32
[INFO] [stdout]     |
[INFO] [stdout] 567 |         Instruction::Swp { rd, rm, rn, .. } => {
[INFO] [stdout]     |                                ^^ help: try ignoring the field: `rm: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rn`
[INFO] [stdout]    --> src/execute.rs:567:36
[INFO] [stdout]     |
[INFO] [stdout] 567 |         Instruction::Swp { rd, rm, rn, .. } => {
[INFO] [stdout]     |                                    ^^ help: try ignoring the field: `rn: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `immediate`
[INFO] [stdout]    --> src/execute.rs:571:28
[INFO] [stdout]     |
[INFO] [stdout] 571 |         Instruction::Swi { immediate, .. } => {
[INFO] [stdout]     |                            ^^^^^^^^^ help: try ignoring the field: `immediate: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0557`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `gba` (bin "gba") due to 1 previous error; 110 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "a295c900cf0ed1ab4cc6cff86a3efc5baf38ab4c99e0d8d48a8361d87b5af504", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a295c900cf0ed1ab4cc6cff86a3efc5baf38ab4c99e0d8d48a8361d87b5af504", kill_on_drop: false }`
[INFO] [stdout] a295c900cf0ed1ab4cc6cff86a3efc5baf38ab4c99e0d8d48a8361d87b5af504
