[INFO] cloning repository https://github.com/siikamiika/gba [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/siikamiika/gba" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsiikamiika%2Fgba", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsiikamiika%2Fgba'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5a12e524ede3cf03a65926d315286aee332e50b5 [INFO] testing siikamiika/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%2Fsiikamiika%2Fgba" "/workspace/builds/worker-84/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-84/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/siikamiika/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/siikamiika/gba [INFO] finished tweaking git repo https://github.com/siikamiika/gba [INFO] tweaked toml for git repo https://github.com/siikamiika/gba written to /workspace/builds/worker-84/source/Cargo.toml [INFO] crate git repo https://github.com/siikamiika/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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-84/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-84/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] b8f2a3de49ceee4928672c37e362b262b9f8c29fb6cf85fa35dfbef2f70119e5 [INFO] running `Command { std: "docker" "start" "-a" "b8f2a3de49ceee4928672c37e362b262b9f8c29fb6cf85fa35dfbef2f70119e5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b8f2a3de49ceee4928672c37e362b262b9f8c29fb6cf85fa35dfbef2f70119e5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b8f2a3de49ceee4928672c37e362b262b9f8c29fb6cf85fa35dfbef2f70119e5", kill_on_drop: false }` [INFO] [stdout] b8f2a3de49ceee4928672c37e362b262b9f8c29fb6cf85fa35dfbef2f70119e5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-84/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-84/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] 44e131cb58f646ee61f984e256626c02fa30381547363b42044275ce646345d1 [INFO] running `Command { std: "docker" "start" "-a" "44e131cb58f646ee61f984e256626c02fa30381547363b42044275ce646345d1", kill_on_drop: false }` [INFO] [stderr] Compiling gba-emu v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::thread::sleep` [INFO] [stdout] --> src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::thread::sleep; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/memory.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | (bytes[0] as u16 + ((bytes[1] as u16) << 8)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 70 - (bytes[0] as u16 + ((bytes[1] as u16) << 8)) [INFO] [stdout] 70 + bytes[0] as u16 + ((bytes[1] as u16) << 8) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/memory.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | (bytes[0] as u32 + ((bytes[1] as u32) << 8) + ((bytes[2] as u32) << 16) + ((bytes[3] as u32) << 24)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 75 - (bytes[0] as u32 + ((bytes[1] as u32) << 8) + ((bytes[2] as u32) << 16) + ((bytes[3] as u32) << 24)) [INFO] [stdout] 75 + bytes[0] as u32 + ((bytes[1] as u32) << 8) + ((bytes[2] as u32) << 16) + ((bytes[3] as u32) << 24) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::registers::Register::*` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use self::registers::Register::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::cpu::Mode::*` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use self::cpu::Mode::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::arm_instructions::decode_instruction` [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use self::arm_instructions::decode_instruction; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/arm_instructions.rs:171:42 [INFO] [stdout] | [INFO] [stdout] 171 | fn exec_arm_data_proc(&mut self, f: &Fn(u32, u32) -> u32, cond: Condition, i: bool, s: bool, rn: u32, rd: u32, mut op2: 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 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 171 - fn exec_arm_data_proc(&mut self, f: &Fn(u32, u32) -> u32, cond: Condition, i: bool, s: bool, rn: u32, rd: u32, mut op2: u32) { [INFO] [stdout] 171 + fn exec_arm_data_proc(&mut self, f: &dyn Fn(u32, u32) -> u32, cond: Condition, i: bool, s: bool, rn: u32, rd: u32, mut op2: u32) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/arm_instructions.rs:325:20 [INFO] [stdout] | [INFO] [stdout] 325 | let oper: &Fn(u32, u32) -> u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 325 - let oper: &Fn(u32, u32) -> u32; [INFO] [stdout] 325 + let oper: &dyn Fn(u32, u32) -> u32; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> src/memory.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> src/arm_instructions.rs:4:42 [INFO] [stdout] | [INFO] [stdout] 4 | use super::registers::{Register, PsrBit, Read}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/registers.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 144 | let result = self.index(register); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `c` is never read [INFO] [stdout] --> src/arm_instructions.rs:98:17 [INFO] [stdout] | [INFO] [stdout] 98 | let mut c = self.registers.read_cpsr_bits(vec![C])[0]; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cond` [INFO] [stdout] --> src/arm_instructions.rs:299:32 [INFO] [stdout] | [INFO] [stdout] 299 | fn exec_arm_cdp(&mut self, cond: Condition, c_opc: u32, crn: u32, crd: u32, cn: u32, cinf: u32, crm: u32) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cond` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c_opc` [INFO] [stdout] --> src/arm_instructions.rs:299:49 [INFO] [stdout] | [INFO] [stdout] 299 | fn exec_arm_cdp(&mut self, cond: Condition, c_opc: u32, crn: u32, crd: u32, cn: u32, cinf: u32, crm: u32) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_c_opc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `crn` [INFO] [stdout] --> src/arm_instructions.rs:299:61 [INFO] [stdout] | [INFO] [stdout] 299 | fn exec_arm_cdp(&mut self, cond: Condition, c_opc: u32, crn: u32, crd: u32, cn: u32, cinf: u32, crm: u32) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_crn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `crd` [INFO] [stdout] --> src/arm_instructions.rs:299:71 [INFO] [stdout] | [INFO] [stdout] 299 | fn exec_arm_cdp(&mut self, cond: Condition, c_opc: u32, crn: u32, crd: u32, cn: u32, cinf: u32, crm: u32) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_crd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cn` [INFO] [stdout] --> src/arm_instructions.rs:299:81 [INFO] [stdout] | [INFO] [stdout] 299 | fn exec_arm_cdp(&mut self, cond: Condition, c_opc: u32, crn: u32, crd: u32, cn: u32, cinf: u32, crm: u32) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_cn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cinf` [INFO] [stdout] --> src/arm_instructions.rs:299:90 [INFO] [stdout] | [INFO] [stdout] 299 | fn exec_arm_cdp(&mut self, cond: Condition, c_opc: u32, crn: u32, crd: u32, cn: u32, cinf: u32, crm: u32) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cinf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `crm` [INFO] [stdout] --> src/arm_instructions.rs:299:101 [INFO] [stdout] | [INFO] [stdout] 299 | fn exec_arm_cdp(&mut self, cond: Condition, c_opc: u32, crn: u32, crd: u32, cn: u32, cinf: u32, crm: u32) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_crm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cond` [INFO] [stdout] --> src/arm_instructions.rs:303:35 [INFO] [stdout] | [INFO] [stdout] 303 | fn exec_arm_ldcstc(&mut self, cond: Condition, p: bool, u: bool, n: bool, w: bool, l: bool, rn: u32, crd: u32, cn: u32, offset: u32) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cond` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/arm_instructions.rs:303:52 [INFO] [stdout] | [INFO] [stdout] 303 | fn exec_arm_ldcstc(&mut self, cond: Condition, p: bool, u: bool, n: bool, w: bool, l: bool, rn: u32, crd: u32, cn: u32, offset: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> src/arm_instructions.rs:303:61 [INFO] [stdout] | [INFO] [stdout] 303 | fn exec_arm_ldcstc(&mut self, cond: Condition, p: bool, u: bool, n: bool, w: bool, l: bool, rn: u32, crd: u32, cn: u32, offset: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/arm_instructions.rs:303:70 [INFO] [stdout] | [INFO] [stdout] 303 | fn exec_arm_ldcstc(&mut self, cond: Condition, p: bool, u: bool, n: bool, w: bool, l: bool, rn: u32, crd: u32, cn: u32, offset: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `w` [INFO] [stdout] --> src/arm_instructions.rs:303:79 [INFO] [stdout] | [INFO] [stdout] 303 | fn exec_arm_ldcstc(&mut self, cond: Condition, p: bool, u: bool, n: bool, w: bool, l: bool, rn: u32, crd: u32, cn: u32, offset: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_w` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `l` [INFO] [stdout] --> src/arm_instructions.rs:303:88 [INFO] [stdout] | [INFO] [stdout] 303 | fn exec_arm_ldcstc(&mut self, cond: Condition, p: bool, u: bool, n: bool, w: bool, l: bool, rn: u32, crd: u32, cn: u32, offset: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rn` [INFO] [stdout] --> src/arm_instructions.rs:303:97 [INFO] [stdout] | [INFO] [stdout] 303 | fn exec_arm_ldcstc(&mut self, cond: Condition, p: bool, u: bool, n: bool, w: bool, l: bool, rn: u32, crd: u32, cn: u32, offset: u32) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `crd` [INFO] [stdout] --> src/arm_instructions.rs:303:106 [INFO] [stdout] | [INFO] [stdout] 303 | fn exec_arm_ldcstc(&mut self, cond: Condition, p: bool, u: bool, n: bool, w: bool, l: bool, rn: u32, crd: u32, cn: u32, offset: u32) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_crd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cn` [INFO] [stdout] --> src/arm_instructions.rs:303:116 [INFO] [stdout] | [INFO] [stdout] 303 | fn exec_arm_ldcstc(&mut self, cond: Condition, p: bool, u: bool, n: bool, w: bool, l: bool, rn: u32, crd: u32, cn: u32, offset: u32) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_cn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/arm_instructions.rs:303:125 [INFO] [stdout] | [INFO] [stdout] 303 | fn exec_arm_ldcstc(&mut self, cond: Condition, p: bool, u: bool, n: bool, w: bool, l: bool, rn: u32, crd: u32, cn: u32, offset: u32) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/arm_instructions.rs:307:52 [INFO] [stdout] | [INFO] [stdout] 307 | fn exec_arm_ldmstm(&mut self, cond: Condition, p: bool, u: bool, s: bool, w: bool, l: bool, rn: u32, regs: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> src/arm_instructions.rs:307:61 [INFO] [stdout] | [INFO] [stdout] 307 | fn exec_arm_ldmstm(&mut self, cond: Condition, p: bool, u: bool, s: bool, w: bool, l: bool, rn: u32, regs: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/arm_instructions.rs:307:70 [INFO] [stdout] | [INFO] [stdout] 307 | fn exec_arm_ldmstm(&mut self, cond: Condition, p: bool, u: bool, s: bool, w: bool, l: bool, rn: u32, regs: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `w` [INFO] [stdout] --> src/arm_instructions.rs:307:79 [INFO] [stdout] | [INFO] [stdout] 307 | fn exec_arm_ldmstm(&mut self, cond: Condition, p: bool, u: bool, s: bool, w: bool, l: bool, rn: u32, regs: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_w` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `l` [INFO] [stdout] --> src/arm_instructions.rs:307:88 [INFO] [stdout] | [INFO] [stdout] 307 | fn exec_arm_ldmstm(&mut self, cond: Condition, p: bool, u: bool, s: bool, w: bool, l: bool, rn: u32, regs: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rn` [INFO] [stdout] --> src/arm_instructions.rs:307:97 [INFO] [stdout] | [INFO] [stdout] 307 | fn exec_arm_ldmstm(&mut self, cond: Condition, p: bool, u: bool, s: bool, w: bool, l: bool, rn: u32, regs: u32) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `regs` [INFO] [stdout] --> src/arm_instructions.rs:307:106 [INFO] [stdout] | [INFO] [stdout] 307 | fn exec_arm_ldmstm(&mut self, cond: Condition, p: bool, u: bool, s: bool, w: bool, l: bool, rn: u32, regs: u32) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_regs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cond` [INFO] [stdout] --> src/arm_instructions.rs:377:39 [INFO] [stdout] | [INFO] [stdout] 377 | fn exec_arm_ldrstrhalf(&mut self, cond: Condition, p: bool, u: bool, i: bool, w: bool, l: bool, rn: u32, rd: u32, s: bool, h: bool, o... [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cond` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/arm_instructions.rs:377:56 [INFO] [stdout] | [INFO] [stdout] 377 | fn exec_arm_ldrstrhalf(&mut self, cond: Condition, p: bool, u: bool, i: bool, w: bool, l: bool, rn: u32, rd: u32, s: bool, h: bool, o... [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> src/arm_instructions.rs:377:65 [INFO] [stdout] | [INFO] [stdout] 377 | fn exec_arm_ldrstrhalf(&mut self, cond: Condition, p: bool, u: bool, i: bool, w: bool, l: bool, rn: u32, rd: u32, s: bool, h: bool, o... [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/arm_instructions.rs:377:74 [INFO] [stdout] | [INFO] [stdout] 377 | ...ond: Condition, p: bool, u: bool, i: bool, w: bool, l: bool, rn: u32, rd: u32, s: bool, h: bool, offset: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `w` [INFO] [stdout] --> src/arm_instructions.rs:377:83 [INFO] [stdout] | [INFO] [stdout] 377 | ...ition, p: bool, u: bool, i: bool, w: bool, l: bool, rn: u32, rd: u32, s: bool, h: bool, offset: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_w` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `l` [INFO] [stdout] --> src/arm_instructions.rs:377:92 [INFO] [stdout] | [INFO] [stdout] 377 | ... bool, u: bool, i: bool, w: bool, l: bool, rn: u32, rd: u32, s: bool, h: bool, offset: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rn` [INFO] [stdout] --> src/arm_instructions.rs:377:101 [INFO] [stdout] | [INFO] [stdout] 377 | ...bool, i: bool, w: bool, l: bool, rn: u32, rd: u32, s: bool, h: bool, offset: u32) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rd` [INFO] [stdout] --> src/arm_instructions.rs:377:110 [INFO] [stdout] | [INFO] [stdout] 377 | ...bool, w: bool, l: bool, rn: u32, rd: u32, s: bool, h: bool, offset: u32) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/arm_instructions.rs:377:119 [INFO] [stdout] | [INFO] [stdout] 377 | ... bool, l: bool, rn: u32, rd: u32, s: bool, h: bool, offset: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h` [INFO] [stdout] --> src/arm_instructions.rs:377:128 [INFO] [stdout] | [INFO] [stdout] 377 | ... bool, rn: u32, rd: u32, s: bool, h: bool, offset: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_h` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/arm_instructions.rs:377:137 [INFO] [stdout] | [INFO] [stdout] 377 | ..., rd: u32, s: bool, h: bool, offset: u32) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cond` [INFO] [stdout] --> src/arm_instructions.rs:422:32 [INFO] [stdout] | [INFO] [stdout] 422 | fn exec_arm_mul(&mut self, cond: Condition, a: bool, s: bool, rd: u32, rn: u32, rs: u32, rm: u32) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cond` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/arm_instructions.rs:422:49 [INFO] [stdout] | [INFO] [stdout] 422 | fn exec_arm_mul(&mut self, cond: Condition, a: bool, s: bool, rd: u32, rn: u32, rs: u32, rm: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/arm_instructions.rs:422:58 [INFO] [stdout] | [INFO] [stdout] 422 | fn exec_arm_mul(&mut self, cond: Condition, a: bool, s: bool, rd: u32, rn: u32, rs: u32, rm: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rd` [INFO] [stdout] --> src/arm_instructions.rs:422:67 [INFO] [stdout] | [INFO] [stdout] 422 | fn exec_arm_mul(&mut self, cond: Condition, a: bool, s: bool, rd: u32, rn: u32, rs: u32, rm: u32) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rn` [INFO] [stdout] --> src/arm_instructions.rs:422:76 [INFO] [stdout] | [INFO] [stdout] 422 | fn exec_arm_mul(&mut self, cond: Condition, a: bool, s: bool, rd: u32, rn: u32, rs: u32, rm: u32) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rs` [INFO] [stdout] --> src/arm_instructions.rs:422:85 [INFO] [stdout] | [INFO] [stdout] 422 | fn exec_arm_mul(&mut self, cond: Condition, a: bool, s: bool, rd: u32, rn: u32, rs: u32, rm: u32) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rm` [INFO] [stdout] --> src/arm_instructions.rs:422:94 [INFO] [stdout] | [INFO] [stdout] 422 | fn exec_arm_mul(&mut self, cond: Condition, a: bool, s: bool, rd: u32, rn: u32, rs: u32, rm: u32) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cond` [INFO] [stdout] --> src/arm_instructions.rs:426:33 [INFO] [stdout] | [INFO] [stdout] 426 | fn exec_arm_mull(&mut self, cond: Condition, u: bool, a: bool, s: bool, rd_hi: u32, rd_lo: u32, rn: u32, rm: u32) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cond` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `u` [INFO] [stdout] --> src/arm_instructions.rs:426:50 [INFO] [stdout] | [INFO] [stdout] 426 | fn exec_arm_mull(&mut self, cond: Condition, u: bool, a: bool, s: bool, rd_hi: u32, rd_lo: u32, rn: u32, rm: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/arm_instructions.rs:426:59 [INFO] [stdout] | [INFO] [stdout] 426 | fn exec_arm_mull(&mut self, cond: Condition, u: bool, a: bool, s: bool, rd_hi: u32, rd_lo: u32, rn: u32, rm: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/arm_instructions.rs:426:68 [INFO] [stdout] | [INFO] [stdout] 426 | fn exec_arm_mull(&mut self, cond: Condition, u: bool, a: bool, s: bool, rd_hi: u32, rd_lo: u32, rn: u32, rm: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rd_hi` [INFO] [stdout] --> src/arm_instructions.rs:426:77 [INFO] [stdout] | [INFO] [stdout] 426 | fn exec_arm_mull(&mut self, cond: Condition, u: bool, a: bool, s: bool, rd_hi: u32, rd_lo: u32, rn: u32, rm: u32) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_rd_hi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rd_lo` [INFO] [stdout] --> src/arm_instructions.rs:426:89 [INFO] [stdout] | [INFO] [stdout] 426 | fn exec_arm_mull(&mut self, cond: Condition, u: bool, a: bool, s: bool, rd_hi: u32, rd_lo: u32, rn: u32, rm: u32) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_rd_lo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rn` [INFO] [stdout] --> src/arm_instructions.rs:426:101 [INFO] [stdout] | [INFO] [stdout] 426 | fn exec_arm_mull(&mut self, cond: Condition, u: bool, a: bool, s: bool, rd_hi: u32, rd_lo: u32, rn: u32, rm: u32) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rm` [INFO] [stdout] --> src/arm_instructions.rs:426:110 [INFO] [stdout] | [INFO] [stdout] 426 | fn exec_arm_mull(&mut self, cond: Condition, u: bool, a: bool, s: bool, rd_hi: u32, rd_lo: u32, rn: u32, rm: u32) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cond` [INFO] [stdout] --> src/arm_instructions.rs:430:32 [INFO] [stdout] | [INFO] [stdout] 430 | fn exec_arm_swi(&mut self, cond: Condition, comment: u32) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cond` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `comment` [INFO] [stdout] --> src/arm_instructions.rs:430:49 [INFO] [stdout] | [INFO] [stdout] 430 | fn exec_arm_swi(&mut self, cond: Condition, comment: u32) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comment` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cond` [INFO] [stdout] --> src/arm_instructions.rs:434:32 [INFO] [stdout] | [INFO] [stdout] 434 | fn exec_arm_swp(&mut self, cond: Condition, b: bool, rn: u32, rd: u32, rm: u32) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cond` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/arm_instructions.rs:434:49 [INFO] [stdout] | [INFO] [stdout] 434 | fn exec_arm_swp(&mut self, cond: Condition, b: bool, rn: u32, rd: u32, rm: u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rn` [INFO] [stdout] --> src/arm_instructions.rs:434:58 [INFO] [stdout] | [INFO] [stdout] 434 | fn exec_arm_swp(&mut self, cond: Condition, b: bool, rn: u32, rd: u32, rm: u32) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rd` [INFO] [stdout] --> src/arm_instructions.rs:434:67 [INFO] [stdout] | [INFO] [stdout] 434 | fn exec_arm_swp(&mut self, cond: Condition, b: bool, rn: u32, rd: u32, rm: u32) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rm` [INFO] [stdout] --> src/arm_instructions.rs:434:76 [INFO] [stdout] | [INFO] [stdout] 434 | fn exec_arm_swp(&mut self, cond: Condition, b: bool, rn: u32, rd: u32, rm: u32) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cond` [INFO] [stdout] --> src/arm_instructions.rs:438:32 [INFO] [stdout] | [INFO] [stdout] 438 | fn exec_arm_und(&mut self, cond: Condition) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cond` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/gba.rs:18:13 [INFO] [stdout] | [INFO] [stdout] 18 | let mut memory = Rc::new(RefCell::new(Memory::new())); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/gba.rs:19:13 [INFO] [stdout] | [INFO] [stdout] 19 | let mut cpu = ARM7TDMI::new(memory.clone()); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `read_halfword` [INFO] [stdout] --> src/memory.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn read_halfword(&self, start: usize) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `write_halfword` [INFO] [stdout] --> src/memory.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 106 | pub fn write_halfword(&mut self, value: u16, start: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `state` [INFO] [stdout] --> src/cpu.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | state: State, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_mode` [INFO] [stdout] --> src/cpu.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | fn set_mode(&mut self, mode: Mode) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Thumb` [INFO] [stdout] --> src/cpu.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | Thumb, // 16 bit opcodes [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `R0` [INFO] [stdout] --> src/registers.rs:174:5 [INFO] [stdout] | [INFO] [stdout] 174 | R0 = 0, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `R1` [INFO] [stdout] --> src/registers.rs:175:5 [INFO] [stdout] | [INFO] [stdout] 175 | R1 = 1, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `R2` [INFO] [stdout] --> src/registers.rs:176:5 [INFO] [stdout] | [INFO] [stdout] 176 | R2 = 2, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `R3` [INFO] [stdout] --> src/registers.rs:177:5 [INFO] [stdout] | [INFO] [stdout] 177 | R3 = 3, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `R4` [INFO] [stdout] --> src/registers.rs:178:5 [INFO] [stdout] | [INFO] [stdout] 178 | R4 = 4, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `R5` [INFO] [stdout] --> src/registers.rs:179:5 [INFO] [stdout] | [INFO] [stdout] 179 | R5 = 5, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `R6` [INFO] [stdout] --> src/registers.rs:180:5 [INFO] [stdout] | [INFO] [stdout] 180 | R6 = 6, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `R7` [INFO] [stdout] --> src/registers.rs:181:5 [INFO] [stdout] | [INFO] [stdout] 181 | R7 = 7, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `R8` [INFO] [stdout] --> src/registers.rs:182:5 [INFO] [stdout] | [INFO] [stdout] 182 | R8 = 8, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `R9` [INFO] [stdout] --> src/registers.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | R9 = 9, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `R10` [INFO] [stdout] --> src/registers.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 184 | R10 = 10, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `R11` [INFO] [stdout] --> src/registers.rs:185:5 [INFO] [stdout] | [INFO] [stdout] 185 | R11 = 11, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `R12` [INFO] [stdout] --> src/registers.rs:186:5 [INFO] [stdout] | [INFO] [stdout] 186 | R12 = 12, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Sp` [INFO] [stdout] --> src/registers.rs:187:5 [INFO] [stdout] | [INFO] [stdout] 187 | Sp = 13, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Q` [INFO] [stdout] --> src/registers.rs:204:5 [INFO] [stdout] | [INFO] [stdout] 204 | Q = 27, // 0 = no sticky overflow , 1 = sticky overflow [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `T` [INFO] [stdout] --> src/registers.rs:211:5 [INFO] [stdout] | [INFO] [stdout] 211 | T = 5, // 0 = ARM , 1 = THUMB; only set by BX [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `M4` [INFO] [stdout] --> src/registers.rs:212:5 [INFO] [stdout] | [INFO] [stdout] 212 | M4 = 4, // mode bits (current operating mode): [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `M3` [INFO] [stdout] --> src/registers.rs:213:5 [INFO] [stdout] | [INFO] [stdout] 213 | M3 = 3, // Binary Hex Dec Expl. [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `M2` [INFO] [stdout] --> src/registers.rs:214:5 [INFO] [stdout] | [INFO] [stdout] 214 | M2 = 2, // 0xx00b 00h 0 - Old User ;\26bit Backward Compatibility modes [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `M1` [INFO] [stdout] --> src/registers.rs:215:5 [INFO] [stdout] | [INFO] [stdout] 215 | M1 = 1, // 0xx01b 01h 1 - Old FIQ ; (supported only on ARMv3, except ARMv3G, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `M0` [INFO] [stdout] --> src/registers.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 216 | M0 = 0, // 0xx10b 02h 2 - Old IRQ ; and on some non-T variants of ARMv4) [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel [INFO] [stdout] --> src/main.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(int_to_from_bytes)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `int_to_from_bytes` has been stable since 1.32.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(int_to_from_bytes)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to previous error; 100 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-emu` due to 2 previous errors; 100 warnings emitted [INFO] running `Command { std: "docker" "inspect" "44e131cb58f646ee61f984e256626c02fa30381547363b42044275ce646345d1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "44e131cb58f646ee61f984e256626c02fa30381547363b42044275ce646345d1", kill_on_drop: false }` [INFO] [stdout] 44e131cb58f646ee61f984e256626c02fa30381547363b42044275ce646345d1