[INFO] cloning repository https://github.com/meloidae/gubaa
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/meloidae/gubaa" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmeloidae%2Fgubaa", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmeloidae%2Fgubaa'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d5c428576fb4d5534e8de59471ce67d0e13778be
[INFO] checking meloidae/gubaa against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmeloidae%2Fgubaa" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/meloidae/gubaa
[INFO] finished tweaking git repo https://github.com/meloidae/gubaa
[INFO] tweaked toml for git repo https://github.com/meloidae/gubaa written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/meloidae/gubaa on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/meloidae/gubaa 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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "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] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded enum-primitive-derive v0.1.2
[INFO] [stderr]   Downloaded aho-corasick v0.7.12
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 337ae88bea88946ddc1985382ec52fc976da7d3b2c30310e449d28dee51e2fa9
[INFO] running `Command { std: "docker" "start" "-a" "337ae88bea88946ddc1985382ec52fc976da7d3b2c30310e449d28dee51e2fa9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "337ae88bea88946ddc1985382ec52fc976da7d3b2c30310e449d28dee51e2fa9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "337ae88bea88946ddc1985382ec52fc976da7d3b2c30310e449d28dee51e2fa9", kill_on_drop: false }`
[INFO] [stdout] 337ae88bea88946ddc1985382ec52fc976da7d3b2c30310e449d28dee51e2fa9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c88a9eef105962ed471f209bf684c9ebe607f6305e88a1a93a86d5102598f7a5
[INFO] running `Command { std: "docker" "start" "-a" "c88a9eef105962ed471f209bf684c9ebe607f6305e88a1a93a86d5102598f7a5", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling libc v0.2.69
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]     Checking humantime v1.3.0
[INFO] [stderr]     Checking termcolor v1.1.0
[INFO] [stderr]     Checking aho-corasick v0.7.12
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]     Checking regex v1.3.9
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking env_logger v0.7.1
[INFO] [stderr]    Compiling enum-primitive-derive v0.1.2
[INFO] [stderr]     Checking gba_emu v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `DerefMut` and `Deref`
[INFO] [stdout]  --> src/memory.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::{Deref, DerefMut};
[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: `std::ptr`
[INFO] [stdout]  --> src/memory.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cpu::Cpu`
[INFO] [stdout]  --> src/memory.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::cpu::Cpu;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StatusRegister`
[INFO] [stdout]  --> src/arm/ins_arm.rs:1:41
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{Condition, ArmCore, REG_PC, StatusRegister, OperatingMode};
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, and `info`
[INFO] [stdout]   --> src/arm/ins_arm.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | use log::{error, warn, info, debug};
[INFO] [stdout]    |           ^^^^^        ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ArmIns`
[INFO] [stdout]  --> src/arm/mod.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::arm::ins_arm::{ArmIns, ArmLookupTable};
[INFO] [stdout]   |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut` and `Deref`
[INFO] [stdout]  --> src/memory.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::{Deref, DerefMut};
[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: `std::ptr`
[INFO] [stdout]  --> src/memory.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ptr;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cpu::Cpu`
[INFO] [stdout]  --> src/memory.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::cpu::Cpu;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/cpu.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StatusRegister`
[INFO] [stdout]  --> src/arm/ins_arm.rs:1:41
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{Condition, ArmCore, REG_PC, StatusRegister, OperatingMode};
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, and `info`
[INFO] [stdout]   --> src/arm/ins_arm.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | use log::{error, warn, info, debug};
[INFO] [stdout]    |           ^^^^^        ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ArmIns`
[INFO] [stdout]  --> src/arm/mod.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::arm::ins_arm::{ArmIns, ArmLookupTable};
[INFO] [stdout]   |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/cpu.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let mut result = Box::new(Cpu {
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]   --> src/cpu.rs:26:29
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn new(bios: &[u8], game: &[u8]) -> Box<Cpu> {
[INFO] [stdout]    |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/arm/ins_arm.rs:379:9
[INFO] [stdout]     |
[INFO] [stdout] 379 |     let address = arm.regs[ins.reg(0)];
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arm`
[INFO] [stdout]    --> src/arm/ins_arm.rs:385:27
[INFO] [stdout]     |
[INFO] [stdout] 385 | fn halfword_data_transfer(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_arm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ins`
[INFO] [stdout]    --> src/arm/ins_arm.rs:385:46
[INFO] [stdout]     |
[INFO] [stdout] 385 | fn halfword_data_transfer(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |                                              ^^^ help: if this is intentional, prefix it with an underscore: `_ins`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arm`
[INFO] [stdout]    --> src/arm/ins_arm.rs:521:24
[INFO] [stdout]     |
[INFO] [stdout] 521 | fn block_data_transfer(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_arm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ins`
[INFO] [stdout]    --> src/arm/ins_arm.rs:521:43
[INFO] [stdout]     |
[INFO] [stdout] 521 | fn block_data_transfer(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |                                           ^^^ help: if this is intentional, prefix it with an underscore: `_ins`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arm`
[INFO] [stdout]    --> src/arm/ins_arm.rs:524:11
[INFO] [stdout]     |
[INFO] [stdout] 524 | fn branch(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |           ^^^ help: if this is intentional, prefix it with an underscore: `_arm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ins`
[INFO] [stdout]    --> src/arm/ins_arm.rs:524:30
[INFO] [stdout]     |
[INFO] [stdout] 524 | fn branch(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |                              ^^^ help: if this is intentional, prefix it with an underscore: `_ins`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arm`
[INFO] [stdout]    --> src/arm/ins_arm.rs:527:23
[INFO] [stdout]     |
[INFO] [stdout] 527 | fn software_interrupt(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_arm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ins`
[INFO] [stdout]    --> src/arm/ins_arm.rs:527:42
[INFO] [stdout]     |
[INFO] [stdout] 527 | fn software_interrupt(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_ins`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lut`
[INFO] [stdout]    --> src/arm/ins_arm.rs:701:13
[INFO] [stdout]     |
[INFO] [stdout] 701 |         let lut = ArmLookupTable::compute();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_lut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ins`
[INFO] [stdout]    --> src/arm/mod.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let ins = self.pipe.ins[0];
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_ins`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let mut cpu = Cpu::new(bios, game);
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cpu`
[INFO] [stdout]   --> src/main.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let mut cpu = Cpu::new(bios, game);
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `read_half` and `write_half` are never used
[INFO] [stdout]   --> src/memory.rs:9:8
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub trait Memory {
[INFO] [stdout]    |           ------ methods in this trait
[INFO] [stdout]  8 |     fn read_byte(&self, addr: u32) -> u8;
[INFO] [stdout]  9 |     fn read_half(&self, addr: u32) -> u16;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     fn write_half(&mut self, addr: u32, value: u16);
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASE_IOREGS` is never used
[INFO] [stdout]   --> src/cpu.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const BASE_IOREGS: u32 = 0x4;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASE_PALETTE` is never used
[INFO] [stdout]   --> src/cpu.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const BASE_PALETTE: u32 = 0x5;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASE_VRAM` is never used
[INFO] [stdout]   --> src/cpu.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const BASE_VRAM: u32 = 0x06;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASE_OAM` is never used
[INFO] [stdout]   --> src/cpu.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const BASE_OAM: u32 = 0x07;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASE_GAMEPAK_START` is never used
[INFO] [stdout]   --> src/cpu.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const BASE_GAMEPAK_START: u32 = 0x8;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASE_GAMEPAK_END` is never used
[INFO] [stdout]   --> src/cpu.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const BASE_GAMEPAK_END: u32 = 0xd;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Condition` is never used
[INFO] [stdout]   --> src/arm/mod.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum Condition {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Sequential` is never constructed
[INFO] [stdout]   --> src/arm/mod.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | enum Access {
[INFO] [stdout]    |      ------ variant in this enum
[INFO] [stdout] 55 |     Nonsequential = 0,
[INFO] [stdout] 56 |     Sequential = 1,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `fetch_type` and `ins` are never read
[INFO] [stdout]   --> src/arm/mod.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct Pipeline {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] 62 |     fetch_type: Access,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 63 |     ins: [u32; 2],
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_SP` is never used
[INFO] [stdout]    --> src/arm/mod.rs:146:11
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub const REG_SP: usize = 13;
[INFO] [stdout]     |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_LR` is never used
[INFO] [stdout]    --> src/arm/mod.rs:147:11
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub const REG_LR: usize = 14;
[INFO] [stdout]     |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pipe` and `arm_lut` are never read
[INFO] [stdout]    --> src/arm/mod.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct ArmCore<'a> {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pipe: Pipeline,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 156 |     memory: &'a mut dyn Memory,
[INFO] [stdout] 157 |     arm_lut: ArmLookupTable,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `run`, and `check_condition` are never used
[INFO] [stdout]    --> src/arm/mod.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout] 160 | impl ArmCore<'_> {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 161 |     pub fn new(memref: &mut dyn Memory) -> ArmCore {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     fn run(&mut self) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     fn check_condition(&self, cond: Condition) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `cond`, and `discriminant` are never used
[INFO] [stdout]   --> src/arm/ins_arm.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl ArmIns {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 17 |     pub fn new(bits: u32) -> ArmIns {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn cond(&self) -> Condition {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn discriminant(&self) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]    --> src/arm/ins_arm.rs:530:40
[INFO] [stdout]     |
[INFO] [stdout] 530 | struct ArmSpecs<'a>(Vec<IndexBitPair>, &'a str, ArmFn);
[INFO] [stdout]     |        -------- field in this struct   ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 530 - struct ArmSpecs<'a>(Vec<IndexBitPair>, &'a str, ArmFn);
[INFO] [stdout] 530 + struct ArmSpecs<'a>(Vec<IndexBitPair>, (), ArmFn);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `disc2idx` and `idx2fn` are never read
[INFO] [stdout]    --> src/arm/ins_arm.rs:543:5
[INFO] [stdout]     |
[INFO] [stdout] 542 | pub struct ArmLookupTable {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 543 |     disc2idx: Vec<u8>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 544 |     idx2fn: Vec<ArmFn>,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/arm/mod.rs:161:24
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn new(memref: &mut dyn Memory) -> ArmCore {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn new(memref: &mut dyn Memory) -> ArmCore<'_> {
[INFO] [stdout]     |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/cpu.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let mut result = Box::new(Cpu {
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game`
[INFO] [stdout]   --> src/cpu.rs:26:29
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn new(bios: &[u8], game: &[u8]) -> Box<Cpu> {
[INFO] [stdout]    |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_game`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/arm/ins_arm.rs:379:9
[INFO] [stdout]     |
[INFO] [stdout] 379 |     let address = arm.regs[ins.reg(0)];
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arm`
[INFO] [stdout]    --> src/arm/ins_arm.rs:385:27
[INFO] [stdout]     |
[INFO] [stdout] 385 | fn halfword_data_transfer(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_arm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ins`
[INFO] [stdout]    --> src/arm/ins_arm.rs:385:46
[INFO] [stdout]     |
[INFO] [stdout] 385 | fn halfword_data_transfer(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |                                              ^^^ help: if this is intentional, prefix it with an underscore: `_ins`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arm`
[INFO] [stdout]    --> src/arm/ins_arm.rs:521:24
[INFO] [stdout]     |
[INFO] [stdout] 521 | fn block_data_transfer(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |                        ^^^ help: if this is intentional, prefix it with an underscore: `_arm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ins`
[INFO] [stdout]    --> src/arm/ins_arm.rs:521:43
[INFO] [stdout]     |
[INFO] [stdout] 521 | fn block_data_transfer(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |                                           ^^^ help: if this is intentional, prefix it with an underscore: `_ins`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arm`
[INFO] [stdout]    --> src/arm/ins_arm.rs:524:11
[INFO] [stdout]     |
[INFO] [stdout] 524 | fn branch(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |           ^^^ help: if this is intentional, prefix it with an underscore: `_arm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ins`
[INFO] [stdout]    --> src/arm/ins_arm.rs:524:30
[INFO] [stdout]     |
[INFO] [stdout] 524 | fn branch(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |                              ^^^ help: if this is intentional, prefix it with an underscore: `_ins`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arm`
[INFO] [stdout]    --> src/arm/ins_arm.rs:527:23
[INFO] [stdout]     |
[INFO] [stdout] 527 | fn software_interrupt(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |                       ^^^ help: if this is intentional, prefix it with an underscore: `_arm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ins`
[INFO] [stdout]    --> src/arm/ins_arm.rs:527:42
[INFO] [stdout]     |
[INFO] [stdout] 527 | fn software_interrupt(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_ins`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ins`
[INFO] [stdout]    --> src/arm/mod.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let ins = self.pipe.ins[0];
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_ins`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let mut cpu = Cpu::new(bios, game);
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cpu`
[INFO] [stdout]   --> src/main.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let mut cpu = Cpu::new(bios, game);
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Memory` is never used
[INFO] [stdout]  --> src/memory.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub trait Memory {
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `buffer` is never read
[INFO] [stdout]   --> src/memory.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct HeapBuffer {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 48 |     buffer: Box<[u8]>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HeapBuffer` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EWRAM_MASK` is never used
[INFO] [stdout]  --> src/cpu.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const EWRAM_MASK: u32 = EWRAM_SIZE - 1;
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IWRAM_MASK` is never used
[INFO] [stdout]  --> src/cpu.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const IWRAM_MASK: u32 = IWRAM_SIZE - 1;
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASE_ROM` is never used
[INFO] [stdout]  --> src/cpu.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const BASE_ROM: u32 = 0x0;
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASE_EWRAM` is never used
[INFO] [stdout]   --> src/cpu.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const BASE_EWRAM: u32 = 0x2;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASE_IWRAM` is never used
[INFO] [stdout]   --> src/cpu.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const BASE_IWRAM: u32 = 0x3;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASE_IOREGS` is never used
[INFO] [stdout]   --> src/cpu.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const BASE_IOREGS: u32 = 0x4;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASE_PALETTE` is never used
[INFO] [stdout]   --> src/cpu.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const BASE_PALETTE: u32 = 0x5;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASE_VRAM` is never used
[INFO] [stdout]   --> src/cpu.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const BASE_VRAM: u32 = 0x06;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASE_OAM` is never used
[INFO] [stdout]   --> src/cpu.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const BASE_OAM: u32 = 0x07;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASE_GAMEPAK_START` is never used
[INFO] [stdout]   --> src/cpu.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const BASE_GAMEPAK_START: u32 = 0x8;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASE_GAMEPAK_END` is never used
[INFO] [stdout]   --> src/cpu.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const BASE_GAMEPAK_END: u32 = 0xd;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rom`, `ewram`, and `iwram` are never read
[INFO] [stdout]   --> src/cpu.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Cpu {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] 20 |     rom: HeapBuffer,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 21 |     ewram: HeapBuffer,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 22 |     iwram: HeapBuffer,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Condition` is never used
[INFO] [stdout]   --> src/arm/mod.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum Condition {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Bank` is never used
[INFO] [stdout]   --> src/arm/mod.rs:45:6
[INFO] [stdout]    |
[INFO] [stdout] 45 | enum Bank {
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Access` is never used
[INFO] [stdout]   --> src/arm/mod.rs:54:6
[INFO] [stdout]    |
[INFO] [stdout] 54 | enum Access {
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BANK_COUNT` is never used
[INFO] [stdout]   --> src/arm/mod.rs:59:7
[INFO] [stdout]    |
[INFO] [stdout] 59 | const BANK_COUNT: usize = 6;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pipeline` is never constructed
[INFO] [stdout]   --> src/arm/mod.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct Pipeline {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_flags` is never used
[INFO] [stdout]    --> src/arm/mod.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl StatusRegister {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] 121 |     fn set_flags(&mut self, bits: u32) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_SP` is never used
[INFO] [stdout]    --> src/arm/mod.rs:146:11
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub const REG_SP: usize = 13;
[INFO] [stdout]     |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_LR` is never used
[INFO] [stdout]    --> src/arm/mod.rs:147:11
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub const REG_LR: usize = 14;
[INFO] [stdout]     |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_PC` is never used
[INFO] [stdout]    --> src/arm/mod.rs:148:11
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub const REG_PC: usize = 15;
[INFO] [stdout]     |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArmCore` is never constructed
[INFO] [stdout]    --> src/arm/mod.rs:150:12
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct ArmCore<'a> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/arm/mod.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout] 160 | impl ArmCore<'_> {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 161 |     pub fn new(memref: &mut dyn Memory) -> ArmCore {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     fn run(&mut self) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     fn check_condition(&self, cond: Condition) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     fn get_register_bank_mode(&self, mode: OperatingMode) -> Bank {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     fn switch_mode(&mut self, mode: OperatingMode) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     fn set_reg(&mut self, index: usize, value: u32) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     fn set_cpsr(&mut self, bits: u32) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     fn swap_bank(&mut self, mode: OperatingMode) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     fn get_spsr(&self) -> Option<StatusRegister> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     fn get_spsr_mut(&mut self) -> Option<&mut StatusRegister> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `DisResult` is never used
[INFO] [stdout]  --> src/arm/common.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub type DisResult<T> = Result<T, Box<dyn error::Error>>;
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `err` is never used
[INFO] [stdout]  --> src/arm/common.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn err<T: Into<Box<dyn error::Error>>>(t: T) -> Box<dyn error::Error> { t.into() }
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lsl_carry` is never used
[INFO] [stdout]   --> src/arm/common.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn lsl_carry(arm: &mut ArmCore, rm: u32, shift: u32) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lsl_no_carry` is never used
[INFO] [stdout]   --> src/arm/common.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn lsl_no_carry(_arm: &ArmCore, rm: u32, shift: u32) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lsr_carry` is never used
[INFO] [stdout]   --> src/arm/common.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn lsr_carry(arm: &mut ArmCore, rm: u32, shift: u32) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lsr_no_carry` is never used
[INFO] [stdout]   --> src/arm/common.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn lsr_no_carry(_arm: &ArmCore, rm: u32, shift: u32) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `asr_carry` is never used
[INFO] [stdout]   --> src/arm/common.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn asr_carry(arm: &mut ArmCore, rm: u32, shift: u32) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `asr_no_carry` is never used
[INFO] [stdout]   --> src/arm/common.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn asr_no_carry(_arm: &ArmCore, rm: u32, shift: u32) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ror_carry` is never used
[INFO] [stdout]   --> src/arm/common.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn ror_carry(arm: &mut ArmCore, rm: u32, shift: u32) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ror_no_carry` is never used
[INFO] [stdout]   --> src/arm/common.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn ror_no_carry(arm: &ArmCore, rm: u32, shift: u32) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `and` is never used
[INFO] [stdout]    --> src/arm/common.rs:105:8
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub fn and(arm: &mut ArmCore, op1: u32, op2: u32, set_flag: bool) -> u32 {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eor` is never used
[INFO] [stdout]    --> src/arm/common.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn eor(arm: &mut ArmCore, op1: u32, op2: u32, set_flag: bool) -> u32 {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add` is never used
[INFO] [stdout]    --> src/arm/common.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn add(arm: &mut ArmCore, op1: u32, op2: u32, set_flag: bool) -> u32 {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `adc` is never used
[INFO] [stdout]    --> src/arm/common.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn adc(arm: &mut ArmCore, op1: u32, op2: u32, set_flag: bool) -> u32 {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sub` is never used
[INFO] [stdout]    --> src/arm/common.rs:144:8
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub fn sub(arm: &mut ArmCore, op1: u32, op2: u32, set_flag: bool) -> u32 {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sbc` is never used
[INFO] [stdout]    --> src/arm/common.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub fn sbc(arm: &mut ArmCore, op1: u32, op2: u32, set_flag: bool) -> u32 {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `orr` is never used
[INFO] [stdout]    --> src/arm/common.rs:167:8
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub fn orr(arm: &mut ArmCore, op1: u32, op2: u32, set_flag: bool) -> u32 {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mov` is never used
[INFO] [stdout]    --> src/arm/common.rs:175:8
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub fn mov(arm: &mut ArmCore, _op1: u32, op2: u32, set_flag: bool) -> u32 {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bic` is never used
[INFO] [stdout]    --> src/arm/common.rs:182:8
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub fn bic(arm: &mut ArmCore, op1: u32, op2: u32, set_flag: bool) -> u32 {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mvn` is never used
[INFO] [stdout]    --> src/arm/common.rs:190:8
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub fn mvn(arm: &mut ArmCore, _op1: u32, op2: u32, set_flag: bool) -> u32 {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_nz` is never used
[INFO] [stdout]    --> src/arm/common.rs:199:8
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub fn set_nz(arm: &mut ArmCore, value: u32) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_nz_long` is never used
[INFO] [stdout]    --> src/arm/common.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn set_nz_long(arm: &mut ArmCore, value: u64) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Bit` is never used
[INFO] [stdout]    --> src/arm/common.rs:211:10
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub enum Bit {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `IndexBitPair` is never used
[INFO] [stdout]    --> src/arm/common.rs:217:17
[INFO] [stdout]     |
[INFO] [stdout] 217 | pub(super) type IndexBitPair = (usize, Bit);
[INFO] [stdout]     |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_bit_format` is never used
[INFO] [stdout]    --> src/arm/common.rs:219:15
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub(super) fn process_bit_format(fmt: &str, accept_index: fn(usize) -> bool) -> Vec<IndexBitPair> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spec_char_to_bit` is never used
[INFO] [stdout]    --> src/arm/common.rs:231:4
[INFO] [stdout]     |
[INFO] [stdout] 231 | fn spec_char_to_bit(c: char) -> Bit {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `specs_matches` is never used
[INFO] [stdout]    --> src/arm/common.rs:239:15
[INFO] [stdout]     |
[INFO] [stdout] 239 | pub(super) fn specs_matches(index_bits: &[IndexBitPair], disc: u32) -> bool {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArmIns` is never constructed
[INFO] [stdout]   --> src/arm/ins_arm.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct ArmIns(u32);
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `slice`, `reg`, `flag`, `cond`, and `discriminant` are never used
[INFO] [stdout]   --> src/arm/ins_arm.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl ArmIns {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 17 |     pub fn new(bits: u32) -> ArmIns {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn slice(&self, start: u32, end: u32) -> u32 {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     fn reg(&self, offset: u32) -> usize { 
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn flag(&self, offset: u32) -> bool {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn cond(&self) -> Condition {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn discriminant(&self) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ArmFn` is never used
[INFO] [stdout]   --> src/arm/ins_arm.rs:43:10
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub type ArmFn = fn(&mut ArmCore, ArmIns);
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_rotated_immediate` is never used
[INFO] [stdout]   --> src/arm/ins_arm.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn get_rotated_immediate(arm: &mut ArmCore, ins: ArmIns, set_carry: bool) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_shifted_register` is never used
[INFO] [stdout]   --> src/arm/ins_arm.rs:59:4
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn get_shifted_register(arm: &mut ArmCore, ins: ArmIns, set_carry: bool) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `undefined` is never used
[INFO] [stdout]   --> src/arm/ins_arm.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn undefined(_arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `data_processing` is never used
[INFO] [stdout]   --> src/arm/ins_arm.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn data_processing(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mrs` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:154:4
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn mrs(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `msr_reg` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:179:4
[INFO] [stdout]     |
[INFO] [stdout] 179 | fn msr_reg(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `msr_reg_all` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:191:4
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn msr_reg_all(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `msr_reg_flag` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:211:4
[INFO] [stdout]     |
[INFO] [stdout] 211 | fn msr_reg_flag(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `msr_imm_flag` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:231:4
[INFO] [stdout]     |
[INFO] [stdout] 231 | fn msr_imm_flag(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multiply` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:252:4
[INFO] [stdout]     |
[INFO] [stdout] 252 | fn multiply(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multiply_long` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:285:4
[INFO] [stdout]     |
[INFO] [stdout] 285 | fn multiply_long(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `swp` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:337:4
[INFO] [stdout]     |
[INFO] [stdout] 337 | fn swp(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `swpb` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:357:4
[INFO] [stdout]     |
[INFO] [stdout] 357 | fn swpb(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `branch_and_exchange` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:378:4
[INFO] [stdout]     |
[INFO] [stdout] 378 | fn branch_and_exchange(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `halfword_data_transfer` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:385:4
[INFO] [stdout]     |
[INFO] [stdout] 385 | fn halfword_data_transfer(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `single_data_load` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:389:4
[INFO] [stdout]     |
[INFO] [stdout] 389 | fn single_data_load(arm: &mut ArmCore, ins: ArmIns, load_fn: impl Fn(&mut dyn Memory, u32) -> u32, offset_fn: impl Fn(&mut ArmCore,...
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ldr_imm` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:432:4
[INFO] [stdout]     |
[INFO] [stdout] 432 | fn ldr_imm(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ldr_rot_reg` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:436:4
[INFO] [stdout]     |
[INFO] [stdout] 436 | fn ldr_rot_reg(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ldrb_imm` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:444:4
[INFO] [stdout]     |
[INFO] [stdout] 444 | fn ldrb_imm(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ldrb_rot_reg` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:448:4
[INFO] [stdout]     |
[INFO] [stdout] 448 | fn ldrb_rot_reg(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `single_data_store` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:456:4
[INFO] [stdout]     |
[INFO] [stdout] 456 | fn single_data_store(arm: &mut ArmCore, ins: ArmIns, store_fn: impl Fn(&mut dyn Memory, u32, u32), offset_fn: impl Fn(&mut ArmCore,...
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `str_imm` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:497:4
[INFO] [stdout]     |
[INFO] [stdout] 497 | fn str_imm(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `str_rot_reg` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:501:4
[INFO] [stdout]     |
[INFO] [stdout] 501 | fn str_rot_reg(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `strb_imm` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:509:4
[INFO] [stdout]     |
[INFO] [stdout] 509 | fn strb_imm(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `strb_rot_reg` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:513:4
[INFO] [stdout]     |
[INFO] [stdout] 513 | fn strb_rot_reg(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `block_data_transfer` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:521:4
[INFO] [stdout]     |
[INFO] [stdout] 521 | fn block_data_transfer(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `branch` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:524:4
[INFO] [stdout]     |
[INFO] [stdout] 524 | fn branch(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `software_interrupt` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:527:4
[INFO] [stdout]     |
[INFO] [stdout] 527 | fn software_interrupt(arm: &mut ArmCore, ins: ArmIns) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArmSpecs` is never constructed
[INFO] [stdout]    --> src/arm/ins_arm.rs:530:8
[INFO] [stdout]     |
[INFO] [stdout] 530 | struct ArmSpecs<'a>(Vec<IndexBitPair>, &'a str, ArmFn);
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `try_match_discriminant` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:533:8
[INFO] [stdout]     |
[INFO] [stdout] 532 | impl ArmSpecs<'_> {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] 533 |     fn try_match_discriminant(&self, disc: u32) -> Option<ArmFn> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArmLookupTable` is never constructed
[INFO] [stdout]    --> src/arm/ins_arm.rs:542:12
[INFO] [stdout]     |
[INFO] [stdout] 542 | pub struct ArmLookupTable {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `compute` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:549:12
[INFO] [stdout]     |
[INFO] [stdout] 548 | impl ArmLookupTable {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 549 |     pub fn compute() -> ArmLookupTable {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_arm_format` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:577:4
[INFO] [stdout]     |
[INFO] [stdout] 577 | fn process_arm_format(fmt: &str) -> Vec<IndexBitPair> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ARM_PATTERN_TABLE` is never used
[INFO] [stdout]    --> src/arm/ins_arm.rs:581:12
[INFO] [stdout]     |
[INFO] [stdout] 581 | pub static ARM_PATTERN_TABLE: &[(&str, &str, ArmFn)] = &[
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/arm/mod.rs:161:24
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn new(memref: &mut dyn Memory) -> ArmCore {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^     ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn new(memref: &mut dyn Memory) -> ArmCore<'_> {
[INFO] [stdout]     |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.44s
[INFO] running `Command { std: "docker" "inspect" "c88a9eef105962ed471f209bf684c9ebe607f6305e88a1a93a86d5102598f7a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c88a9eef105962ed471f209bf684c9ebe607f6305e88a1a93a86d5102598f7a5", kill_on_drop: false }`
[INFO] [stdout] c88a9eef105962ed471f209bf684c9ebe607f6305e88a1a93a86d5102598f7a5
