[INFO] cloning repository https://github.com/sidhantas/GameboyAdvance [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sidhantas/GameboyAdvance" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsidhantas%2FGameboyAdvance", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsidhantas%2FGameboyAdvance'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a1278f79f60d014ccb9b3a3b92e933f72eadc2e4 [INFO] checking sidhantas/GameboyAdvance against try#a3a874232ae0a7586b5fbe7483c5a42e157bd62a for pr-151109 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsidhantas%2FGameboyAdvance" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/sidhantas/GameboyAdvance [INFO] finished tweaking git repo https://github.com/sidhantas/GameboyAdvance [INFO] tweaked toml for git repo https://github.com/sidhantas/GameboyAdvance written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/sidhantas/GameboyAdvance on toolchain a3a874232ae0a7586b5fbe7483c5a42e157bd62a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a3a874232ae0a7586b5fbe7483c5a42e157bd62a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/sidhantas/GameboyAdvance 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" "+a3a874232ae0a7586b5fbe7483c5a42e157bd62a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded ctrlc v3.4.4 [INFO] [stderr] Downloaded rstest_macros v0.23.0 [INFO] [stderr] Downloaded rstest v0.23.0 [INFO] [stderr] Downloaded sdl2 v0.37.0 [INFO] [stderr] Downloaded sdl2-sys v0.37.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+a3a874232ae0a7586b5fbe7483c5a42e157bd62a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 657d80af9a1fa746dd3a6d46dbfca7ca3c255b2149b56f0ce119b63d52cb70f4 [INFO] running `Command { std: "docker" "start" "-a" "657d80af9a1fa746dd3a6d46dbfca7ca3c255b2149b56f0ce119b63d52cb70f4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "657d80af9a1fa746dd3a6d46dbfca7ca3c255b2149b56f0ce119b63d52cb70f4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "657d80af9a1fa746dd3a6d46dbfca7ca3c255b2149b56f0ce119b63d52cb70f4", kill_on_drop: false }` [INFO] [stdout] 657d80af9a1fa746dd3a6d46dbfca7ca3c255b2149b56f0ce119b63d52cb70f4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+a3a874232ae0a7586b5fbe7483c5a42e157bd62a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] eadf66f4cd3bde8c150abc908da4335b9ec850da161f266e84541ac7f4b2888b [INFO] running `Command { std: "docker" "start" "-a" "eadf66f4cd3bde8c150abc908da4335b9ec850da161f266e84541ac7f4b2888b", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.3.0 [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Compiling proc-macro2 v1.0.89 [INFO] [stderr] Compiling unicode-ident v1.0.13 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Compiling semver v1.0.23 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Checking futures-sink v0.3.31 [INFO] [stderr] Compiling hashbrown v0.15.1 [INFO] [stderr] Checking futures-core v0.3.31 [INFO] [stderr] Compiling equivalent v1.0.1 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Compiling version-compare v0.1.1 [INFO] [stderr] Checking futures-io v0.3.31 [INFO] [stderr] Checking futures-task v0.3.31 [INFO] [stderr] Compiling cfg_aliases v0.1.1 [INFO] [stderr] Checking futures-channel v0.3.31 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling winnow v0.6.20 [INFO] [stderr] Compiling toml_datetime v0.6.8 [INFO] [stderr] Checking pin-project-lite v0.2.15 [INFO] [stderr] Compiling nix v0.28.0 [INFO] [stderr] Compiling sdl2-sys v0.37.0 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling glob v0.3.1 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling sdl2 v0.37.0 [INFO] [stderr] Compiling relative-path v1.9.3 [INFO] [stderr] Checking unicode-width v0.1.13 [INFO] [stderr] Checking futures-timer v3.0.3 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Compiling rstest_macros v0.23.0 [INFO] [stderr] Checking cassowary v0.3.0 [INFO] [stderr] Compiling indexmap v2.6.0 [INFO] [stderr] Checking unicode-segmentation v1.11.0 [INFO] [stderr] Checking getopts v0.2.21 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling syn v2.0.87 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking signal-hook-mio v0.2.3 [INFO] [stderr] Checking crossterm v0.25.0 [INFO] [stderr] Checking crossterm v0.27.0 [INFO] [stderr] Compiling toml_edit v0.22.22 [INFO] [stderr] Checking ctrlc v3.4.4 [INFO] [stderr] Checking tui v0.19.0 [INFO] [stderr] Checking regex-automata v0.4.8 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Compiling proc-macro-crate v3.2.0 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking rstest v0.23.0 [INFO] [stderr] Checking gameboy_advance v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `iter::Enumerate` [INFO] [stdout] --> src/arm7tdmi/arm/data_transfer_instructions.rs:1:25 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fmt::Display, iter::Enumerate, mem::size_of}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt::{Arguments, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `InstructionMode`, `LINK_REGISTER`, `REGISTER`, `interrupts::Exceptions`, and `sign_extend` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:5:30 [INFO] [stdout] | [INFO] [stdout] 5 | cpu::{FlagsRegister, InstructionMode, CPU, LINK_REGISTER}, [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] 6 | interrupts::Exceptions, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 9 | types::{ARMByteCode, CYCLES, REGISTER}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 10 | utils::bits::{sign_extend, Bits}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `WORD` [INFO] [stdout] --> src/arm7tdmi/arm/swap_instruction.rs:7:31 [INFO] [stdout] | [INFO] [stdout] 7 | types::{CYCLES, REGISTER, WORD}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/arm7tdmi/cpsr.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::utils::bits::{self, Bits}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `instructions::ARMDecodedInstruction` [INFO] [stdout] --> src/arm7tdmi/decoder.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use instructions::ARMDecodedInstruction; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utils::bits::Bits` [INFO] [stdout] --> src/arm7tdmi/interrupts.rs:1:55 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{memory::memory::GBAMemory, types::CYCLES, utils::bits::Bits}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `arm::alu::ArithmeticInstruction`, `sign_extend`, and `thumb` [INFO] [stdout] --> src/arm7tdmi/thumb/alu.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | arm::alu::ArithmeticInstruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 8 | thumb, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | bits::{sign_extend, Bits}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_traits::Signed` [INFO] [stdout] --> src/arm7tdmi/thumb/data_transfer_instructions.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use num_traits::Signed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `LINK_REGISTER` and `SignedAndHwDtInstruction` [INFO] [stdout] --> src/arm7tdmi/thumb/data_transfer_instructions.rs:8:67 [INFO] [stdout] | [INFO] [stdout] 8 | ... BlockDTOpcodes, LoadOpcodes, RegisterList, SdtOpcode, SignedAndHwDtInstruction, SignedAndHwDtLoadOpcodes, SignedAndHwDtOpc... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 9 | ... }, [INFO] [stdout] 10 | ... cpu::{CPU, LINK_REGISTER, PC_REGISTER, STACK_POINTER}, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Display` [INFO] [stdout] --> src/arm7tdmi/instruction_table.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tui::widgets::Block` [INFO] [stdout] --> src/arm7tdmi/instruction_table.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use tui::widgets::Block; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ThumbALUInstruction` and `self` [INFO] [stdout] --> src/arm7tdmi/instruction_table.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | ... self, [INFO] [stdout] | ^^^^ [INFO] [stdout] 10 | ... alu::{ [INFO] [stdout] 11 | ... ThumbALUInstruction, ThumbALUOperation, ThumbAddToSp, ThumbAdr, ThumbArithmeticImmInstruction, ThumbBx, ThumbFullAdder, Th... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `instructions::ARMDecodedInstruction` [INFO] [stdout] --> src/arm7tdmi/instruction_table.rs:19:91 [INFO] [stdout] | [INFO] [stdout] 19 | use super::{arm::{data_transfer_instructions::{SdtInstruction, SignedAndHwDtInstruction}, instructions::ARMDecodedInstruction, multi... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `thumb::alu::ThumbFullAdder` [INFO] [stdout] --> src/debugger/debugger.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | thumb::alu::ThumbFullAdder, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Condvar`, `MutexGuard`, and `Ordering::Relaxed` [INFO] [stdout] --> src/graphics/display.rs:5:30 [INFO] [stdout] | [INFO] [stdout] 5 | atomic::{AtomicBool, Ordering::Relaxed}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 6 | mpsc::Receiver, [INFO] [stdout] 7 | Arc, Condvar, Mutex, MutexGuard, [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rect::Rect` [INFO] [stdout] --> src/graphics/display.rs:12:51 [INFO] [stdout] | [INFO] [stdout] 12 | use sdl2::{event::Event, pixels::PixelFormatEnum, rect::Rect, render::Texture, surface::Surface}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `dispcnt::Dispcnt` [INFO] [stdout] --> src/graphics/layers.rs:5:30 [INFO] [stdout] | [INFO] [stdout] 5 | wrappers::{bgcnt::BGCnt, dispcnt::Dispcnt}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cmp::Reverse`, `collections::BinaryHeap`, and `fmt::Display` [INFO] [stdout] --> src/graphics/ppu_modes/hdraw.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{cmp::Reverse, collections::BinaryHeap, fmt::Display, sync::Arc}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HBLANK_FLAG`, `OBJMode`, `OBJPalleteData`, and `wrappers::tile::Tile` [INFO] [stdout] --> src/graphics/ppu_modes/hdraw.rs:8:36 [INFO] [stdout] | [INFO] [stdout] 8 | pallete::{rgb555_to_rgb24, OBJPalleteData}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 9 | ppu::{PPUModes, HBLANK_FLAG, HDRAW, PPU}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 10 | wrappers::tile::Tile, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | oam::{OBJMode, Oam}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `dispcnt::Dispcnt` [INFO] [stdout] --> src/graphics/wrappers/tile.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | dispcnt::Dispcnt, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GBAMemory` and `SimpleMemoryBlock` [INFO] [stdout] --> src/memory/io_handlers.rs:6:28 [INFO] [stdout] | [INFO] [stdout] 6 | memory::{CPUCallbacks, GBAMemory, MemoryError}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 7 | memory_block::{MemoryBlock, SimpleMemoryBlock}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `io_handlers::IOBlock` and `oam_memory::OAMBlock` [INFO] [stdout] --> src/memory/memory_block.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use super::{io_handlers::IOBlock, oam_memory::OAMBlock}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `oam::NUM_OAM_ENTRIES` [INFO] [stdout] --> src/memory/oam_memory.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | oam::NUM_OAM_ENTRIES, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `mem::size_of` [INFO] [stdout] --> src/utils/bits.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | mem::size_of, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Unsigned` [INFO] [stdout] --> src/utils/bits.rs:6:36 [INFO] [stdout] | [INFO] [stdout] 6 | use num_traits::{Bounded, PrimInt, Unsigned}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc` and `Mutex` [INFO] [stdout] --> src/utils/utils.rs:4:32 [INFO] [stdout] | [INFO] [stdout] 4 | sync::{atomic::AtomicBool, Arc, Mutex}, [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sdl2::sys::Atom` [INFO] [stdout] --> src/utils/utils.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use sdl2::sys::Atom; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DecodeThumbInstructionToString`, `ThumbALUInstruction`, `ThumbArithmeticInstruction`, `ThumbFullAdderOperations`, `ThumbFullAdder`, `ThumbLogicalInstruction`, and `ThumbShiftInstruction` [INFO] [stdout] --> src/utils/instruction_to_string.rs:6:29 [INFO] [stdout] | [INFO] [stdout] 6 | instruction_table::{DecodeThumbInstructionToString, Operand}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | thumb::alu::{ [INFO] [stdout] 8 | ThumbALUInstruction, ThumbArithmeticInstruction, ThumbFullAdder, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] 9 | ThumbFullAdderOperations, ThumbLogicalInstruction, ThumbShiftInstruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `iter::Enumerate` [INFO] [stdout] --> src/arm7tdmi/arm/data_transfer_instructions.rs:1:25 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fmt::Display, iter::Enumerate, mem::size_of}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt::{Arguments, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `InstructionMode`, `LINK_REGISTER`, `REGISTER`, `interrupts::Exceptions`, and `sign_extend` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:5:30 [INFO] [stdout] | [INFO] [stdout] 5 | cpu::{FlagsRegister, InstructionMode, CPU, LINK_REGISTER}, [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] 6 | interrupts::Exceptions, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 9 | types::{ARMByteCode, CYCLES, REGISTER}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 10 | utils::bits::{sign_extend, Bits}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `WORD` [INFO] [stdout] --> src/arm7tdmi/arm/swap_instruction.rs:7:31 [INFO] [stdout] | [INFO] [stdout] 7 | types::{CYCLES, REGISTER, WORD}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/arm7tdmi/cpsr.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::utils::bits::{self, Bits}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `instructions::ARMDecodedInstruction` [INFO] [stdout] --> src/arm7tdmi/decoder.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use instructions::ARMDecodedInstruction; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `gba::GBA` and `memory::memory::GBAMemory` [INFO] [stdout] --> src/arm7tdmi/decoder.rs:354:17 [INFO] [stdout] | [INFO] [stdout] 354 | use crate::{gba::GBA, memory::memory::GBAMemory}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utils::bits::Bits` [INFO] [stdout] --> src/arm7tdmi/interrupts.rs:1:55 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{memory::memory::GBAMemory, types::CYCLES, utils::bits::Bits}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `arm::alu::ArithmeticInstruction`, `sign_extend`, and `thumb` [INFO] [stdout] --> src/arm7tdmi/thumb/alu.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | arm::alu::ArithmeticInstruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 8 | thumb, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | bits::{sign_extend, Bits}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rstest::rstest` [INFO] [stdout] --> src/arm7tdmi/thumb/alu.rs:878:9 [INFO] [stdout] | [INFO] [stdout] 878 | use rstest::rstest; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Execute`, `Operand`, `ThumbFullAdderOperations`, and `ThumbFullAdder` [INFO] [stdout] --> src/arm7tdmi/thumb/alu.rs:883:33 [INFO] [stdout] | [INFO] [stdout] 883 | instruction_table::{Execute, Operand}, [INFO] [stdout] | ^^^^^^^ ^^^^^^^ [INFO] [stdout] 884 | thumb::alu::{ThumbFullAdder, ThumbFullAdderOperations}, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CPU` and `memory::memory::GBAMemory` [INFO] [stdout] --> src/arm7tdmi/thumb/alu.rs:1108:57 [INFO] [stdout] | [INFO] [stdout] 1108 | arm7tdmi::cpu::{FlagsRegister, InstructionMode, CPU}, [INFO] [stdout] | ^^^ [INFO] [stdout] 1109 | gba::GBA, [INFO] [stdout] 1110 | memory::memory::GBAMemory, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CPU` and `memory::memory::GBAMemory` [INFO] [stdout] --> src/arm7tdmi/thumb/alu.rs:1249:57 [INFO] [stdout] | [INFO] [stdout] 1249 | arm7tdmi::cpu::{FlagsRegister, InstructionMode, CPU}, [INFO] [stdout] | ^^^ [INFO] [stdout] 1250 | gba::GBA, [INFO] [stdout] 1251 | memory::memory::GBAMemory, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CPU` and `memory::memory::GBAMemory` [INFO] [stdout] --> src/arm7tdmi/thumb/alu.rs:1336:57 [INFO] [stdout] | [INFO] [stdout] 1336 | arm7tdmi::cpu::{FlagsRegister, InstructionMode, CPU}, [INFO] [stdout] | ^^^ [INFO] [stdout] 1337 | gba::GBA, [INFO] [stdout] 1338 | memory::memory::GBAMemory, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CPU` and `memory::memory::GBAMemory` [INFO] [stdout] --> src/arm7tdmi/thumb/alu.rs:1412:57 [INFO] [stdout] | [INFO] [stdout] 1412 | arm7tdmi::cpu::{FlagsRegister, InstructionMode, CPU}, [INFO] [stdout] | ^^^ [INFO] [stdout] 1413 | gba::GBA, [INFO] [stdout] 1414 | memory::memory::GBAMemory, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CPU` and `memory::memory::GBAMemory` [INFO] [stdout] --> src/arm7tdmi/thumb/alu.rs:1472:42 [INFO] [stdout] | [INFO] [stdout] 1472 | arm7tdmi::cpu::{InstructionMode, CPU}, [INFO] [stdout] | ^^^ [INFO] [stdout] 1473 | gba::GBA, [INFO] [stdout] 1474 | memory::memory::GBAMemory, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CPU` and `memory::memory::GBAMemory` [INFO] [stdout] --> src/arm7tdmi/thumb/alu.rs:1516:42 [INFO] [stdout] | [INFO] [stdout] 1516 | arm7tdmi::cpu::{InstructionMode, CPU}, [INFO] [stdout] | ^^^ [INFO] [stdout] 1517 | gba::GBA, [INFO] [stdout] 1518 | memory::memory::GBAMemory, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_traits::Signed` [INFO] [stdout] --> src/arm7tdmi/thumb/data_transfer_instructions.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use num_traits::Signed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `LINK_REGISTER` and `SignedAndHwDtInstruction` [INFO] [stdout] --> src/arm7tdmi/thumb/data_transfer_instructions.rs:8:67 [INFO] [stdout] | [INFO] [stdout] 8 | ... BlockDTOpcodes, LoadOpcodes, RegisterList, SdtOpcode, SignedAndHwDtInstruction, SignedAndHwDtLoadOpcodes, SignedAndHwDtOpc... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 9 | ... }, [INFO] [stdout] 10 | ... cpu::{CPU, LINK_REGISTER, PC_REGISTER, STACK_POINTER}, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Display` [INFO] [stdout] --> src/arm7tdmi/instruction_table.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tui::widgets::Block` [INFO] [stdout] --> src/arm7tdmi/instruction_table.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use tui::widgets::Block; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ThumbALUInstruction` and `self` [INFO] [stdout] --> src/arm7tdmi/instruction_table.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | ... self, [INFO] [stdout] | ^^^^ [INFO] [stdout] 10 | ... alu::{ [INFO] [stdout] 11 | ... ThumbALUInstruction, ThumbALUOperation, ThumbAddToSp, ThumbAdr, ThumbArithmeticImmInstruction, ThumbBx, ThumbFullAdder, Th... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `instructions::ARMDecodedInstruction` [INFO] [stdout] --> src/arm7tdmi/instruction_table.rs:19:91 [INFO] [stdout] | [INFO] [stdout] 19 | use super::{arm::{data_transfer_instructions::{SdtInstruction, SignedAndHwDtInstruction}, instructions::ARMDecodedInstruction, multi... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `thumb::alu::ThumbFullAdder` [INFO] [stdout] --> src/debugger/debugger.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | thumb::alu::ThumbFullAdder, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Condvar`, `MutexGuard`, and `Ordering::Relaxed` [INFO] [stdout] --> src/graphics/display.rs:5:30 [INFO] [stdout] | [INFO] [stdout] 5 | atomic::{AtomicBool, Ordering::Relaxed}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 6 | mpsc::Receiver, [INFO] [stdout] 7 | Arc, Condvar, Mutex, MutexGuard, [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rect::Rect` [INFO] [stdout] --> src/graphics/display.rs:12:51 [INFO] [stdout] | [INFO] [stdout] 12 | use sdl2::{event::Event, pixels::PixelFormatEnum, rect::Rect, render::Texture, surface::Surface}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `dispcnt::Dispcnt` [INFO] [stdout] --> src/graphics/layers.rs:5:30 [INFO] [stdout] | [INFO] [stdout] 5 | wrappers::{bgcnt::BGCnt, dispcnt::Dispcnt}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cmp::Reverse`, `collections::BinaryHeap`, and `fmt::Display` [INFO] [stdout] --> src/graphics/ppu_modes/hdraw.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{cmp::Reverse, collections::BinaryHeap, fmt::Display, sync::Arc}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HBLANK_FLAG`, `OBJMode`, `OBJPalleteData`, and `wrappers::tile::Tile` [INFO] [stdout] --> src/graphics/ppu_modes/hdraw.rs:8:36 [INFO] [stdout] | [INFO] [stdout] 8 | pallete::{rgb555_to_rgb24, OBJPalleteData}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 9 | ppu::{PPUModes, HBLANK_FLAG, HDRAW, PPU}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 10 | wrappers::tile::Tile, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | oam::{OBJMode, Oam}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `dispcnt::Dispcnt` [INFO] [stdout] --> src/graphics/wrappers/tile.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | dispcnt::Dispcnt, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `memory::GBAMemory`, `memory_block::MemoryBlock`, and `oam::Oam` [INFO] [stdout] --> src/memory/affine_parameters.rs:56:25 [INFO] [stdout] | [INFO] [stdout] 56 | use crate::memory::{memory::GBAMemory, memory_block::MemoryBlock, oam::Oam}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::AffineParameters` [INFO] [stdout] --> src/memory/affine_parameters.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | use super::AffineParameters; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GBAMemory` and `SimpleMemoryBlock` [INFO] [stdout] --> src/memory/io_handlers.rs:6:28 [INFO] [stdout] | [INFO] [stdout] 6 | memory::{CPUCallbacks, GBAMemory, MemoryError}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 7 | memory_block::{MemoryBlock, SimpleMemoryBlock}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `io_handlers::IOBlock` and `oam_memory::OAMBlock` [INFO] [stdout] --> src/memory/memory_block.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use super::{io_handlers::IOBlock, oam_memory::OAMBlock}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `oam::NUM_OAM_ENTRIES` [INFO] [stdout] --> src/memory/oam_memory.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | oam::NUM_OAM_ENTRIES, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `mem::size_of` [INFO] [stdout] --> src/utils/bits.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | mem::size_of, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Unsigned` [INFO] [stdout] --> src/utils/bits.rs:6:36 [INFO] [stdout] | [INFO] [stdout] 6 | use num_traits::{Bounded, PrimInt, Unsigned}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc` and `Mutex` [INFO] [stdout] --> src/utils/utils.rs:4:32 [INFO] [stdout] | [INFO] [stdout] 4 | sync::{atomic::AtomicBool, Arc, Mutex}, [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sdl2::sys::Atom` [INFO] [stdout] --> src/utils/utils.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use sdl2::sys::Atom; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DecodeThumbInstructionToString`, `ThumbALUInstruction`, `ThumbArithmeticInstruction`, `ThumbFullAdderOperations`, `ThumbFullAdder`, `ThumbLogicalInstruction`, and `ThumbShiftInstruction` [INFO] [stdout] --> src/utils/instruction_to_string.rs:6:29 [INFO] [stdout] | [INFO] [stdout] 6 | instruction_table::{DecodeThumbInstructionToString, Operand}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | thumb::alu::{ [INFO] [stdout] 8 | ThumbALUInstruction, ThumbArithmeticInstruction, ThumbFullAdder, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] 9 | ThumbFullAdderOperations, ThumbLogicalInstruction, ThumbShiftInstruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:31:48 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn set_executed_instruction(&mut self, name: Arguments<'_>) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `memory` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | memory: &mut GBAMemory, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | instruction: ARMByteCode, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `memory` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | memory: &mut GBAMemory, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `memory` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | memory: &mut GBAMemory, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `memory` [INFO] [stdout] --> src/arm7tdmi/thumb/jumps_and_calls.rs:101:37 [INFO] [stdout] | [INFO] [stdout] 101 | fn execute(self, cpu: &mut CPU, memory: &mut GBAMemory) -> CYCLES { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address1` [INFO] [stdout] --> src/debugger/breakpoints.rs:36:46 [INFO] [stdout] | [INFO] [stdout] 36 | BreakType::WatchAddress(address, address1) => write!(f, "address == {}", address), [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dma_num` [INFO] [stdout] --> src/gba.rs:82:35 [INFO] [stdout] | [INFO] [stdout] 82 | CPUCallbacks::DMA(dma_num) => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dma_num` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dispcnt` [INFO] [stdout] --> src/graphics/ppu_modes/hblank.rs:51:66 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn update_oam_objects(&mut self, memory: &mut GBAMemory, dispcnt: Dispcnt) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dispcnt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dma_cnt_h` [INFO] [stdout] --> src/memory/wrappers/dma.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | let dma_cnt_h = DmaCNTH(memory.io_load(dma_io_address_start + 10)); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dma_cnt_h` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `DestinationAddressControlMode` is more private than the item `DmaCNTH::destination_address_control` [INFO] [stdout] --> src/memory/wrappers/dma.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn destination_address_control(&self) -> DestinationAddressControlMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `DmaCNTH::destination_address_control` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `DestinationAddressControlMode` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/memory/wrappers/dma.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | enum DestinationAddressControlMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `DestinationAddressControlMode` is more private than the item `DmaCNTH::source_address_control` [INFO] [stdout] --> src/memory/wrappers/dma.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn source_address_control(&self) -> DestinationAddressControlMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `DmaCNTH::source_address_control` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `DestinationAddressControlMode` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/memory/wrappers/dma.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | enum DestinationAddressControlMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `DMATransferType` is more private than the item `DmaCNTH::dma_transfer_type` [INFO] [stdout] --> src/memory/wrappers/dma.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn dma_transfer_type(&self) -> DMATransferType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `DmaCNTH::dma_transfer_type` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `DMATransferType` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/memory/wrappers/dma.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | enum DMATransferType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cycles` is never read [INFO] [stdout] --> src/arm7tdmi/cpu.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 44 | struct Status { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 48 | pub cycles: u64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Status` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instruction_count` is never read [INFO] [stdout] --> src/arm7tdmi/cpu.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct CPU { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 65 | instruction_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CPU` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_status` is never used [INFO] [stdout] --> src/arm7tdmi/cpu.rs:378:8 [INFO] [stdout] | [INFO] [stdout] 73 | impl CPU { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 378 | fn get_status(&self) -> Status { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_multiply_long_instruction` is never used [INFO] [stdout] --> src/arm7tdmi/decoder.rs:194:12 [INFO] [stdout] | [INFO] [stdout] 194 | pub fn is_multiply_long_instruction(instruction: ARMByteCode) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_branch_and_link_instruction` is never used [INFO] [stdout] --> src/arm7tdmi/decoder.rs:203:12 [INFO] [stdout] | [INFO] [stdout] 203 | pub fn is_branch_and_link_instruction(instruction: ARMByteCode) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_undefined` is never used [INFO] [stdout] --> src/arm7tdmi/decoder.rs:219:12 [INFO] [stdout] | [INFO] [stdout] 219 | pub fn is_undefined(instruction: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `color_special_effects_enabled` is never read [INFO] [stdout] --> src/graphics/layers.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct DisplayContext { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 16 | pub color_special_effects_enabled: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_top_bg_pixel` is never used [INFO] [stdout] --> src/graphics/layers.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 90 | impl Layers { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn get_top_bg_pixel(&self) -> BGPixel { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VCOUNTER_FLAG` is never used [INFO] [stdout] --> src/graphics/ppu.rs:18:18 [INFO] [stdout] | [INFO] [stdout] 18 | pub(super) const VCOUNTER_FLAG: u16 = 1 << 2; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VBLANK_ENABLE` is never used [INFO] [stdout] --> src/graphics/ppu.rs:19:18 [INFO] [stdout] | [INFO] [stdout] 19 | pub(super) const VBLANK_ENABLE: u16 = 1 << 3; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HBLANK_ENABLE` is never used [INFO] [stdout] --> src/graphics/ppu.rs:20:18 [INFO] [stdout] | [INFO] [stdout] 20 | pub(super) const HBLANK_ENABLE: u16 = 1 << 4; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IORAM_SIZE` is never used [INFO] [stdout] --> src/memory/memory.rs:66:7 [INFO] [stdout] | [INFO] [stdout] 66 | const IORAM_SIZE: usize = 0x3FF; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OAM_SIZE` is never used [INFO] [stdout] --> src/memory/memory.rs:69:7 [INFO] [stdout] | [INFO] [stdout] 69 | const OAM_SIZE: usize = 0x400; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OAM_MIRROR_MASK` is never used [INFO] [stdout] --> src/memory/memory.rs:105:7 [INFO] [stdout] | [INFO] [stdout] 105 | const OAM_MIRROR_MASK: usize = 0x3FF; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `active_region` is never read [INFO] [stdout] --> src/memory/memory.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 107 | pub struct GBAMemory { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 117 | active_region: u32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `active_objects` is never read [INFO] [stdout] --> src/memory/oam_memory.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct OAMBlock { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 14 | active_objects: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `source`, `destination`, and `word_count` are never read [INFO] [stdout] --> src/memory/wrappers/dma.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct DMAControl { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 5 | source: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 6 | destination: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 7 | word_count: usize [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SourceAddressControlMode` is never used [INFO] [stdout] --> src/memory/wrappers/dma.rs:19:6 [INFO] [stdout] | [INFO] [stdout] 19 | enum SourceAddressControlMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset_bit` is never used [INFO] [stdout] --> src/utils/bits.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait Bits: PrimInt + Shr + BitAnd + Eq { [INFO] [stdout] | ---- method in this trait [INFO] [stdout] ... [INFO] [stdout] 49 | fn reset_bit(&mut self, bit: u8); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_option_register` is never used [INFO] [stdout] --> src/utils/instruction_to_string.rs:46:4 [INFO] [stdout] | [INFO] [stdout] 46 | fn print_option_register(register: &Option) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:31:48 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn set_executed_instruction(&mut self, name: Arguments<'_>) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `memory` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | memory: &mut GBAMemory, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | instruction: ARMByteCode, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `memory` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | memory: &mut GBAMemory, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `memory` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | memory: &mut GBAMemory, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mutex` [INFO] [stdout] --> tests/test_thumb_long_branch.rs:1:22 [INFO] [stdout] | [INFO] [stdout] 1 | use std::sync::{Arc, Mutex}; [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: `CANVAS_AREA` [INFO] [stdout] --> tests/test_thumb_long_branch.rs:5:40 [INFO] [stdout] | [INFO] [stdout] 5 | graphics::display::{DisplayBuffer, CANVAS_AREA}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied [INFO] [stdout] --> tests/test_thumb_long_branch.rs:11:19 [INFO] [stdout] | [INFO] [stdout] 11 | let mut gba = GBA::new(bios.clone(), bios.clone(), Arc::new(DisplayBuffer::new())); [INFO] [stdout] | ^^^^^^^^------------------------------------------------------------ argument #4 of type `std::sync::mpsc::Sender` is missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/gba.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 11 | let mut gba = GBA::new(bios.clone(), bios.clone(), Arc::new(DisplayBuffer::new()), /* std::sync::mpsc::Sender */); [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stderr] error: could not compile `gameboy_advance` (test "test_thumb_long_branch") due to 1 previous error; 2 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused import: `std::sync::mpsc::sync_channel` [INFO] [stdout] --> src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::sync::mpsc::sync_channel; [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: `iter::Enumerate` [INFO] [stdout] --> src/arm7tdmi/arm/data_transfer_instructions.rs:1:25 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fmt::Display, iter::Enumerate, mem::size_of}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt::{Arguments, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `InstructionMode`, `LINK_REGISTER`, `REGISTER`, `interrupts::Exceptions`, and `sign_extend` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:5:30 [INFO] [stdout] | [INFO] [stdout] 5 | cpu::{FlagsRegister, InstructionMode, CPU, LINK_REGISTER}, [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] 6 | interrupts::Exceptions, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 9 | types::{ARMByteCode, CYCLES, REGISTER}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 10 | utils::bits::{sign_extend, Bits}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `WORD` [INFO] [stdout] --> src/arm7tdmi/arm/swap_instruction.rs:7:31 [INFO] [stdout] | [INFO] [stdout] 7 | types::{CYCLES, REGISTER, WORD}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/arm7tdmi/cpsr.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::utils::bits::{self, Bits}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `instructions::ARMDecodedInstruction` [INFO] [stdout] --> src/arm7tdmi/decoder.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use instructions::ARMDecodedInstruction; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utils::bits::Bits` [INFO] [stdout] --> src/arm7tdmi/interrupts.rs:1:55 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{memory::memory::GBAMemory, types::CYCLES, utils::bits::Bits}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `arm::alu::ArithmeticInstruction`, `sign_extend`, and `thumb` [INFO] [stdout] --> src/arm7tdmi/thumb/alu.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | arm::alu::ArithmeticInstruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 8 | thumb, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | bits::{sign_extend, Bits}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_traits::Signed` [INFO] [stdout] --> src/arm7tdmi/thumb/data_transfer_instructions.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use num_traits::Signed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `LINK_REGISTER` and `SignedAndHwDtInstruction` [INFO] [stdout] --> src/arm7tdmi/thumb/data_transfer_instructions.rs:8:67 [INFO] [stdout] | [INFO] [stdout] 8 | ... BlockDTOpcodes, LoadOpcodes, RegisterList, SdtOpcode, SignedAndHwDtInstruction, SignedAndHwDtLoadOpcodes, SignedAndHwDtOpc... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 9 | ... }, [INFO] [stdout] 10 | ... cpu::{CPU, LINK_REGISTER, PC_REGISTER, STACK_POINTER}, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Display` [INFO] [stdout] --> src/arm7tdmi/instruction_table.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tui::widgets::Block` [INFO] [stdout] --> src/arm7tdmi/instruction_table.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use tui::widgets::Block; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ThumbALUInstruction` and `self` [INFO] [stdout] --> src/arm7tdmi/instruction_table.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | ... self, [INFO] [stdout] | ^^^^ [INFO] [stdout] 10 | ... alu::{ [INFO] [stdout] 11 | ... ThumbALUInstruction, ThumbALUOperation, ThumbAddToSp, ThumbAdr, ThumbArithmeticImmInstruction, ThumbBx, ThumbFullAdder, Th... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `instructions::ARMDecodedInstruction` [INFO] [stdout] --> src/arm7tdmi/instruction_table.rs:19:91 [INFO] [stdout] | [INFO] [stdout] 19 | use super::{arm::{data_transfer_instructions::{SdtInstruction, SignedAndHwDtInstruction}, instructions::ARMDecodedInstruction, multi... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `thumb::alu::ThumbFullAdder` [INFO] [stdout] --> src/debugger/debugger.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | thumb::alu::ThumbFullAdder, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Condvar`, `MutexGuard`, and `Ordering::Relaxed` [INFO] [stdout] --> src/graphics/display.rs:5:30 [INFO] [stdout] | [INFO] [stdout] 5 | atomic::{AtomicBool, Ordering::Relaxed}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 6 | mpsc::Receiver, [INFO] [stdout] 7 | Arc, Condvar, Mutex, MutexGuard, [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rect::Rect` [INFO] [stdout] --> src/graphics/display.rs:12:51 [INFO] [stdout] | [INFO] [stdout] 12 | use sdl2::{event::Event, pixels::PixelFormatEnum, rect::Rect, render::Texture, surface::Surface}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `dispcnt::Dispcnt` [INFO] [stdout] --> src/graphics/layers.rs:5:30 [INFO] [stdout] | [INFO] [stdout] 5 | wrappers::{bgcnt::BGCnt, dispcnt::Dispcnt}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cmp::Reverse`, `collections::BinaryHeap`, and `fmt::Display` [INFO] [stdout] --> src/graphics/ppu_modes/hdraw.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{cmp::Reverse, collections::BinaryHeap, fmt::Display, sync::Arc}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HBLANK_FLAG`, `OBJMode`, `OBJPalleteData`, and `wrappers::tile::Tile` [INFO] [stdout] --> src/graphics/ppu_modes/hdraw.rs:8:36 [INFO] [stdout] | [INFO] [stdout] 8 | pallete::{rgb555_to_rgb24, OBJPalleteData}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 9 | ppu::{PPUModes, HBLANK_FLAG, HDRAW, PPU}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 10 | wrappers::tile::Tile, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | oam::{OBJMode, Oam}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `dispcnt::Dispcnt` [INFO] [stdout] --> src/graphics/wrappers/tile.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | dispcnt::Dispcnt, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GBAMemory` and `SimpleMemoryBlock` [INFO] [stdout] --> src/memory/io_handlers.rs:6:28 [INFO] [stdout] | [INFO] [stdout] 6 | memory::{CPUCallbacks, GBAMemory, MemoryError}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 7 | memory_block::{MemoryBlock, SimpleMemoryBlock}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `io_handlers::IOBlock` and `oam_memory::OAMBlock` [INFO] [stdout] --> src/memory/memory_block.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use super::{io_handlers::IOBlock, oam_memory::OAMBlock}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `oam::NUM_OAM_ENTRIES` [INFO] [stdout] --> src/memory/oam_memory.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | oam::NUM_OAM_ENTRIES, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `mem::size_of` [INFO] [stdout] --> src/utils/bits.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | mem::size_of, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Unsigned` [INFO] [stdout] --> src/utils/bits.rs:6:36 [INFO] [stdout] | [INFO] [stdout] 6 | use num_traits::{Bounded, PrimInt, Unsigned}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc` and `Mutex` [INFO] [stdout] --> src/utils/utils.rs:4:32 [INFO] [stdout] | [INFO] [stdout] 4 | sync::{atomic::AtomicBool, Arc, Mutex}, [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sdl2::sys::Atom` [INFO] [stdout] --> src/utils/utils.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use sdl2::sys::Atom; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DecodeThumbInstructionToString`, `ThumbALUInstruction`, `ThumbArithmeticInstruction`, `ThumbFullAdderOperations`, `ThumbFullAdder`, `ThumbLogicalInstruction`, and `ThumbShiftInstruction` [INFO] [stdout] --> src/utils/instruction_to_string.rs:6:29 [INFO] [stdout] | [INFO] [stdout] 6 | instruction_table::{DecodeThumbInstructionToString, Operand}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | thumb::alu::{ [INFO] [stdout] 8 | ThumbALUInstruction, ThumbArithmeticInstruction, ThumbFullAdder, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] 9 | ThumbFullAdderOperations, ThumbLogicalInstruction, ThumbShiftInstruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `memory` [INFO] [stdout] --> src/arm7tdmi/thumb/jumps_and_calls.rs:101:37 [INFO] [stdout] | [INFO] [stdout] 101 | fn execute(self, cpu: &mut CPU, memory: &mut GBAMemory) -> CYCLES { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address1` [INFO] [stdout] --> src/debugger/breakpoints.rs:36:46 [INFO] [stdout] | [INFO] [stdout] 36 | BreakType::WatchAddress(address, address1) => write!(f, "address == {}", address), [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dma_num` [INFO] [stdout] --> src/gba.rs:82:35 [INFO] [stdout] | [INFO] [stdout] 82 | CPUCallbacks::DMA(dma_num) => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dma_num` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dispcnt` [INFO] [stdout] --> src/graphics/ppu_modes/hblank.rs:51:66 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn update_oam_objects(&mut self, memory: &mut GBAMemory, dispcnt: Dispcnt) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dispcnt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dma_cnt_h` [INFO] [stdout] --> src/memory/wrappers/dma.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | let dma_cnt_h = DmaCNTH(memory.io_load(dma_io_address_start + 10)); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dma_cnt_h` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::mpsc::sync_channel` [INFO] [stdout] --> src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::sync::mpsc::sync_channel; [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: `iter::Enumerate` [INFO] [stdout] --> src/arm7tdmi/arm/data_transfer_instructions.rs:1:25 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fmt::Display, iter::Enumerate, mem::size_of}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt::{Arguments, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `InstructionMode`, `LINK_REGISTER`, `REGISTER`, `interrupts::Exceptions`, and `sign_extend` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:5:30 [INFO] [stdout] | [INFO] [stdout] 5 | cpu::{FlagsRegister, InstructionMode, CPU, LINK_REGISTER}, [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] 6 | interrupts::Exceptions, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 9 | types::{ARMByteCode, CYCLES, REGISTER}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 10 | utils::bits::{sign_extend, Bits}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `WORD` [INFO] [stdout] --> src/arm7tdmi/arm/swap_instruction.rs:7:31 [INFO] [stdout] | [INFO] [stdout] 7 | types::{CYCLES, REGISTER, WORD}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/arm7tdmi/cpsr.rs:3:26 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::utils::bits::{self, Bits}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `instructions::ARMDecodedInstruction` [INFO] [stdout] --> src/arm7tdmi/decoder.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use instructions::ARMDecodedInstruction; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `gba::GBA` and `memory::memory::GBAMemory` [INFO] [stdout] --> src/arm7tdmi/decoder.rs:354:17 [INFO] [stdout] | [INFO] [stdout] 354 | use crate::{gba::GBA, memory::memory::GBAMemory}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `DestinationAddressControlMode` is more private than the item `DmaCNTH::destination_address_control` [INFO] [stdout] --> src/memory/wrappers/dma.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn destination_address_control(&self) -> DestinationAddressControlMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `DmaCNTH::destination_address_control` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `DestinationAddressControlMode` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/memory/wrappers/dma.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | enum DestinationAddressControlMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utils::bits::Bits` [INFO] [stdout] --> src/arm7tdmi/interrupts.rs:1:55 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{memory::memory::GBAMemory, types::CYCLES, utils::bits::Bits}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `DestinationAddressControlMode` is more private than the item `DmaCNTH::source_address_control` [INFO] [stdout] --> src/memory/wrappers/dma.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn source_address_control(&self) -> DestinationAddressControlMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `DmaCNTH::source_address_control` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `DestinationAddressControlMode` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/memory/wrappers/dma.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | enum DestinationAddressControlMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `arm::alu::ArithmeticInstruction`, `sign_extend`, and `thumb` [INFO] [stdout] --> src/arm7tdmi/thumb/alu.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | arm::alu::ArithmeticInstruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 8 | thumb, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | bits::{sign_extend, Bits}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `DMATransferType` is more private than the item `DmaCNTH::dma_transfer_type` [INFO] [stdout] --> src/memory/wrappers/dma.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn dma_transfer_type(&self) -> DMATransferType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `DmaCNTH::dma_transfer_type` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `DMATransferType` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/memory/wrappers/dma.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | enum DMATransferType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rstest::rstest` [INFO] [stdout] --> src/arm7tdmi/thumb/alu.rs:878:9 [INFO] [stdout] | [INFO] [stdout] 878 | use rstest::rstest; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Execute`, `Operand`, `ThumbFullAdderOperations`, and `ThumbFullAdder` [INFO] [stdout] --> src/arm7tdmi/thumb/alu.rs:883:33 [INFO] [stdout] | [INFO] [stdout] 883 | instruction_table::{Execute, Operand}, [INFO] [stdout] | ^^^^^^^ ^^^^^^^ [INFO] [stdout] 884 | thumb::alu::{ThumbFullAdder, ThumbFullAdderOperations}, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CPU` and `memory::memory::GBAMemory` [INFO] [stdout] --> src/arm7tdmi/thumb/alu.rs:1108:57 [INFO] [stdout] | [INFO] [stdout] 1108 | arm7tdmi::cpu::{FlagsRegister, InstructionMode, CPU}, [INFO] [stdout] | ^^^ [INFO] [stdout] 1109 | gba::GBA, [INFO] [stdout] 1110 | memory::memory::GBAMemory, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CPU` and `memory::memory::GBAMemory` [INFO] [stdout] --> src/arm7tdmi/thumb/alu.rs:1249:57 [INFO] [stdout] | [INFO] [stdout] 1249 | arm7tdmi::cpu::{FlagsRegister, InstructionMode, CPU}, [INFO] [stdout] | ^^^ [INFO] [stdout] 1250 | gba::GBA, [INFO] [stdout] 1251 | memory::memory::GBAMemory, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CPU` and `memory::memory::GBAMemory` [INFO] [stdout] --> src/arm7tdmi/thumb/alu.rs:1336:57 [INFO] [stdout] | [INFO] [stdout] 1336 | arm7tdmi::cpu::{FlagsRegister, InstructionMode, CPU}, [INFO] [stdout] | ^^^ [INFO] [stdout] 1337 | gba::GBA, [INFO] [stdout] 1338 | memory::memory::GBAMemory, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CPU` and `memory::memory::GBAMemory` [INFO] [stdout] --> src/arm7tdmi/thumb/alu.rs:1412:57 [INFO] [stdout] | [INFO] [stdout] 1412 | arm7tdmi::cpu::{FlagsRegister, InstructionMode, CPU}, [INFO] [stdout] | ^^^ [INFO] [stdout] 1413 | gba::GBA, [INFO] [stdout] 1414 | memory::memory::GBAMemory, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CPU` and `memory::memory::GBAMemory` [INFO] [stdout] --> src/arm7tdmi/thumb/alu.rs:1472:42 [INFO] [stdout] | [INFO] [stdout] 1472 | arm7tdmi::cpu::{InstructionMode, CPU}, [INFO] [stdout] | ^^^ [INFO] [stdout] 1473 | gba::GBA, [INFO] [stdout] 1474 | memory::memory::GBAMemory, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CPU` and `memory::memory::GBAMemory` [INFO] [stdout] --> src/arm7tdmi/thumb/alu.rs:1516:42 [INFO] [stdout] | [INFO] [stdout] 1516 | arm7tdmi::cpu::{InstructionMode, CPU}, [INFO] [stdout] | ^^^ [INFO] [stdout] 1517 | gba::GBA, [INFO] [stdout] 1518 | memory::memory::GBAMemory, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_traits::Signed` [INFO] [stdout] --> src/arm7tdmi/thumb/data_transfer_instructions.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use num_traits::Signed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `LINK_REGISTER` and `SignedAndHwDtInstruction` [INFO] [stdout] --> src/arm7tdmi/thumb/data_transfer_instructions.rs:8:67 [INFO] [stdout] | [INFO] [stdout] 8 | ... BlockDTOpcodes, LoadOpcodes, RegisterList, SdtOpcode, SignedAndHwDtInstruction, SignedAndHwDtLoadOpcodes, SignedAndHwDtOpc... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 9 | ... }, [INFO] [stdout] 10 | ... cpu::{CPU, LINK_REGISTER, PC_REGISTER, STACK_POINTER}, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Display` [INFO] [stdout] --> src/arm7tdmi/instruction_table.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt::Display; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tui::widgets::Block` [INFO] [stdout] --> src/arm7tdmi/instruction_table.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use tui::widgets::Block; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ThumbALUInstruction` and `self` [INFO] [stdout] --> src/arm7tdmi/instruction_table.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | ... self, [INFO] [stdout] | ^^^^ [INFO] [stdout] 10 | ... alu::{ [INFO] [stdout] 11 | ... ThumbALUInstruction, ThumbALUOperation, ThumbAddToSp, ThumbAdr, ThumbArithmeticImmInstruction, ThumbBx, ThumbFullAdder, Th... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `instructions::ARMDecodedInstruction` [INFO] [stdout] --> src/arm7tdmi/instruction_table.rs:19:91 [INFO] [stdout] | [INFO] [stdout] 19 | use super::{arm::{data_transfer_instructions::{SdtInstruction, SignedAndHwDtInstruction}, instructions::ARMDecodedInstruction, multi... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `thumb::alu::ThumbFullAdder` [INFO] [stdout] --> src/debugger/debugger.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | thumb::alu::ThumbFullAdder, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Condvar`, `MutexGuard`, and `Ordering::Relaxed` [INFO] [stdout] --> src/graphics/display.rs:5:30 [INFO] [stdout] | [INFO] [stdout] 5 | atomic::{AtomicBool, Ordering::Relaxed}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 6 | mpsc::Receiver, [INFO] [stdout] 7 | Arc, Condvar, Mutex, MutexGuard, [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rect::Rect` [INFO] [stdout] --> src/graphics/display.rs:12:51 [INFO] [stdout] | [INFO] [stdout] 12 | use sdl2::{event::Event, pixels::PixelFormatEnum, rect::Rect, render::Texture, surface::Surface}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `dispcnt::Dispcnt` [INFO] [stdout] --> src/graphics/layers.rs:5:30 [INFO] [stdout] | [INFO] [stdout] 5 | wrappers::{bgcnt::BGCnt, dispcnt::Dispcnt}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cmp::Reverse`, `collections::BinaryHeap`, and `fmt::Display` [INFO] [stdout] --> src/graphics/ppu_modes/hdraw.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{cmp::Reverse, collections::BinaryHeap, fmt::Display, sync::Arc}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cycles` is never read [INFO] [stdout] --> src/arm7tdmi/cpu.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 44 | struct Status { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 48 | pub cycles: u64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Status` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instruction_count` is never read [INFO] [stdout] --> src/arm7tdmi/cpu.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct CPU { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 65 | instruction_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CPU` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_status` is never used [INFO] [stdout] --> src/arm7tdmi/cpu.rs:378:8 [INFO] [stdout] | [INFO] [stdout] 73 | impl CPU { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 378 | fn get_status(&self) -> Status { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_multiply_long_instruction` is never used [INFO] [stdout] --> src/arm7tdmi/decoder.rs:194:12 [INFO] [stdout] | [INFO] [stdout] 194 | pub fn is_multiply_long_instruction(instruction: ARMByteCode) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_branch_and_link_instruction` is never used [INFO] [stdout] --> src/arm7tdmi/decoder.rs:203:12 [INFO] [stdout] | [INFO] [stdout] 203 | pub fn is_branch_and_link_instruction(instruction: ARMByteCode) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `color_special_effects_enabled` is never read [INFO] [stdout] --> src/graphics/layers.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct DisplayContext { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 16 | pub color_special_effects_enabled: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_top_bg_pixel` is never used [INFO] [stdout] --> src/graphics/layers.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 90 | impl Layers { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn get_top_bg_pixel(&self) -> BGPixel { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VCOUNTER_FLAG` is never used [INFO] [stdout] --> src/graphics/ppu.rs:18:18 [INFO] [stdout] | [INFO] [stdout] 18 | pub(super) const VCOUNTER_FLAG: u16 = 1 << 2; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HBLANK_ENABLE` is never used [INFO] [stdout] --> src/graphics/ppu.rs:20:18 [INFO] [stdout] | [INFO] [stdout] 20 | pub(super) const HBLANK_ENABLE: u16 = 1 << 4; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IORAM_SIZE` is never used [INFO] [stdout] --> src/memory/memory.rs:66:7 [INFO] [stdout] | [INFO] [stdout] 66 | const IORAM_SIZE: usize = 0x3FF; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OAM_SIZE` is never used [INFO] [stdout] --> src/memory/memory.rs:69:7 [INFO] [stdout] | [INFO] [stdout] 69 | const OAM_SIZE: usize = 0x400; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OAM_MIRROR_MASK` is never used [INFO] [stdout] --> src/memory/memory.rs:105:7 [INFO] [stdout] | [INFO] [stdout] 105 | const OAM_MIRROR_MASK: usize = 0x3FF; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `active_region` is never read [INFO] [stdout] --> src/memory/memory.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 107 | pub struct GBAMemory { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 117 | active_region: u32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `active_objects` is never read [INFO] [stdout] --> src/memory/oam_memory.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct OAMBlock { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 14 | active_objects: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `source`, `destination`, and `word_count` are never read [INFO] [stdout] --> src/memory/wrappers/dma.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct DMAControl { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 5 | source: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 6 | destination: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 7 | word_count: usize [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SourceAddressControlMode` is never used [INFO] [stdout] --> src/memory/wrappers/dma.rs:19:6 [INFO] [stdout] | [INFO] [stdout] 19 | enum SourceAddressControlMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset_bit` is never used [INFO] [stdout] --> src/utils/bits.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait Bits: PrimInt + Shr + BitAnd + Eq { [INFO] [stdout] | ---- method in this trait [INFO] [stdout] ... [INFO] [stdout] 49 | fn reset_bit(&mut self, bit: u8); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_option_register` is never used [INFO] [stdout] --> src/utils/instruction_to_string.rs:46:4 [INFO] [stdout] | [INFO] [stdout] 46 | fn print_option_register(register: &Option) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HBLANK_FLAG`, `OBJMode`, `OBJPalleteData`, and `wrappers::tile::Tile` [INFO] [stdout] --> src/graphics/ppu_modes/hdraw.rs:8:36 [INFO] [stdout] | [INFO] [stdout] 8 | pallete::{rgb555_to_rgb24, OBJPalleteData}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 9 | ppu::{PPUModes, HBLANK_FLAG, HDRAW, PPU}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 10 | wrappers::tile::Tile, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | oam::{OBJMode, Oam}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `dispcnt::Dispcnt` [INFO] [stdout] --> src/graphics/wrappers/tile.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | dispcnt::Dispcnt, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `memory::GBAMemory`, `memory_block::MemoryBlock`, and `oam::Oam` [INFO] [stdout] --> src/memory/affine_parameters.rs:56:25 [INFO] [stdout] | [INFO] [stdout] 56 | use crate::memory::{memory::GBAMemory, memory_block::MemoryBlock, oam::Oam}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::AffineParameters` [INFO] [stdout] --> src/memory/affine_parameters.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | use super::AffineParameters; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GBAMemory` and `SimpleMemoryBlock` [INFO] [stdout] --> src/memory/io_handlers.rs:6:28 [INFO] [stdout] | [INFO] [stdout] 6 | memory::{CPUCallbacks, GBAMemory, MemoryError}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 7 | memory_block::{MemoryBlock, SimpleMemoryBlock}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `io_handlers::IOBlock` and `oam_memory::OAMBlock` [INFO] [stdout] --> src/memory/memory_block.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use super::{io_handlers::IOBlock, oam_memory::OAMBlock}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `oam::NUM_OAM_ENTRIES` [INFO] [stdout] --> src/memory/oam_memory.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | oam::NUM_OAM_ENTRIES, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `mem::size_of` [INFO] [stdout] --> src/utils/bits.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | mem::size_of, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Unsigned` [INFO] [stdout] --> src/utils/bits.rs:6:36 [INFO] [stdout] | [INFO] [stdout] 6 | use num_traits::{Bounded, PrimInt, Unsigned}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc` and `Mutex` [INFO] [stdout] --> src/utils/utils.rs:4:32 [INFO] [stdout] | [INFO] [stdout] 4 | sync::{atomic::AtomicBool, Arc, Mutex}, [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sdl2::sys::Atom` [INFO] [stdout] --> src/utils/utils.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use sdl2::sys::Atom; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DecodeThumbInstructionToString`, `ThumbALUInstruction`, `ThumbArithmeticInstruction`, `ThumbFullAdderOperations`, `ThumbFullAdder`, `ThumbLogicalInstruction`, and `ThumbShiftInstruction` [INFO] [stdout] --> src/utils/instruction_to_string.rs:6:29 [INFO] [stdout] | [INFO] [stdout] 6 | instruction_table::{DecodeThumbInstructionToString, Operand}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | thumb::alu::{ [INFO] [stdout] 8 | ThumbALUInstruction, ThumbArithmeticInstruction, ThumbFullAdder, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] 9 | ThumbFullAdderOperations, ThumbLogicalInstruction, ThumbShiftInstruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:31:48 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn set_executed_instruction(&mut self, name: Arguments<'_>) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `memory` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | memory: &mut GBAMemory, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | instruction: ARMByteCode, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `memory` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | memory: &mut GBAMemory, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `memory` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | memory: &mut GBAMemory, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `memory` [INFO] [stdout] --> src/arm7tdmi/thumb/jumps_and_calls.rs:101:37 [INFO] [stdout] | [INFO] [stdout] 101 | fn execute(self, cpu: &mut CPU, memory: &mut GBAMemory) -> CYCLES { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address1` [INFO] [stdout] --> src/debugger/breakpoints.rs:36:46 [INFO] [stdout] | [INFO] [stdout] 36 | BreakType::WatchAddress(address, address1) => write!(f, "address == {}", address), [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dma_num` [INFO] [stdout] --> src/gba.rs:82:35 [INFO] [stdout] | [INFO] [stdout] 82 | CPUCallbacks::DMA(dma_num) => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dma_num` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dispcnt` [INFO] [stdout] --> src/graphics/ppu_modes/hblank.rs:51:66 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn update_oam_objects(&mut self, memory: &mut GBAMemory, dispcnt: Dispcnt) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dispcnt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dma_cnt_h` [INFO] [stdout] --> src/memory/wrappers/dma.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | let dma_cnt_h = DmaCNTH(memory.io_load(dma_io_address_start + 10)); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dma_cnt_h` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `DestinationAddressControlMode` is more private than the item `DmaCNTH::destination_address_control` [INFO] [stdout] --> src/memory/wrappers/dma.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn destination_address_control(&self) -> DestinationAddressControlMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `DmaCNTH::destination_address_control` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `DestinationAddressControlMode` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/memory/wrappers/dma.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | enum DestinationAddressControlMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `DestinationAddressControlMode` is more private than the item `DmaCNTH::source_address_control` [INFO] [stdout] --> src/memory/wrappers/dma.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn source_address_control(&self) -> DestinationAddressControlMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `DmaCNTH::source_address_control` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `DestinationAddressControlMode` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/memory/wrappers/dma.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | enum DestinationAddressControlMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `DMATransferType` is more private than the item `DmaCNTH::dma_transfer_type` [INFO] [stdout] --> src/memory/wrappers/dma.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn dma_transfer_type(&self) -> DMATransferType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `DmaCNTH::dma_transfer_type` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `DMATransferType` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/memory/wrappers/dma.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | enum DMATransferType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `stmia_execution`, `ldmia_execution`, and `stmdb_execution` are never used [INFO] [stdout] --> src/arm7tdmi/arm/data_transfer_instructions.rs:633:12 [INFO] [stdout] | [INFO] [stdout] 632 | impl CPU { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] 633 | pub fn stmia_execution( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 658 | pub fn ldmia_execution( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 685 | pub fn stmdb_execution( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ARMExecutable` is never used [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:13:10 [INFO] [stdout] | [INFO] [stdout] 13 | pub type ARMExecutable = fn(&mut CPU, ARMByteCode, memory: &mut GBAMemory) -> CYCLES; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ARMDecodedInstruction` is never constructed [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct ARMDecodedInstruction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `arm_nop`, `arm_multiply`, `arm_multiply_accumulate`, `arm_multiply_long`, and `arm_not_implemented` are never used [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl CPU { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn arm_nop(&mut self, _instruction: ARMByteCode, _memory: &mut GBAMemory) -> CYCLES { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn arm_multiply(&mut self, instruction: ARMByteCode, _memory: &mut GBAMemory) -> CYCLES { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn arm_multiply_accumulate( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn arm_multiply_long( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn arm_not_implemented( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cycles` is never read [INFO] [stdout] --> src/arm7tdmi/cpu.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 44 | struct Status { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 48 | pub cycles: u64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Status` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `executed_instruction` and `instruction_count` are never read [INFO] [stdout] --> src/arm7tdmi/cpu.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct CPU { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 57 | pub executed_instruction: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | instruction_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CPU` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `INSTRUCTION_COUNT` is never used [INFO] [stdout] --> src/arm7tdmi/cpu.rs:71:16 [INFO] [stdout] | [INFO] [stdout] 71 | pub static mut INSTRUCTION_COUNT: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_status` is never used [INFO] [stdout] --> src/arm7tdmi/cpu.rs:378:8 [INFO] [stdout] | [INFO] [stdout] 73 | impl CPU { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 378 | fn get_status(&self) -> Status { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_multiply_long_instruction` is never used [INFO] [stdout] --> src/arm7tdmi/decoder.rs:194:12 [INFO] [stdout] | [INFO] [stdout] 194 | pub fn is_multiply_long_instruction(instruction: ARMByteCode) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_branch_and_link_instruction` is never used [INFO] [stdout] --> src/arm7tdmi/decoder.rs:203:12 [INFO] [stdout] | [INFO] [stdout] 203 | pub fn is_branch_and_link_instruction(instruction: ARMByteCode) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_undefined` is never used [INFO] [stdout] --> src/arm7tdmi/decoder.rs:219:12 [INFO] [stdout] | [INFO] [stdout] 219 | pub fn is_undefined(instruction: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `decode_multiply` is never used [INFO] [stdout] --> src/arm7tdmi/decoder.rs:332:16 [INFO] [stdout] | [INFO] [stdout] 331 | impl CPU { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] 332 | pub fn decode_multiply(&self, instruction: ARMByteCode) -> ARMDecodedInstruction { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Error` is never constructed [INFO] [stdout] --> src/debugger/breakpoints.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub enum TriggeredWatchpoints { [INFO] [stdout] | -------------------- variant in this enum [INFO] [stdout] 14 | Address(usize), [INFO] [stdout] 15 | Error(MemoryError), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TriggeredWatchpoints` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `ready_to_render` is never read [INFO] [stdout] --> src/graphics/display.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct DisplayBuffer { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 22 | pub buffer: Mutex<[u32; CANVAS_AREA]>, [INFO] [stdout] 23 | pub ready_to_render: AtomicBool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `color_special_effects_enabled` is never read [INFO] [stdout] --> src/graphics/layers.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct DisplayContext { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 16 | pub color_special_effects_enabled: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_top_bg_pixel` is never used [INFO] [stdout] --> src/graphics/layers.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 90 | impl Layers { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn get_top_bg_pixel(&self) -> BGPixel { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VCOUNTER_FLAG` is never used [INFO] [stdout] --> src/graphics/ppu.rs:18:18 [INFO] [stdout] | [INFO] [stdout] 18 | pub(super) const VCOUNTER_FLAG: u16 = 1 << 2; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VBLANK_ENABLE` is never used [INFO] [stdout] --> src/graphics/ppu.rs:19:18 [INFO] [stdout] | [INFO] [stdout] 19 | pub(super) const VBLANK_ENABLE: u16 = 1 << 3; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HBLANK_ENABLE` is never used [INFO] [stdout] --> src/graphics/ppu.rs:20:18 [INFO] [stdout] | [INFO] [stdout] 20 | pub(super) const HBLANK_ENABLE: u16 = 1 << 4; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `dma_0_address`, `dma_1_address`, `dma_2_address`, and `dma_3_address` are never read [INFO] [stdout] --> src/memory/io_handlers.rs:533:9 [INFO] [stdout] | [INFO] [stdout] 529 | pub struct IOBlock { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 533 | pub dma_0_address: DMAControl, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 534 | pub dma_1_address: DMAControl, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 535 | pub dma_2_address: DMAControl, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 536 | pub dma_3_address: DMAControl, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IORAM_SIZE` is never used [INFO] [stdout] --> src/memory/memory.rs:66:7 [INFO] [stdout] | [INFO] [stdout] 66 | const IORAM_SIZE: usize = 0x3FF; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OAM_SIZE` is never used [INFO] [stdout] --> src/memory/memory.rs:69:7 [INFO] [stdout] | [INFO] [stdout] 69 | const OAM_SIZE: usize = 0x400; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `DMA` is never constructed [INFO] [stdout] --> src/memory/memory.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 74 | pub enum CPUCallbacks { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 78 | DMA(usize), [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CPUCallbacks` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ReadError` and `WriteError` are never constructed [INFO] [stdout] --> src/memory/memory.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 82 | pub enum MemoryError { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 83 | NoIODefinition(usize), [INFO] [stdout] 84 | ReadError(usize), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 85 | WriteError(usize, u32), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MemoryError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OAM_MIRROR_MASK` is never used [INFO] [stdout] --> src/memory/memory.rs:105:7 [INFO] [stdout] | [INFO] [stdout] 105 | const OAM_MIRROR_MASK: usize = 0x3FF; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `active_region` is never read [INFO] [stdout] --> src/memory/memory.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 107 | pub struct GBAMemory { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 117 | active_region: u32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `obj_mosaic`, `horizontal_flip`, and `vertical_flip` are never used [INFO] [stdout] --> src/memory/oam.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 63 | impl Oam { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn obj_mosaic(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn horizontal_flip(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | pub fn vertical_flip(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `active_objects` is never read [INFO] [stdout] --> src/memory/oam_memory.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct OAMBlock { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 14 | active_objects: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `mosaic` is never used [INFO] [stdout] --> src/memory/wrappers/bgcnt.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl BGCnt { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn mosaic(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BldY` is never constructed [INFO] [stdout] --> src/memory/wrappers/blending.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BldY<'a>(pub &'a u16); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `evy_coefficient` is never used [INFO] [stdout] --> src/memory/wrappers/blending.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 74 | impl<'a> BldY<'a> { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 75 | pub fn evy_coefficient(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `display_frame_select`, `h_blank_interval_free`, `one_dimensional_character_mapping`, `forced_blank`, and `enabled_backgrounds` are never used [INFO] [stdout] --> src/memory/wrappers/dispcnt.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl Dispcnt { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 11 | pub fn display_frame_select(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | pub fn h_blank_interval_free(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn one_dimensional_character_mapping(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn forced_blank(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn enabled_backgrounds(&self) -> EnabledBackgrounds { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EnabledBackgrounds` is never constructed [INFO] [stdout] --> src/memory/wrappers/dispcnt.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | pub struct EnabledBackgrounds { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WININ` is never constructed [INFO] [stdout] --> src/memory/wrappers/window.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct WININ(pub u16); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/memory/wrappers/window.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 5 | impl WININ { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 6 | pub fn window_0_bg0_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 9 | pub fn window_0_bg1_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | pub fn window_0_bg2_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | pub fn window_0_bg3_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn window_0_obj_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn window_0_color_special_effects_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn window_1_bg0_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn window_1_bg1_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn window_1_bg2_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn window_1_bg3_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn window_1_obj_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn window_1_color_special_effects_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `source`, `destination`, and `word_count` are never read [INFO] [stdout] --> src/memory/wrappers/dma.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct DMAControl { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 5 | source: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 6 | destination: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 7 | word_count: usize [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DmaCNTH` is never constructed [INFO] [stdout] --> src/memory/wrappers/dma.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct DmaCNTH(u16); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DestinationAddressControlMode` is never used [INFO] [stdout] --> src/memory/wrappers/dma.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | enum DestinationAddressControlMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SourceAddressControlMode` is never used [INFO] [stdout] --> src/memory/wrappers/dma.rs:19:6 [INFO] [stdout] | [INFO] [stdout] 19 | enum SourceAddressControlMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DMATransferType` is never used [INFO] [stdout] --> src/memory/wrappers/dma.rs:26:6 [INFO] [stdout] | [INFO] [stdout] 26 | enum DMATransferType { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/memory/wrappers/dma.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl DmaCNTH { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 32 | pub fn destination_address_control(&self) -> DestinationAddressControlMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn source_address_control(&self) -> DestinationAddressControlMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn dma_repeat(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn dma_transfer_type(&self) -> DMATransferType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn gamepak_drq(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn irq_at_end(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn dma_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_dma_transfer` is never used [INFO] [stdout] --> src/memory/wrappers/dma.rs:77:8 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn handle_dma_transfer(dma_num: usize, memory: &mut GBAMemory) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `update_cycles_from_region` is never used [INFO] [stdout] --> src/memory/wrappers/dma.rs:96:4 [INFO] [stdout] | [INFO] [stdout] 96 | fn update_cycles_from_region(dma_start_address: usize, dma_destination_address: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_start_addresses` is never used [INFO] [stdout] --> src/memory/wrappers/dma.rs:114:4 [INFO] [stdout] | [INFO] [stdout] 114 | fn get_start_addresses( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset_bit` is never used [INFO] [stdout] --> src/utils/bits.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait Bits: PrimInt + Shr + BitAnd + Eq { [INFO] [stdout] | ---- method in this trait [INFO] [stdout] ... [INFO] [stdout] 49 | fn reset_bit(&mut self, bit: u8); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_vec` is never used [INFO] [stdout] --> src/utils/utils.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn print_vec(vec: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_option_register` is never used [INFO] [stdout] --> src/utils/instruction_to_string.rs:46:4 [INFO] [stdout] | [INFO] [stdout] 46 | fn print_option_register(register: &Option) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:31:48 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn set_executed_instruction(&mut self, name: Arguments<'_>) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `memory` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | memory: &mut GBAMemory, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | instruction: ARMByteCode, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `memory` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | memory: &mut GBAMemory, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `memory` [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | memory: &mut GBAMemory, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `memory` [INFO] [stdout] --> src/arm7tdmi/thumb/jumps_and_calls.rs:101:37 [INFO] [stdout] | [INFO] [stdout] 101 | fn execute(self, cpu: &mut CPU, memory: &mut GBAMemory) -> CYCLES { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address1` [INFO] [stdout] --> src/debugger/breakpoints.rs:36:46 [INFO] [stdout] | [INFO] [stdout] 36 | BreakType::WatchAddress(address, address1) => write!(f, "address == {}", address), [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dma_num` [INFO] [stdout] --> src/gba.rs:82:35 [INFO] [stdout] | [INFO] [stdout] 82 | CPUCallbacks::DMA(dma_num) => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dma_num` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dispcnt` [INFO] [stdout] --> src/graphics/ppu_modes/hblank.rs:51:66 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn update_oam_objects(&mut self, memory: &mut GBAMemory, dispcnt: Dispcnt) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dispcnt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dma_cnt_h` [INFO] [stdout] --> src/memory/wrappers/dma.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | let dma_cnt_h = DmaCNTH(memory.io_load(dma_io_address_start + 10)); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dma_cnt_h` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `DestinationAddressControlMode` is more private than the item `DmaCNTH::destination_address_control` [INFO] [stdout] --> src/memory/wrappers/dma.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn destination_address_control(&self) -> DestinationAddressControlMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `DmaCNTH::destination_address_control` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `DestinationAddressControlMode` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/memory/wrappers/dma.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | enum DestinationAddressControlMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `DestinationAddressControlMode` is more private than the item `DmaCNTH::source_address_control` [INFO] [stdout] --> src/memory/wrappers/dma.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn source_address_control(&self) -> DestinationAddressControlMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `DmaCNTH::source_address_control` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `DestinationAddressControlMode` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/memory/wrappers/dma.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | enum DestinationAddressControlMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `DMATransferType` is more private than the item `DmaCNTH::dma_transfer_type` [INFO] [stdout] --> src/memory/wrappers/dma.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn dma_transfer_type(&self) -> DMATransferType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `DmaCNTH::dma_transfer_type` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `DMATransferType` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/memory/wrappers/dma.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | enum DMATransferType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `stmia_execution`, `ldmia_execution`, and `stmdb_execution` are never used [INFO] [stdout] --> src/arm7tdmi/arm/data_transfer_instructions.rs:633:12 [INFO] [stdout] | [INFO] [stdout] 632 | impl CPU { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] 633 | pub fn stmia_execution( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 658 | pub fn ldmia_execution( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 685 | pub fn stmdb_execution( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ARMExecutable` is never used [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:13:10 [INFO] [stdout] | [INFO] [stdout] 13 | pub type ARMExecutable = fn(&mut CPU, ARMByteCode, memory: &mut GBAMemory) -> CYCLES; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ARMDecodedInstruction` is never constructed [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct ARMDecodedInstruction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `arm_nop`, `arm_multiply`, `arm_multiply_accumulate`, `arm_multiply_long`, and `arm_not_implemented` are never used [INFO] [stdout] --> src/arm7tdmi/arm/instructions.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl CPU { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn arm_nop(&mut self, _instruction: ARMByteCode, _memory: &mut GBAMemory) -> CYCLES { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn arm_multiply(&mut self, instruction: ARMByteCode, _memory: &mut GBAMemory) -> CYCLES { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn arm_multiply_accumulate( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn arm_multiply_long( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn arm_not_implemented( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cycles` is never read [INFO] [stdout] --> src/arm7tdmi/cpu.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 44 | struct Status { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 48 | pub cycles: u64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Status` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `executed_instruction` and `instruction_count` are never read [INFO] [stdout] --> src/arm7tdmi/cpu.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct CPU { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 57 | pub executed_instruction: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | instruction_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CPU` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `INSTRUCTION_COUNT` is never used [INFO] [stdout] --> src/arm7tdmi/cpu.rs:71:16 [INFO] [stdout] | [INFO] [stdout] 71 | pub static mut INSTRUCTION_COUNT: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_status` is never used [INFO] [stdout] --> src/arm7tdmi/cpu.rs:378:8 [INFO] [stdout] | [INFO] [stdout] 73 | impl CPU { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 378 | fn get_status(&self) -> Status { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_multiply_long_instruction` is never used [INFO] [stdout] --> src/arm7tdmi/decoder.rs:194:12 [INFO] [stdout] | [INFO] [stdout] 194 | pub fn is_multiply_long_instruction(instruction: ARMByteCode) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_branch_and_link_instruction` is never used [INFO] [stdout] --> src/arm7tdmi/decoder.rs:203:12 [INFO] [stdout] | [INFO] [stdout] 203 | pub fn is_branch_and_link_instruction(instruction: ARMByteCode) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `decode_multiply` is never used [INFO] [stdout] --> src/arm7tdmi/decoder.rs:332:16 [INFO] [stdout] | [INFO] [stdout] 331 | impl CPU { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] 332 | pub fn decode_multiply(&self, instruction: ARMByteCode) -> ARMDecodedInstruction { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Error` is never constructed [INFO] [stdout] --> src/debugger/breakpoints.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub enum TriggeredWatchpoints { [INFO] [stdout] | -------------------- variant in this enum [INFO] [stdout] 14 | Address(usize), [INFO] [stdout] 15 | Error(MemoryError), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TriggeredWatchpoints` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `ready_to_render` is never read [INFO] [stdout] --> src/graphics/display.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct DisplayBuffer { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 22 | pub buffer: Mutex<[u32; CANVAS_AREA]>, [INFO] [stdout] 23 | pub ready_to_render: AtomicBool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `color_special_effects_enabled` is never read [INFO] [stdout] --> src/graphics/layers.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct DisplayContext { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 16 | pub color_special_effects_enabled: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_top_bg_pixel` is never used [INFO] [stdout] --> src/graphics/layers.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 90 | impl Layers { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn get_top_bg_pixel(&self) -> BGPixel { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VCOUNTER_FLAG` is never used [INFO] [stdout] --> src/graphics/ppu.rs:18:18 [INFO] [stdout] | [INFO] [stdout] 18 | pub(super) const VCOUNTER_FLAG: u16 = 1 << 2; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HBLANK_ENABLE` is never used [INFO] [stdout] --> src/graphics/ppu.rs:20:18 [INFO] [stdout] | [INFO] [stdout] 20 | pub(super) const HBLANK_ENABLE: u16 = 1 << 4; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `dma_0_address`, `dma_1_address`, `dma_2_address`, and `dma_3_address` are never read [INFO] [stdout] --> src/memory/io_handlers.rs:533:9 [INFO] [stdout] | [INFO] [stdout] 529 | pub struct IOBlock { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 533 | pub dma_0_address: DMAControl, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 534 | pub dma_1_address: DMAControl, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 535 | pub dma_2_address: DMAControl, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 536 | pub dma_3_address: DMAControl, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IORAM_SIZE` is never used [INFO] [stdout] --> src/memory/memory.rs:66:7 [INFO] [stdout] | [INFO] [stdout] 66 | const IORAM_SIZE: usize = 0x3FF; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OAM_SIZE` is never used [INFO] [stdout] --> src/memory/memory.rs:69:7 [INFO] [stdout] | [INFO] [stdout] 69 | const OAM_SIZE: usize = 0x400; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `DMA` is never constructed [INFO] [stdout] --> src/memory/memory.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 74 | pub enum CPUCallbacks { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 78 | DMA(usize), [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CPUCallbacks` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ReadError` and `WriteError` are never constructed [INFO] [stdout] --> src/memory/memory.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 82 | pub enum MemoryError { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 83 | NoIODefinition(usize), [INFO] [stdout] 84 | ReadError(usize), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 85 | WriteError(usize, u32), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MemoryError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OAM_MIRROR_MASK` is never used [INFO] [stdout] --> src/memory/memory.rs:105:7 [INFO] [stdout] | [INFO] [stdout] 105 | const OAM_MIRROR_MASK: usize = 0x3FF; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `active_region` is never read [INFO] [stdout] --> src/memory/memory.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 107 | pub struct GBAMemory { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 117 | active_region: u32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `obj_mosaic`, `horizontal_flip`, and `vertical_flip` are never used [INFO] [stdout] --> src/memory/oam.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 63 | impl Oam { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn obj_mosaic(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn horizontal_flip(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | pub fn vertical_flip(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `active_objects` is never read [INFO] [stdout] --> src/memory/oam_memory.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct OAMBlock { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 14 | active_objects: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `mosaic` is never used [INFO] [stdout] --> src/memory/wrappers/bgcnt.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl BGCnt { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn mosaic(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BldY` is never constructed [INFO] [stdout] --> src/memory/wrappers/blending.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct BldY<'a>(pub &'a u16); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `evy_coefficient` is never used [INFO] [stdout] --> src/memory/wrappers/blending.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 74 | impl<'a> BldY<'a> { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 75 | pub fn evy_coefficient(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `display_frame_select`, `h_blank_interval_free`, `one_dimensional_character_mapping`, and `forced_blank` are never used [INFO] [stdout] --> src/memory/wrappers/dispcnt.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl Dispcnt { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 11 | pub fn display_frame_select(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | pub fn h_blank_interval_free(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn one_dimensional_character_mapping(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn forced_blank(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WININ` is never constructed [INFO] [stdout] --> src/memory/wrappers/window.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct WININ(pub u16); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/memory/wrappers/window.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 5 | impl WININ { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 6 | pub fn window_0_bg0_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 9 | pub fn window_0_bg1_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | pub fn window_0_bg2_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | pub fn window_0_bg3_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn window_0_obj_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn window_0_color_special_effects_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn window_1_bg0_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn window_1_bg1_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn window_1_bg2_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn window_1_bg3_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn window_1_obj_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn window_1_color_special_effects_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `source`, `destination`, and `word_count` are never read [INFO] [stdout] --> src/memory/wrappers/dma.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct DMAControl { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 5 | source: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 6 | destination: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 7 | word_count: usize [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DmaCNTH` is never constructed [INFO] [stdout] --> src/memory/wrappers/dma.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct DmaCNTH(u16); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DestinationAddressControlMode` is never used [INFO] [stdout] --> src/memory/wrappers/dma.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | enum DestinationAddressControlMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SourceAddressControlMode` is never used [INFO] [stdout] --> src/memory/wrappers/dma.rs:19:6 [INFO] [stdout] | [INFO] [stdout] 19 | enum SourceAddressControlMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DMATransferType` is never used [INFO] [stdout] --> src/memory/wrappers/dma.rs:26:6 [INFO] [stdout] | [INFO] [stdout] 26 | enum DMATransferType { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/memory/wrappers/dma.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl DmaCNTH { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 32 | pub fn destination_address_control(&self) -> DestinationAddressControlMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn source_address_control(&self) -> DestinationAddressControlMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn dma_repeat(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn dma_transfer_type(&self) -> DMATransferType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn gamepak_drq(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn irq_at_end(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn dma_enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `handle_dma_transfer` is never used [INFO] [stdout] --> src/memory/wrappers/dma.rs:77:8 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn handle_dma_transfer(dma_num: usize, memory: &mut GBAMemory) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `update_cycles_from_region` is never used [INFO] [stdout] --> src/memory/wrappers/dma.rs:96:4 [INFO] [stdout] | [INFO] [stdout] 96 | fn update_cycles_from_region(dma_start_address: usize, dma_destination_address: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_start_addresses` is never used [INFO] [stdout] --> src/memory/wrappers/dma.rs:114:4 [INFO] [stdout] | [INFO] [stdout] 114 | fn get_start_addresses( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset_bit` is never used [INFO] [stdout] --> src/utils/bits.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub trait Bits: PrimInt + Shr + BitAnd + Eq { [INFO] [stdout] | ---- method in this trait [INFO] [stdout] ... [INFO] [stdout] 49 | fn reset_bit(&mut self, bit: u8); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_vec` is never used [INFO] [stdout] --> src/utils/utils.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn print_vec(vec: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_option_register` is never used [INFO] [stdout] --> src/utils/instruction_to_string.rs:46:4 [INFO] [stdout] | [INFO] [stdout] 46 | fn print_option_register(register: &Option) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "eadf66f4cd3bde8c150abc908da4335b9ec850da161f266e84541ac7f4b2888b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "eadf66f4cd3bde8c150abc908da4335b9ec850da161f266e84541ac7f4b2888b", kill_on_drop: false }` [INFO] [stdout] eadf66f4cd3bde8c150abc908da4335b9ec850da161f266e84541ac7f4b2888b