[INFO] cloning repository https://github.com/mppadding/gba [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mppadding/gba" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmppadding%2Fgba", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmppadding%2Fgba'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 4ea7617865355ef82849bc7f2cb4f73d9a7d4b77 [INFO] linting mppadding/gba against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmppadding%2Fgba" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/mppadding/gba [INFO] finished tweaking git repo https://github.com/mppadding/gba [INFO] tweaked toml for git repo https://github.com/mppadding/gba written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/mppadding/gba on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/mppadding/gba already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded cxxbridge-flags v1.0.94 [INFO] [stderr] Downloaded scratch v1.0.5 [INFO] [stderr] Downloaded cxxbridge-macro v1.0.94 [INFO] [stderr] Downloaded ratatui v0.20.1 [INFO] [stderr] Downloaded cxx-build v1.0.94 [INFO] [stderr] Downloaded cxx v1.0.94 [INFO] [stderr] Downloaded tui-logger v0.9.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a507782dc751870565ce6f693b8012592a52a572a4ef46b7d68265b9d3ff511d [INFO] running `Command { std: "docker" "start" "-a" "a507782dc751870565ce6f693b8012592a52a572a4ef46b7d68265b9d3ff511d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a507782dc751870565ce6f693b8012592a52a572a4ef46b7d68265b9d3ff511d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a507782dc751870565ce6f693b8012592a52a572a4ef46b7d68265b9d3ff511d", kill_on_drop: false }` [INFO] [stdout] a507782dc751870565ce6f693b8012592a52a572a4ef46b7d68265b9d3ff511d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6548de1cfa80bb955b5c9951cc647eda1663ae89eea92364a117ff5a78cbff2d [INFO] running `Command { std: "docker" "start" "-a" "6548de1cfa80bb955b5c9951cc647eda1663ae89eea92364a117ff5a78cbff2d", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.144 [INFO] [stderr] Compiling signal-hook v0.3.15 [INFO] [stderr] Compiling version-compare v0.1.1 [INFO] [stderr] Compiling sdl2 v0.35.2 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Checking unicode-width v0.1.10 [INFO] [stderr] Checking unicode-segmentation v1.10.1 [INFO] [stderr] Checking iana-time-zone v0.1.56 [INFO] [stderr] Checking chrono v0.4.24 [INFO] [stderr] Compiling sdl2-sys v0.35.2 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking mio v0.8.6 [INFO] [stderr] Checking parking_lot_core v0.9.7 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking signal-hook-mio v0.2.3 [INFO] [stderr] Checking crossterm v0.26.1 [INFO] [stderr] Checking ratatui v0.20.1 [INFO] [stderr] Checking tui-logger v0.9.1 [INFO] [stderr] Checking gba v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/main.rs:2:33 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::{HashMap, HashSet}; [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: `exit` [INFO] [stdout] --> src/main.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use std::process::{exit, Command}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::backtrace::PC_BACKTRACE` [INFO] [stdout] --> src/main.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::backtrace::PC_BACKTRACE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MGBA_REG_DEBUG_ENABLE` and `MGBA_REG_DEBUG_FLAGS` [INFO] [stdout] --> src/cpu.rs:6:27 [INFO] [stdout] | [INFO] [stdout] 6 | debugger::{MgbaDebug, MGBA_REG_DEBUG_ENABLE, MGBA_REG_DEBUG_FLAGS}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> src/cpu.rs:1416:27 [INFO] [stdout] | [INFO] [stdout] 1416 | let op2 = 0b0000_0_01_1_0000 | ((rs as u16) << 8) | (rd as u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_0011_0000` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] = note: `#[warn(clippy::unusual_byte_groupings)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/main.rs:2:33 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::{HashMap, HashSet}; [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: `exit` [INFO] [stdout] --> src/main.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use std::process::{exit, Command}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> src/cpu.rs:1426:27 [INFO] [stdout] | [INFO] [stdout] 1426 | let op2 = 0b0000_0_10_1_0000 | ((rs as u16) << 8) | (rd as u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_0101_0000` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::backtrace::PC_BACKTRACE` [INFO] [stdout] --> src/main.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::backtrace::PC_BACKTRACE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MGBA_REG_DEBUG_ENABLE` and `MGBA_REG_DEBUG_FLAGS` [INFO] [stdout] --> src/cpu.rs:6:27 [INFO] [stdout] | [INFO] [stdout] 6 | debugger::{MgbaDebug, MGBA_REG_DEBUG_ENABLE, MGBA_REG_DEBUG_FLAGS}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> src/cpu.rs:1436:27 [INFO] [stdout] | [INFO] [stdout] 1436 | let op2 = 0b0000_0_11_1_0000 | ((rs as u16) << 8) | (rd as u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_0111_0000` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> src/cpu.rs:1416:27 [INFO] [stdout] | [INFO] [stdout] 1416 | let op2 = 0b0000_0_01_1_0000 | ((rs as u16) << 8) | (rd as u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_0011_0000` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] = note: `#[warn(clippy::unusual_byte_groupings)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> src/cpu.rs:1426:27 [INFO] [stdout] | [INFO] [stdout] 1426 | let op2 = 0b0000_0_10_1_0000 | ((rs as u16) << 8) | (rd as u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_0101_0000` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> src/cpu.rs:1436:27 [INFO] [stdout] | [INFO] [stdout] 1436 | let op2 = 0b0000_0_11_1_0000 | ((rs as u16) << 8) | (rd as u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_0111_0000` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> src/cpu.rs:3081:27 [INFO] [stdout] | [INFO] [stdout] 3081 | let opcode: u32 = 0b1110_00_1_1101_0_0000_0000_000000010010; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b1110_0011_1010_0000_0000_0000_0001_0010` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> src/cpu.rs:3334:22 [INFO] [stdout] | [INFO] [stdout] 3334 | let opcode = 0b010000_0111_000_001; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b0100_0001_1100_0001` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> src/cpu.rs:3559:22 [INFO] [stdout] | [INFO] [stdout] 3559 | let rd_sbh = 0b1001000110100_10101010_11001101; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b1_0010_0011_0100_1010_1010_1100_1101` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Stdout`, `backtrace::Backtrace`, `panic`, `self`, and `time::Duration` [INFO] [stdout] --> src/debugger.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | backtrace::Backtrace, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 3 | collections::HashMap, [INFO] [stdout] 4 | io::{self, Stdout}, [INFO] [stdout] | ^^^^ ^^^^^^ [INFO] [stdout] 5 | panic, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 6 | time::Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DisableMouseCapture`, `EnableMouseCapture`, `EnterAlternateScreen`, `Event`, `KeyCode`, `LeaveAlternateScreen`, `disable_raw_mode`, `enable_raw_mode`, `execute`, and `self` [INFO] [stdout] --> src/debugger.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | event::{self, DisableMouseCapture, EnableMouseCapture, Event, KeyCode}, [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^ [INFO] [stdout] 11 | execute, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 12 | terminal::{disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::debug` [INFO] [stdout] --> src/debugger.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use log::debug; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::error` [INFO] [stdout] --> src/debugger.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use log::error; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::info` [INFO] [stdout] --> src/debugger.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use log::info; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::warn` [INFO] [stdout] --> src/debugger.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use log::warn; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Color`, `CrosstermBackend`, `Style`, and `Terminal` [INFO] [stdout] --> src/debugger.rs:19:24 [INFO] [stdout] | [INFO] [stdout] 19 | backend::{Backend, CrosstermBackend}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | layout::{Constraint, Direction, Layout, Rect}, [INFO] [stdout] 21 | style::{Color, Style}, [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] 22 | widgets::{Block, Borders, Paragraph}, [INFO] [stdout] 23 | Frame, Terminal, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TuiLoggerSmartWidget`, `TuiWidgetState`, and `init_logger` [INFO] [stdout] --> src/debugger.rs:25:18 [INFO] [stdout] | [INFO] [stdout] 25 | use tui_logger::{init_logger, TuiLoggerSmartWidget, TuiWidgetState}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `print_cpu_backtrace` [INFO] [stdout] --> src/debugger.rs:29:19 [INFO] [stdout] | [INFO] [stdout] 29 | disassembler, print_cpu_backtrace, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> src/cpu.rs:4208:22 [INFO] [stdout] | [INFO] [stdout] 4208 | let op_lsl = 0b00101_00_0_0000 | (shift_amount << 7); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider: `0b0010_1000_0000` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> src/cpu.rs:4209:22 [INFO] [stdout] | [INFO] [stdout] 4209 | let op_lsr = 0b00101_01_0_0000 | (shift_amount << 7); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider: `0b0010_1010_0000` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> src/cpu.rs:4210:22 [INFO] [stdout] | [INFO] [stdout] 4210 | let op_asr = 0b00101_10_0_0000 | (shift_amount << 7); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider: `0b0010_1100_0000` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> src/cpu.rs:4211:22 [INFO] [stdout] | [INFO] [stdout] 4211 | let op_ror = 0b00101_11_0_0000 | (shift_amount << 7); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider: `0b0010_1110_0000` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> src/cpu.rs:4243:22 [INFO] [stdout] | [INFO] [stdout] 4243 | let op_lsl = 0b0001_0_00_1_0000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider: `0b0001_0001_0000` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> src/cpu.rs:4244:22 [INFO] [stdout] | [INFO] [stdout] 4244 | let op_lsr = 0b0001_0_01_1_0000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider: `0b0001_0011_0000` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> src/cpu.rs:4245:22 [INFO] [stdout] | [INFO] [stdout] 4245 | let op_asr = 0b0001_0_10_1_0000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider: `0b0001_0101_0000` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> src/cpu.rs:4246:22 [INFO] [stdout] | [INFO] [stdout] 4246 | let op_ror = 0b0001_0_11_1_0000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider: `0b0001_0111_0000` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Stdout`, `backtrace::Backtrace`, `panic`, `self`, and `time::Duration` [INFO] [stdout] --> src/debugger.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | backtrace::Backtrace, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 3 | collections::HashMap, [INFO] [stdout] 4 | io::{self, Stdout}, [INFO] [stdout] | ^^^^ ^^^^^^ [INFO] [stdout] 5 | panic, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 6 | time::Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DisableMouseCapture`, `EnableMouseCapture`, `EnterAlternateScreen`, `Event`, `KeyCode`, `LeaveAlternateScreen`, `disable_raw_mode`, `enable_raw_mode`, `execute`, and `self` [INFO] [stdout] --> src/debugger.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | event::{self, DisableMouseCapture, EnableMouseCapture, Event, KeyCode}, [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^ [INFO] [stdout] 11 | execute, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 12 | terminal::{disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::debug` [INFO] [stdout] --> src/debugger.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use log::debug; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::error` [INFO] [stdout] --> src/debugger.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use log::error; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::info` [INFO] [stdout] --> src/debugger.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use log::info; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::warn` [INFO] [stdout] --> src/debugger.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use log::warn; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Color`, `CrosstermBackend`, `Style`, and `Terminal` [INFO] [stdout] --> src/debugger.rs:19:24 [INFO] [stdout] | [INFO] [stdout] 19 | backend::{Backend, CrosstermBackend}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | layout::{Constraint, Direction, Layout, Rect}, [INFO] [stdout] 21 | style::{Color, Style}, [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] 22 | widgets::{Block, Borders, Paragraph}, [INFO] [stdout] 23 | Frame, Terminal, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TuiLoggerSmartWidget`, `TuiWidgetState`, and `init_logger` [INFO] [stdout] --> src/debugger.rs:25:18 [INFO] [stdout] | [INFO] [stdout] 25 | use tui_logger::{init_logger, TuiLoggerSmartWidget, TuiWidgetState}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `print_cpu_backtrace` [INFO] [stdout] --> src/debugger.rs:29:19 [INFO] [stdout] | [INFO] [stdout] 29 | disassembler, print_cpu_backtrace, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::info` [INFO] [stdout] --> src/game_window.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use log::info; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::info` [INFO] [stdout] --> src/game_window.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use log::info; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Texture` and `rect::Rect` [INFO] [stdout] --> src/game_window.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | rect::Rect, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 9 | render::{Canvas, Texture, TextureCreator}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Texture` and `rect::Rect` [INFO] [stdout] --> src/game_window.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | rect::Rect, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 9 | render::{Canvas, Texture, TextureCreator}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/cpu.rs:963:21 [INFO] [stdout] | [INFO] [stdout] 962 | todo!("Implement DMA dest increment+reload"); [INFO] [stdout] | -------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 963 | dest_ptr + step [INFO] [stdout] | ^^^^^^^^^^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/cpu.rs:963:21 [INFO] [stdout] | [INFO] [stdout] 962 | todo!("Implement DMA dest increment+reload"); [INFO] [stdout] | -------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 963 | dest_ptr + step [INFO] [stdout] | ^^^^^^^^^^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `if_enable` [INFO] [stdout] --> src/cpu.rs:739:13 [INFO] [stdout] | [INFO] [stdout] 739 | let if_enable = (self.io_if & irq) == irq; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_if_enable` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `enable` [INFO] [stdout] --> src/cpu.rs:928:13 [INFO] [stdout] | [INFO] [stdout] 928 | let enable = (control & 0x8000) != 0; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_enable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `src_addr` [INFO] [stdout] --> src/cpu.rs:1185:13 [INFO] [stdout] | [INFO] [stdout] 1185 | let src_addr = self.read_register(0); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dest_addr` [INFO] [stdout] --> src/cpu.rs:1186:13 [INFO] [stdout] | [INFO] [stdout] 1186 | let dest_addr = self.read_register(1); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dest_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_calc` [INFO] [stdout] --> src/cpu.rs:1187:13 [INFO] [stdout] | [INFO] [stdout] 1187 | let num_calc = self.read_register(2); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_calc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/cpu.rs:1188:13 [INFO] [stdout] | [INFO] [stdout] 1188 | let offset = self.read_register(3); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `src_addr` [INFO] [stdout] --> src/cpu.rs:1195:13 [INFO] [stdout] | [INFO] [stdout] 1195 | let src_addr = self.read_register(0); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dest_addr` [INFO] [stdout] --> src/cpu.rs:1196:13 [INFO] [stdout] | [INFO] [stdout] 1196 | let dest_addr = self.read_register(1); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dest_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `src_addr` [INFO] [stdout] --> src/cpu.rs:1203:13 [INFO] [stdout] | [INFO] [stdout] 1203 | let src_addr = self.read_register(0); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dest_addr` [INFO] [stdout] --> src/cpu.rs:1204:13 [INFO] [stdout] | [INFO] [stdout] 1204 | let dest_addr = self.read_register(1); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dest_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/cpu.rs:3032:13 [INFO] [stdout] | [INFO] [stdout] 3032 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/cpu.rs:3032:13 [INFO] [stdout] | [INFO] [stdout] 2982 | 0x00..=0x3F => { [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 3005 | 0x40..=0x7F => { [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 3012 | 0x80..=0x9F => self.arm_block_data_transfer(opcode), [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] 3013 | 0xA0..=0xBF => self.arm_branch(opcode), [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 3032 | _ => { [INFO] [stdout] | ^ ...and 3 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `if_enable` [INFO] [stdout] --> src/cpu.rs:739:13 [INFO] [stdout] | [INFO] [stdout] 739 | let if_enable = (self.io_if & irq) == irq; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_if_enable` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `opcode_cmp` [INFO] [stdout] --> src/cpu.rs:3244:13 [INFO] [stdout] | [INFO] [stdout] 3244 | let opcode_cmp = 0x2800 | offset; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode_cmp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `opcode_sub` [INFO] [stdout] --> src/cpu.rs:3246:13 [INFO] [stdout] | [INFO] [stdout] 3246 | let opcode_sub = 0x3800 | offset; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode_sub` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `enable` [INFO] [stdout] --> src/cpu.rs:928:13 [INFO] [stdout] | [INFO] [stdout] 928 | let enable = (control & 0x8000) != 0; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_enable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `src_addr` [INFO] [stdout] --> src/cpu.rs:1185:13 [INFO] [stdout] | [INFO] [stdout] 1185 | let src_addr = self.read_register(0); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dest_addr` [INFO] [stdout] --> src/cpu.rs:1186:13 [INFO] [stdout] | [INFO] [stdout] 1186 | let dest_addr = self.read_register(1); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dest_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_calc` [INFO] [stdout] --> src/cpu.rs:1187:13 [INFO] [stdout] | [INFO] [stdout] 1187 | let num_calc = self.read_register(2); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_calc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/cpu.rs:1188:13 [INFO] [stdout] | [INFO] [stdout] 1188 | let offset = self.read_register(3); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `src_addr` [INFO] [stdout] --> src/cpu.rs:1195:13 [INFO] [stdout] | [INFO] [stdout] 1195 | let src_addr = self.read_register(0); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dest_addr` [INFO] [stdout] --> src/cpu.rs:1196:13 [INFO] [stdout] | [INFO] [stdout] 1196 | let dest_addr = self.read_register(1); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dest_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `src_addr` [INFO] [stdout] --> src/cpu.rs:1203:13 [INFO] [stdout] | [INFO] [stdout] 1203 | let src_addr = self.read_register(0); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dest_addr` [INFO] [stdout] --> src/cpu.rs:1204:13 [INFO] [stdout] | [INFO] [stdout] 1204 | let dest_addr = self.read_register(1); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dest_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cpu.rs:3923:13 [INFO] [stdout] | [INFO] [stdout] 3923 | let mut cpu = CPU::new(&vram, &palette, &oam); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/cpu.rs:3923:13 [INFO] [stdout] | [INFO] [stdout] 3923 | let mut cpu = CPU::new(&vram, &palette, &oam); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cpu.rs:4188:13 [INFO] [stdout] | [INFO] [stdout] 4188 | let mut cpu = CPU::new(&vram, &palette, &oam); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/debugger.rs:522:37 [INFO] [stdout] | [INFO] [stdout] 522 | fn format_opcode_thumb(opcode: u16, cpu: &CPU) -> String { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/debugger.rs:625:17 [INFO] [stdout] | [INFO] [stdout] 625 | fn format_sound(cpu: &mut CPU) -> String { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/disassembler.rs:265:9 [INFO] [stdout] | [INFO] [stdout] 265 | _ => ("???".to_string(), "???".to_string()), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/disassembler.rs:265:9 [INFO] [stdout] | [INFO] [stdout] 23 | 0x00..=0x3F => { [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 154 | 0x40..=0x7F => { [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 203 | 0x80..=0x9F => { [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 233 | 0xA0..=0xBF => { [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 265 | _ => ("???".to_string(), "???".to_string()), [INFO] [stdout] | ^ ...and 3 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/disassembler.rs:158:21 [INFO] [stdout] | [INFO] [stdout] 158 | let mut offset = opcode & 0xFFF; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/disassembler.rs:212:17 [INFO] [stdout] | [INFO] [stdout] 212 | let mut mnemonic = match load { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/disassembler.rs:217:17 [INFO] [stdout] | [INFO] [stdout] 217 | let mut mnemonic = match (load, pre, up) { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cond` [INFO] [stdout] --> src/disassembler.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | let cond = ((opcode >> 28) & 0xF) as u8; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cond` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/disassembler.rs:123:21 [INFO] [stdout] | [INFO] [stdout] 123 | let i = (opcode & 0x2000000) != 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pre_index` [INFO] [stdout] --> src/disassembler.rs:166:21 [INFO] [stdout] | [INFO] [stdout] 166 | let pre_index = (opcode & (1 << 24)) != 0; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pre_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rlist` [INFO] [stdout] --> src/disassembler.rs:204:17 [INFO] [stdout] | [INFO] [stdout] 204 | let rlist = opcode & 0xFFFF; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_rlist` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rn` [INFO] [stdout] --> src/disassembler.rs:205:17 [INFO] [stdout] | [INFO] [stdout] 205 | let rn = ((opcode >> 16) & 0xF) as u8; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `write_back` [INFO] [stdout] --> src/disassembler.rs:207:17 [INFO] [stdout] | [INFO] [stdout] 207 | let write_back = (opcode & 0x200000) != 0; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_write_back` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `psr` [INFO] [stdout] --> src/disassembler.rs:208:17 [INFO] [stdout] | [INFO] [stdout] 208 | let psr = (opcode & 0x400000) != 0; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_psr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mnemonic` [INFO] [stdout] --> src/disassembler.rs:212:17 [INFO] [stdout] | [INFO] [stdout] 212 | let mut mnemonic = match load { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mnemonic` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/cpu.rs:3032:13 [INFO] [stdout] | [INFO] [stdout] 3032 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/cpu.rs:3032:13 [INFO] [stdout] | [INFO] [stdout] 2982 | 0x00..=0x3F => { [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 3005 | 0x40..=0x7F => { [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 3012 | 0x80..=0x9F => self.arm_block_data_transfer(opcode), [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] 3013 | 0xA0..=0xBF => self.arm_branch(opcode), [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 3032 | _ => { [INFO] [stdout] | ^ ...and 3 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/debugger.rs:522:37 [INFO] [stdout] | [INFO] [stdout] 522 | fn format_opcode_thumb(opcode: u16, cpu: &CPU) -> String { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/debugger.rs:625:17 [INFO] [stdout] | [INFO] [stdout] 625 | fn format_sound(cpu: &mut CPU) -> String { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/disassembler.rs:265:9 [INFO] [stdout] | [INFO] [stdout] 265 | _ => ("???".to_string(), "???".to_string()), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/disassembler.rs:265:9 [INFO] [stdout] | [INFO] [stdout] 23 | 0x00..=0x3F => { [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 154 | 0x40..=0x7F => { [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 203 | 0x80..=0x9F => { [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 233 | 0xA0..=0xBF => { [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 265 | _ => ("???".to_string(), "???".to_string()), [INFO] [stdout] | ^ ...and 3 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mosaic` [INFO] [stdout] --> src/renderer.rs:351:9 [INFO] [stdout] | [INFO] [stdout] 351 | let mosaic = (msg.control & 0x40) != 0x00; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_mosaic` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/disassembler.rs:158:21 [INFO] [stdout] | [INFO] [stdout] 158 | let mut offset = opcode & 0xFFF; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/disassembler.rs:212:17 [INFO] [stdout] | [INFO] [stdout] 212 | let mut mnemonic = match load { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/disassembler.rs:217:17 [INFO] [stdout] | [INFO] [stdout] 217 | let mut mnemonic = match (load, pre, up) { [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cond` [INFO] [stdout] --> src/disassembler.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | let cond = ((opcode >> 28) & 0xF) as u8; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_cond` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/disassembler.rs:123:21 [INFO] [stdout] | [INFO] [stdout] 123 | let i = (opcode & 0x2000000) != 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pre_index` [INFO] [stdout] --> src/disassembler.rs:166:21 [INFO] [stdout] | [INFO] [stdout] 166 | let pre_index = (opcode & (1 << 24)) != 0; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pre_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rlist` [INFO] [stdout] --> src/disassembler.rs:204:17 [INFO] [stdout] | [INFO] [stdout] 204 | let rlist = opcode & 0xFFFF; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_rlist` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rn` [INFO] [stdout] --> src/disassembler.rs:205:17 [INFO] [stdout] | [INFO] [stdout] 205 | let rn = ((opcode >> 16) & 0xF) as u8; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `write_back` [INFO] [stdout] --> src/disassembler.rs:207:17 [INFO] [stdout] | [INFO] [stdout] 207 | let write_back = (opcode & 0x200000) != 0; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_write_back` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `psr` [INFO] [stdout] --> src/disassembler.rs:208:17 [INFO] [stdout] | [INFO] [stdout] 208 | let psr = (opcode & 0x400000) != 0; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_psr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mnemonic` [INFO] [stdout] --> src/disassembler.rs:212:17 [INFO] [stdout] | [INFO] [stdout] 212 | let mut mnemonic = match load { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mnemonic` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prio` [INFO] [stdout] --> src/renderer.rs:737:13 [INFO] [stdout] | [INFO] [stdout] 737 | let prio = obj.get_priority(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_prio` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `window_handle` [INFO] [stdout] --> src/main.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 140 | let window_handle = thread::spawn(move || { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_handle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PC_BACKTRACE` is never used [INFO] [stdout] --> src/backtrace.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | pub static mut PC_BACKTRACE: VecDeque<(u32, u32, bool, String, String)> = VecDeque::new(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `replace_registers_in_string` is never used [INFO] [stdout] --> src/backtrace.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn replace_registers_in_string(cpu: &CPU, str: &String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_mode`, `disable_irq`, and `operation_ldrh_strh` are never used [INFO] [stdout] --> src/cpu.rs:644:8 [INFO] [stdout] | [INFO] [stdout] 586 | impl CPU { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 644 | fn set_mode(&mut self, mode: u8) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 837 | fn disable_irq(&mut self, disable: bool) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2852 | fn operation_ldrh_strh(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/debugger.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | Delay(u32, u32), // (Break after X, counter of hits) [INFO] [stdout] | ----- ^^^ ^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 36 - Delay(u32, u32), // (Break after X, counter of hits) [INFO] [stdout] 36 + Delay((), ()), // (Break after X, counter of hits) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Default` and `Conditional` are never constructed [INFO] [stdout] --> src/debugger.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub enum Breakpoint { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 35 | Default, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 36 | Delay(u32, u32), // (Break after X, counter of hits) [INFO] [stdout] 37 | Conditional(Box bool>), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `IO` and `LOG` are never constructed [INFO] [stdout] --> src/debugger.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub enum ViewState { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 41 | RAM, [INFO] [stdout] 42 | IO, [INFO] [stdout] | ^^ [INFO] [stdout] 43 | LOG, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Quit`, `Reset`, and `Back` are never constructed [INFO] [stdout] --> src/debugger.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 47 | pub enum DebuggerEvent { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 48 | None, [INFO] [stdout] 49 | Quit, [INFO] [stdout] | ^^^^ [INFO] [stdout] 50 | Reset, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 51 | Back, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GAME` is never constructed [INFO] [stdout] --> src/debugger.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 55 | pub enum InputMode { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] 56 | GAME, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InputMode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MGBA_REG_DEBUG_ENABLE` is never used [INFO] [stdout] --> src/debugger.rs:60:11 [INFO] [stdout] | [INFO] [stdout] 60 | pub const MGBA_REG_DEBUG_ENABLE: usize = 0x04FFF780; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MGBA_REG_DEBUG_FLAGS` is never used [INFO] [stdout] --> src/debugger.rs:61:11 [INFO] [stdout] | [INFO] [stdout] 61 | pub const MGBA_REG_DEBUG_FLAGS: usize = 0x04FFF700; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MGBA_REG_DEBUG_STRING` is never used [INFO] [stdout] --> src/debugger.rs:62:11 [INFO] [stdout] | [INFO] [stdout] 62 | pub const MGBA_REG_DEBUG_STRING: usize = 0x04FFF600; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `state` and `input_mode` are never read [INFO] [stdout] --> src/debugger.rs:132:9 [INFO] [stdout] | [INFO] [stdout] 130 | pub struct Debugger { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 131 | pub opcode: u32, [INFO] [stdout] 132 | pub state: ViewState, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub input_mode: InputMode, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset` is never used [INFO] [stdout] --> src/debugger.rs:379:12 [INFO] [stdout] | [INFO] [stdout] 378 | impl Debugger { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 379 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_stack` is never used [INFO] [stdout] --> src/debugger.rs:388:4 [INFO] [stdout] | [INFO] [stdout] 388 | fn format_stack(cpu: &mut CPU) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_rom` is never used [INFO] [stdout] --> src/debugger.rs:407:4 [INFO] [stdout] | [INFO] [stdout] 407 | fn format_rom(cpu: &mut CPU) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_regs` is never used [INFO] [stdout] --> src/debugger.rs:441:4 [INFO] [stdout] | [INFO] [stdout] 441 | fn format_regs(cpu: &CPU) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_memory` is never used [INFO] [stdout] --> src/debugger.rs:489:4 [INFO] [stdout] | [INFO] [stdout] 489 | fn format_memory(cpu: &mut CPU) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_opcode_thumb` is never used [INFO] [stdout] --> src/debugger.rs:522:4 [INFO] [stdout] | [INFO] [stdout] 522 | fn format_opcode_thumb(opcode: u16, cpu: &CPU) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_opcode_arm` is never used [INFO] [stdout] --> src/debugger.rs:537:4 [INFO] [stdout] | [INFO] [stdout] 537 | fn format_opcode_arm(opcode: u32, cpu: &CPU) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_debugger_state` is never used [INFO] [stdout] --> src/debugger.rs:552:4 [INFO] [stdout] | [INFO] [stdout] 552 | fn format_debugger_state( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_dma` is never used [INFO] [stdout] --> src/debugger.rs:578:4 [INFO] [stdout] | [INFO] [stdout] 578 | fn format_dma(cpu: &mut CPU) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_interrupt` is never used [INFO] [stdout] --> src/debugger.rs:596:4 [INFO] [stdout] | [INFO] [stdout] 596 | fn format_interrupt(cpu: &mut CPU) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_sound` is never used [INFO] [stdout] --> src/debugger.rs:625:4 [INFO] [stdout] | [INFO] [stdout] 625 | fn format_sound(cpu: &mut CPU) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_lcd` is never used [INFO] [stdout] --> src/debugger.rs:654:4 [INFO] [stdout] | [INFO] [stdout] 654 | fn format_lcd(cpu: &mut CPU) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_serial` is never used [INFO] [stdout] --> src/debugger.rs:699:4 [INFO] [stdout] | [INFO] [stdout] 699 | fn format_serial(cpu: &mut CPU) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_view_ram` is never used [INFO] [stdout] --> src/debugger.rs:728:4 [INFO] [stdout] | [INFO] [stdout] 728 | fn draw_view_ram(f: &mut Frame, cpu: &mut CPU, area: Rect) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_view_io` is never used [INFO] [stdout] --> src/debugger.rs:762:4 [INFO] [stdout] | [INFO] [stdout] 762 | fn draw_view_io(f: &mut Frame, cpu: &mut CPU, area: Rect) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rlist_to_string` is never used [INFO] [stdout] --> src/disassembler.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn rlist_to_string(rlist: u8, str: &mut String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `disassemble_arm` is never used [INFO] [stdout] --> src/disassembler.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn disassemble_arm(opcode: u32, pc: u32) -> (String, String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `disassemble_thumb` is never used [INFO] [stdout] --> src/disassembler.rs:269:8 [INFO] [stdout] | [INFO] [stdout] 269 | pub fn disassemble_thumb(opcode: u16) -> (String, String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `RAM`, `Object`, and `Full` are never constructed [INFO] [stdout] --> src/game_window.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum Dump { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 21 | Video, [INFO] [stdout] 22 | RAM, [INFO] [stdout] | ^^^ [INFO] [stdout] 23 | Palette, [INFO] [stdout] 24 | Object, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 25 | Full, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Dump` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Pause` is never constructed [INFO] [stdout] --> src/game_window.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub enum WindowEvent { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 33 | Pause(bool), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WindowEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/lcd.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl LCD { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn set_dispcnt(&mut self, val: u16) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn get_dispcnt_mode(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn set_background_control(&mut self, n: u8, val: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn get_window_dimensions(&self, n: u8) -> (u16, u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn get_winin(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn get_winout(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn get_mosaic(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn get_bldcnt(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn get_bldalpha(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn get_bldy(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `fill` is never read [INFO] [stdout] --> src/renderer.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 25 | struct ObjectAttributes { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 29 | fill: i16, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_obj_affine` is never used [INFO] [stdout] --> src/renderer.rs:71:4 [INFO] [stdout] | [INFO] [stdout] 71 | fn get_obj_affine(oam: &Vec, n: usize) -> [ObjectAttributes; 4] { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_rect_argb` is never used [INFO] [stdout] --> src/renderer.rs:402:4 [INFO] [stdout] | [INFO] [stdout] 402 | fn draw_rect_argb( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_draw_background` is never used [INFO] [stdout] --> src/renderer.rs:851:8 [INFO] [stdout] | [INFO] [stdout] 851 | pub fn test_draw_background(texture: &mut Texture, width: usize, height: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `read_u16` is never used [INFO] [stdout] --> src/serial.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Serial { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn read_u16(&self, addr: u32) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Sound` is never constructed [INFO] [stdout] --> src/sound.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct Sound { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/backtrace.rs:8:52 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn replace_registers_in_string(cpu: &CPU, str: &String) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 8 - pub fn replace_registers_in_string(cpu: &CPU, str: &String) -> String { [INFO] [stdout] 8 + pub fn replace_registers_in_string(cpu: &CPU, str: &str) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `MMU` contains a capitalized acronym [INFO] [stdout] --> src/cpu.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub trait MMU { [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Mmu` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mosaic` [INFO] [stdout] --> src/renderer.rs:351:9 [INFO] [stdout] | [INFO] [stdout] 351 | let mosaic = (msg.control & 0x40) != 0x00; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_mosaic` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `CPU` contains a capitalized acronym [INFO] [stdout] --> src/cpu.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct CPU { [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Cpu` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/cpu.rs:107:38 [INFO] [stdout] | [INFO] [stdout] 107 | let offset = (io_addr - 0xB0) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(io_addr - 0xB0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be replaced by its body itself [INFO] [stdout] --> src/cpu.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | / match addr { [INFO] [stdout] 154 | | _ => { [INFO] [stdout] 155 | | let low = self.read_u8(intern, addr) as u16; [INFO] [stdout] 156 | | let high = self.read_u8(intern, addr + 1) as u16; [INFO] [stdout] ... | [INFO] [stdout] 160 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] = note: `#[warn(clippy::match_single_binding)]` on by default [INFO] [stdout] help: consider using the match body instead [INFO] [stdout] | [INFO] [stdout] 153 ~ { [INFO] [stdout] 154 + let low = self.read_u8(intern, addr) as u16; [INFO] [stdout] 155 + let high = self.read_u8(intern, addr + 1) as u16; [INFO] [stdout] 156 + [INFO] [stdout] 157 + (high << 8) | low [INFO] [stdout] 158 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prio` [INFO] [stdout] --> src/renderer.rs:737:13 [INFO] [stdout] | [INFO] [stdout] 737 | let prio = obj.get_priority(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_prio` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:255:47 [INFO] [stdout] | [INFO] [stdout] 255 | let b0 = self.read_u8(intern, addr + 0) as u32; [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `addr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] = note: `#[warn(clippy::identity_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/cpu.rs:297:38 [INFO] [stdout] | [INFO] [stdout] 297 | let offset = (io_addr - 0xB0) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(io_addr - 0xB0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be replaced by its body itself [INFO] [stdout] --> src/cpu.rs:350:9 [INFO] [stdout] | [INFO] [stdout] 350 | / match addr as usize { [INFO] [stdout] 351 | | _ => { [INFO] [stdout] 352 | | self.write_u8(intern, addr + 0, low); [INFO] [stdout] 353 | | self.write_u8(intern, addr + 1, high); [INFO] [stdout] 354 | | } [INFO] [stdout] 355 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] help: consider using the match body instead [INFO] [stdout] | [INFO] [stdout] 350 ~ { [INFO] [stdout] 351 + self.write_u8(intern, addr + 0, low); [INFO] [stdout] 352 + self.write_u8(intern, addr + 1, high); [INFO] [stdout] 353 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:352:39 [INFO] [stdout] | [INFO] [stdout] 352 | self.write_u8(intern, addr + 0, low); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `addr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:410:49 [INFO] [stdout] | [INFO] [stdout] 410 | self.dma[offset + 0] = ((val >> 0) & 0xFF) as u8; [INFO] [stdout] | ^^^^^^^^^^ help: consider reducing it to: `val` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:410:34 [INFO] [stdout] | [INFO] [stdout] 410 | self.dma[offset + 0] = ((val >> 0) & 0xFF) as u8; [INFO] [stdout] | ^^^^^^^^^^ help: consider reducing it to: `offset` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:415:49 [INFO] [stdout] | [INFO] [stdout] 415 | self.dma[offset + 0] = ((val >> 0) & 0xFF) as u8; [INFO] [stdout] | ^^^^^^^^^^ help: consider reducing it to: `val` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:415:34 [INFO] [stdout] | [INFO] [stdout] 415 | self.dma[offset + 0] = ((val >> 0) & 0xFF) as u8; [INFO] [stdout] | ^^^^^^^^^^ help: consider reducing it to: `offset` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:483:39 [INFO] [stdout] | [INFO] [stdout] 483 | self.write_u8(intern, addr + 0, b0); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `addr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `window_handle` [INFO] [stdout] --> src/main.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 140 | let window_handle = thread::spawn(move || { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_handle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PC_BACKTRACE` is never used [INFO] [stdout] --> src/backtrace.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | pub static mut PC_BACKTRACE: VecDeque<(u32, u32, bool, String, String)> = VecDeque::new(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `replace_registers_in_string` is never used [INFO] [stdout] --> src/backtrace.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn replace_registers_in_string(cpu: &CPU, str: &String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_mode`, `disable_irq`, `memcpy`, and `operation_ldrh_strh` are never used [INFO] [stdout] --> src/cpu.rs:644:8 [INFO] [stdout] | [INFO] [stdout] 586 | impl CPU { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 644 | fn set_mode(&mut self, mode: u8) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 837 | fn disable_irq(&mut self, disable: bool) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 859 | fn memcpy(&mut self, dest: u32, src: u32, count: u32) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2852 | fn operation_ldrh_strh(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/debugger.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | Delay(u32, u32), // (Break after X, counter of hits) [INFO] [stdout] | ----- ^^^ ^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 36 - Delay(u32, u32), // (Break after X, counter of hits) [INFO] [stdout] 36 + Delay((), ()), // (Break after X, counter of hits) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Default` and `Conditional` are never constructed [INFO] [stdout] --> src/debugger.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub enum Breakpoint { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 35 | Default, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 36 | Delay(u32, u32), // (Break after X, counter of hits) [INFO] [stdout] 37 | Conditional(Box bool>), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `IO` and `LOG` are never constructed [INFO] [stdout] --> src/debugger.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub enum ViewState { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 41 | RAM, [INFO] [stdout] 42 | IO, [INFO] [stdout] | ^^ [INFO] [stdout] 43 | LOG, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Quit`, `Reset`, and `Back` are never constructed [INFO] [stdout] --> src/debugger.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 47 | pub enum DebuggerEvent { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 48 | None, [INFO] [stdout] 49 | Quit, [INFO] [stdout] | ^^^^ [INFO] [stdout] 50 | Reset, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 51 | Back, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GAME` is never constructed [INFO] [stdout] --> src/debugger.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 55 | pub enum InputMode { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] 56 | GAME, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InputMode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MGBA_REG_DEBUG_ENABLE` is never used [INFO] [stdout] --> src/debugger.rs:60:11 [INFO] [stdout] | [INFO] [stdout] 60 | pub const MGBA_REG_DEBUG_ENABLE: usize = 0x04FFF780; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MGBA_REG_DEBUG_FLAGS` is never used [INFO] [stdout] --> src/debugger.rs:61:11 [INFO] [stdout] | [INFO] [stdout] 61 | pub const MGBA_REG_DEBUG_FLAGS: usize = 0x04FFF700; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MGBA_REG_DEBUG_STRING` is never used [INFO] [stdout] --> src/debugger.rs:62:11 [INFO] [stdout] | [INFO] [stdout] 62 | pub const MGBA_REG_DEBUG_STRING: usize = 0x04FFF600; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `state` and `input_mode` are never read [INFO] [stdout] --> src/debugger.rs:132:9 [INFO] [stdout] | [INFO] [stdout] 130 | pub struct Debugger { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 131 | pub opcode: u32, [INFO] [stdout] 132 | pub state: ViewState, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub input_mode: InputMode, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset` is never used [INFO] [stdout] --> src/debugger.rs:379:12 [INFO] [stdout] | [INFO] [stdout] 378 | impl Debugger { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 379 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_stack` is never used [INFO] [stdout] --> src/debugger.rs:388:4 [INFO] [stdout] | [INFO] [stdout] 388 | fn format_stack(cpu: &mut CPU) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_rom` is never used [INFO] [stdout] --> src/debugger.rs:407:4 [INFO] [stdout] | [INFO] [stdout] 407 | fn format_rom(cpu: &mut CPU) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_regs` is never used [INFO] [stdout] --> src/debugger.rs:441:4 [INFO] [stdout] | [INFO] [stdout] 441 | fn format_regs(cpu: &CPU) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_memory` is never used [INFO] [stdout] --> src/debugger.rs:489:4 [INFO] [stdout] | [INFO] [stdout] 489 | fn format_memory(cpu: &mut CPU) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_opcode_thumb` is never used [INFO] [stdout] --> src/debugger.rs:522:4 [INFO] [stdout] | [INFO] [stdout] 522 | fn format_opcode_thumb(opcode: u16, cpu: &CPU) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_opcode_arm` is never used [INFO] [stdout] --> src/debugger.rs:537:4 [INFO] [stdout] | [INFO] [stdout] 537 | fn format_opcode_arm(opcode: u32, cpu: &CPU) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_debugger_state` is never used [INFO] [stdout] --> src/debugger.rs:552:4 [INFO] [stdout] | [INFO] [stdout] 552 | fn format_debugger_state( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_dma` is never used [INFO] [stdout] --> src/debugger.rs:578:4 [INFO] [stdout] | [INFO] [stdout] 578 | fn format_dma(cpu: &mut CPU) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_interrupt` is never used [INFO] [stdout] --> src/debugger.rs:596:4 [INFO] [stdout] | [INFO] [stdout] 596 | fn format_interrupt(cpu: &mut CPU) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_sound` is never used [INFO] [stdout] --> src/debugger.rs:625:4 [INFO] [stdout] | [INFO] [stdout] 625 | fn format_sound(cpu: &mut CPU) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_lcd` is never used [INFO] [stdout] --> src/debugger.rs:654:4 [INFO] [stdout] | [INFO] [stdout] 654 | fn format_lcd(cpu: &mut CPU) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_serial` is never used [INFO] [stdout] --> src/debugger.rs:699:4 [INFO] [stdout] | [INFO] [stdout] 699 | fn format_serial(cpu: &mut CPU) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_view_ram` is never used [INFO] [stdout] --> src/debugger.rs:728:4 [INFO] [stdout] | [INFO] [stdout] 728 | fn draw_view_ram(f: &mut Frame, cpu: &mut CPU, area: Rect) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_view_io` is never used [INFO] [stdout] --> src/debugger.rs:762:4 [INFO] [stdout] | [INFO] [stdout] 762 | fn draw_view_io(f: &mut Frame, cpu: &mut CPU, area: Rect) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rlist_to_string` is never used [INFO] [stdout] --> src/disassembler.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn rlist_to_string(rlist: u8, str: &mut String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `disassemble_arm` is never used [INFO] [stdout] --> src/disassembler.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn disassemble_arm(opcode: u32, pc: u32) -> (String, String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `disassemble_thumb` is never used [INFO] [stdout] --> src/disassembler.rs:269:8 [INFO] [stdout] | [INFO] [stdout] 269 | pub fn disassemble_thumb(opcode: u16) -> (String, String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `RAM`, `Object`, and `Full` are never constructed [INFO] [stdout] --> src/game_window.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum Dump { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 21 | Video, [INFO] [stdout] 22 | RAM, [INFO] [stdout] | ^^^ [INFO] [stdout] 23 | Palette, [INFO] [stdout] 24 | Object, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 25 | Full, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Dump` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Pause` is never constructed [INFO] [stdout] --> src/game_window.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub enum WindowEvent { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 33 | Pause(bool), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WindowEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/cpu.rs:627:37 [INFO] [stdout] | [INFO] [stdout] 627 | pub fn load_rom(&mut self, rom: &Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 627 - pub fn load_rom(&mut self, rom: &Vec) { [INFO] [stdout] 627 + pub fn load_rom(&mut self, rom: &[u8]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/cpu.rs:631:39 [INFO] [stdout] | [INFO] [stdout] 631 | pub fn load_bios(&mut self, bios: &Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 631 - pub fn load_bios(&mut self, bios: &Vec) { [INFO] [stdout] 631 + pub fn load_bios(&mut self, bios: &[u8]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/lcd.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl LCD { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn set_dispcnt(&mut self, val: u16) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn get_dispcnt_mode(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn set_background_control(&mut self, n: u8, val: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn get_window_dimensions(&self, n: u8) -> (u16, u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn get_winin(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn get_winout(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn get_mosaic(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn get_bldcnt(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn get_bldalpha(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn get_bldy(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `fill` is never read [INFO] [stdout] --> src/renderer.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 25 | struct ObjectAttributes { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 29 | fill: i16, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_obj_affine` is never used [INFO] [stdout] --> src/renderer.rs:71:4 [INFO] [stdout] | [INFO] [stdout] 71 | fn get_obj_affine(oam: &Vec, n: usize) -> [ObjectAttributes; 4] { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_rect_argb` is never used [INFO] [stdout] --> src/renderer.rs:402:4 [INFO] [stdout] | [INFO] [stdout] 402 | fn draw_rect_argb( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_draw_background` is never used [INFO] [stdout] --> src/renderer.rs:851:8 [INFO] [stdout] | [INFO] [stdout] 851 | pub fn test_draw_background(texture: &mut Texture, width: usize, height: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `read_u16` is never used [INFO] [stdout] --> src/serial.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Serial { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn read_u16(&self, addr: u32) -> u16 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Sound` is never constructed [INFO] [stdout] --> src/sound.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct Sound { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/backtrace.rs:8:52 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn replace_registers_in_string(cpu: &CPU, str: &String) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 8 - pub fn replace_registers_in_string(cpu: &CPU, str: &String) -> String { [INFO] [stdout] 8 + pub fn replace_registers_in_string(cpu: &CPU, str: &str) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `MMU` contains a capitalized acronym [INFO] [stdout] --> src/cpu.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub trait MMU { [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Mmu` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `CPU` contains a capitalized acronym [INFO] [stdout] --> src/cpu.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct CPU { [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Cpu` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/cpu.rs:107:38 [INFO] [stdout] | [INFO] [stdout] 107 | let offset = (io_addr - 0xB0) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(io_addr - 0xB0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be replaced by its body itself [INFO] [stdout] --> src/cpu.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | / match addr { [INFO] [stdout] 154 | | _ => { [INFO] [stdout] 155 | | let low = self.read_u8(intern, addr) as u16; [INFO] [stdout] 156 | | let high = self.read_u8(intern, addr + 1) as u16; [INFO] [stdout] ... | [INFO] [stdout] 160 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] = note: `#[warn(clippy::match_single_binding)]` on by default [INFO] [stdout] help: consider using the match body instead [INFO] [stdout] | [INFO] [stdout] 153 ~ { [INFO] [stdout] 154 + let low = self.read_u8(intern, addr) as u16; [INFO] [stdout] 155 + let high = self.read_u8(intern, addr + 1) as u16; [INFO] [stdout] 156 + [INFO] [stdout] 157 + (high << 8) | low [INFO] [stdout] 158 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:906:39 [INFO] [stdout] | [INFO] [stdout] 906 | let src = self.read_u32(true, addr_base + reg_offset + 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `(addr_base + reg_offset)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:255:47 [INFO] [stdout] | [INFO] [stdout] 255 | let b0 = self.read_u8(intern, addr + 0) as u32; [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `addr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] = note: `#[warn(clippy::identity_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/cpu.rs:297:38 [INFO] [stdout] | [INFO] [stdout] 297 | let offset = (io_addr - 0xB0) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(io_addr - 0xB0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless parenthesis on range literals can be removed [INFO] [stdout] --> src/cpu.rs:1005:25 [INFO] [stdout] | [INFO] [stdout] 1005 | for i in 0..(0x7E00) { [INFO] [stdout] | ^^^^^^^^ help: try: `0x7E00` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_parens_on_range_literals [INFO] [stdout] = note: `#[warn(clippy::needless_parens_on_range_literals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be replaced by its body itself [INFO] [stdout] --> src/cpu.rs:350:9 [INFO] [stdout] | [INFO] [stdout] 350 | / match addr as usize { [INFO] [stdout] 351 | | _ => { [INFO] [stdout] 352 | | self.write_u8(intern, addr + 0, low); [INFO] [stdout] 353 | | self.write_u8(intern, addr + 1, high); [INFO] [stdout] 354 | | } [INFO] [stdout] 355 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] help: consider using the match body instead [INFO] [stdout] | [INFO] [stdout] 350 ~ { [INFO] [stdout] 351 + self.write_u8(intern, addr + 0, low); [INFO] [stdout] 352 + self.write_u8(intern, addr + 1, high); [INFO] [stdout] 353 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:352:39 [INFO] [stdout] | [INFO] [stdout] 352 | self.write_u8(intern, addr + 0, low); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `addr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:410:49 [INFO] [stdout] | [INFO] [stdout] 410 | self.dma[offset + 0] = ((val >> 0) & 0xFF) as u8; [INFO] [stdout] | ^^^^^^^^^^ help: consider reducing it to: `val` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:410:34 [INFO] [stdout] | [INFO] [stdout] 410 | self.dma[offset + 0] = ((val >> 0) & 0xFF) as u8; [INFO] [stdout] | ^^^^^^^^^^ help: consider reducing it to: `offset` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:415:49 [INFO] [stdout] | [INFO] [stdout] 415 | self.dma[offset + 0] = ((val >> 0) & 0xFF) as u8; [INFO] [stdout] | ^^^^^^^^^^ help: consider reducing it to: `val` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:415:34 [INFO] [stdout] | [INFO] [stdout] 415 | self.dma[offset + 0] = ((val >> 0) & 0xFF) as u8; [INFO] [stdout] | ^^^^^^^^^^ help: consider reducing it to: `offset` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/cpu.rs:1166:12 [INFO] [stdout] | [INFO] [stdout] 1166 | if count % 8 != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace with: `!count.is_multiple_of(8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:483:39 [INFO] [stdout] | [INFO] [stdout] 483 | self.write_u8(intern, addr + 0, b0); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `addr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/cpu.rs:627:37 [INFO] [stdout] | [INFO] [stdout] 627 | pub fn load_rom(&mut self, rom: &Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 627 - pub fn load_rom(&mut self, rom: &Vec) { [INFO] [stdout] 627 + pub fn load_rom(&mut self, rom: &[u8]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/cpu.rs:631:39 [INFO] [stdout] | [INFO] [stdout] 631 | pub fn load_bios(&mut self, bios: &Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 631 - pub fn load_bios(&mut self, bios: &Vec) { [INFO] [stdout] 631 + pub fn load_bios(&mut self, bios: &[u8]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:906:39 [INFO] [stdout] | [INFO] [stdout] 906 | let src = self.read_u32(true, addr_base + reg_offset + 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `(addr_base + reg_offset)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless parenthesis on range literals can be removed [INFO] [stdout] --> src/cpu.rs:1005:25 [INFO] [stdout] | [INFO] [stdout] 1005 | for i in 0..(0x7E00) { [INFO] [stdout] | ^^^^^^^^ help: try: `0x7E00` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_parens_on_range_literals [INFO] [stdout] = note: `#[warn(clippy::needless_parens_on_range_literals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/cpu.rs:1757:56 [INFO] [stdout] | [INFO] [stdout] 1757 | let addr = self.read_register(rb).wrapping_add(offset as u32); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `offset` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/cpu.rs:1166:12 [INFO] [stdout] | [INFO] [stdout] 1166 | if count % 8 != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace with: `!count.is_multiple_of(8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/cpu.rs:1871:22 [INFO] [stdout] | [INFO] [stdout] 1871 | let r_list = (opcode & 0xFF) as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `(opcode & 0xFF)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/cpu.rs:1921:22 [INFO] [stdout] | [INFO] [stdout] 1921 | let r_list = (opcode & 0xFF) as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `(opcode & 0xFF)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for an equality check. Consider using `if` [INFO] [stdout] --> src/cpu.rs:2153:9 [INFO] [stdout] | [INFO] [stdout] 2153 | / match op { [INFO] [stdout] 2154 | | ALU_TST => return self.alu_tst(operand1, operand2), [INFO] [stdout] 2155 | | _ => {} [INFO] [stdout] 2156 | | } [INFO] [stdout] | |_________^ help: try: `if op == ALU_TST { return self.alu_tst(operand1, operand2) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/cpu.rs:2501:29 [INFO] [stdout] | [INFO] [stdout] 2501 | if set_condition || (op >= 0x8 && op <= 0xB) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(0x8..=0xB).contains(&op)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `!RangeInclusive::contains` implementation [INFO] [stdout] --> src/cpu.rs:2525:12 [INFO] [stdout] | [INFO] [stdout] 2525 | if op < 0x8 || op > 0xB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use: `!(0x8..=0xB).contains(&op)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/cpu.rs:1757:56 [INFO] [stdout] | [INFO] [stdout] 1757 | let addr = self.read_register(rb).wrapping_add(offset as u32); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `offset` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/cpu.rs:1871:22 [INFO] [stdout] | [INFO] [stdout] 1871 | let r_list = (opcode & 0xFF) as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `(opcode & 0xFF)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/cpu.rs:2780:5 [INFO] [stdout] | [INFO] [stdout] 2780 | / fn operation_ldr_str( [INFO] [stdout] 2781 | | &mut self, [INFO] [stdout] 2782 | | r_dest: u8, [INFO] [stdout] 2783 | | r_base: u8, [INFO] [stdout] ... | [INFO] [stdout] 2790 | | reg: bool, [INFO] [stdout] 2791 | | ) { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/cpu.rs:2811:32 [INFO] [stdout] | [INFO] [stdout] 2811 | self.read_register(r_base as u8) [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `r_base` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/cpu.rs:2827:33 [INFO] [stdout] | [INFO] [stdout] 2827 | self.write_register(r_dest as u8, val); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `r_dest` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/cpu.rs:2829:42 [INFO] [stdout] | [INFO] [stdout] 2829 | let val = self.read_register(r_dest as u8); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `r_dest` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> src/cpu.rs:1921:22 [INFO] [stdout] | [INFO] [stdout] 1921 | let r_list = (opcode & 0xFF) as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `(opcode & 0xFF)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/cpu.rs:2840:33 [INFO] [stdout] | [INFO] [stdout] 2840 | self.write_register(r_base as u8, offsetted_addr); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `r_base` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/cpu.rs:2858:5 [INFO] [stdout] | [INFO] [stdout] 2858 | / fn operation_ldm_stm( [INFO] [stdout] 2859 | | &mut self, [INFO] [stdout] 2860 | | r_base: u8, [INFO] [stdout] 2861 | | r_list: u16, [INFO] [stdout] ... | [INFO] [stdout] 2866 | | s_bit: bool, [INFO] [stdout] 2867 | | ) { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `Range::contains` implementation [INFO] [stdout] --> src/cpu.rs:2952:27 [INFO] [stdout] | [INFO] [stdout] 2952 | let m_cycles = if -(1 << 8) <= rs_sign && rs_sign < (1 << 8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(-(1 << 8)..(1 << 8)).contains(&rs_sign)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `Range::contains` implementation [INFO] [stdout] --> src/cpu.rs:2954:19 [INFO] [stdout] | [INFO] [stdout] 2954 | } else if -(1 << 16) <= rs_sign && rs_sign < (1 << 16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(-(1 << 16)..(1 << 16)).contains(&rs_sign)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `Range::contains` implementation [INFO] [stdout] --> src/cpu.rs:2956:19 [INFO] [stdout] | [INFO] [stdout] 2956 | } else if -(1 << 24) <= rs_sign && rs_sign < (1 << 24) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(-(1 << 24)..(1 << 24)).contains(&rs_sign)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for an equality check. Consider using `if` [INFO] [stdout] --> src/cpu.rs:2153:9 [INFO] [stdout] | [INFO] [stdout] 2153 | / match op { [INFO] [stdout] 2154 | | ALU_TST => return self.alu_tst(operand1, operand2), [INFO] [stdout] 2155 | | _ => {} [INFO] [stdout] 2156 | | } [INFO] [stdout] | |_________^ help: try: `if op == ALU_TST { return self.alu_tst(operand1, operand2) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3075:51 [INFO] [stdout] | [INFO] [stdout] 3075 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3076:47 [INFO] [stdout] | [INFO] [stdout] 3076 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3091:51 [INFO] [stdout] | [INFO] [stdout] 3091 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3092:47 [INFO] [stdout] | [INFO] [stdout] 3092 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3107:9 [INFO] [stdout] | [INFO] [stdout] 3107 | assert_eq!(cpu.get_flag_n(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3107 - assert_eq!(cpu.get_flag_n(), false); [INFO] [stdout] 3107 + assert!(!cpu.get_flag_n()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3108:9 [INFO] [stdout] | [INFO] [stdout] 3108 | assert_eq!(cpu.get_flag_z(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3108 - assert_eq!(cpu.get_flag_z(), false); [INFO] [stdout] 3108 + assert!(!cpu.get_flag_z()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3109:9 [INFO] [stdout] | [INFO] [stdout] 3109 | assert_eq!(cpu.get_flag_c(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3109 - assert_eq!(cpu.get_flag_c(), false); [INFO] [stdout] 3109 + assert!(!cpu.get_flag_c()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3110:9 [INFO] [stdout] | [INFO] [stdout] 3110 | assert_eq!(cpu.get_flag_v(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3110 - assert_eq!(cpu.get_flag_v(), false); [INFO] [stdout] 3110 + assert!(!cpu.get_flag_v()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3117:9 [INFO] [stdout] | [INFO] [stdout] 3117 | assert_eq!(cpu.get_flag_n(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3117 - assert_eq!(cpu.get_flag_n(), false); [INFO] [stdout] 3117 + assert!(!cpu.get_flag_n()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3118:9 [INFO] [stdout] | [INFO] [stdout] 3118 | assert_eq!(cpu.get_flag_z(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3118 - assert_eq!(cpu.get_flag_z(), true); [INFO] [stdout] 3118 + assert!(cpu.get_flag_z()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3119:9 [INFO] [stdout] | [INFO] [stdout] 3119 | assert_eq!(cpu.get_flag_c(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3119 - assert_eq!(cpu.get_flag_c(), true); [INFO] [stdout] 3119 + assert!(cpu.get_flag_c()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3120:9 [INFO] [stdout] | [INFO] [stdout] 3120 | assert_eq!(cpu.get_flag_v(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3120 - assert_eq!(cpu.get_flag_v(), false); [INFO] [stdout] 3120 + assert!(!cpu.get_flag_v()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3126:9 [INFO] [stdout] | [INFO] [stdout] 3126 | assert_eq!(cpu.get_flag_n(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3126 - assert_eq!(cpu.get_flag_n(), false); [INFO] [stdout] 3126 + assert!(!cpu.get_flag_n()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3127:9 [INFO] [stdout] | [INFO] [stdout] 3127 | assert_eq!(cpu.get_flag_z(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3127 - assert_eq!(cpu.get_flag_z(), false); [INFO] [stdout] 3127 + assert!(!cpu.get_flag_z()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3128:9 [INFO] [stdout] | [INFO] [stdout] 3128 | assert_eq!(cpu.get_flag_c(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3128 - assert_eq!(cpu.get_flag_c(), false); [INFO] [stdout] 3128 + assert!(!cpu.get_flag_c()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3129:9 [INFO] [stdout] | [INFO] [stdout] 3129 | assert_eq!(cpu.get_flag_v(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3129 - assert_eq!(cpu.get_flag_v(), false); [INFO] [stdout] 3129 + assert!(!cpu.get_flag_v()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3135:9 [INFO] [stdout] | [INFO] [stdout] 3135 | assert_eq!(cpu.get_flag_n(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3135 - assert_eq!(cpu.get_flag_n(), false); [INFO] [stdout] 3135 + assert!(!cpu.get_flag_n()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3136:9 [INFO] [stdout] | [INFO] [stdout] 3136 | assert_eq!(cpu.get_flag_z(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3136 - assert_eq!(cpu.get_flag_z(), false); [INFO] [stdout] 3136 + assert!(!cpu.get_flag_z()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3137:9 [INFO] [stdout] | [INFO] [stdout] 3137 | assert_eq!(cpu.get_flag_c(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3137 - assert_eq!(cpu.get_flag_c(), false); [INFO] [stdout] 3137 + assert!(!cpu.get_flag_c()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3138:9 [INFO] [stdout] | [INFO] [stdout] 3138 | assert_eq!(cpu.get_flag_v(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3138 - assert_eq!(cpu.get_flag_v(), false); [INFO] [stdout] 3138 + assert!(!cpu.get_flag_v()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3145:9 [INFO] [stdout] | [INFO] [stdout] 3145 | assert_eq!(cpu.get_flag_n(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3145 - assert_eq!(cpu.get_flag_n(), true); [INFO] [stdout] 3145 + assert!(cpu.get_flag_n()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3146:9 [INFO] [stdout] | [INFO] [stdout] 3146 | assert_eq!(cpu.get_flag_z(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3146 - assert_eq!(cpu.get_flag_z(), false); [INFO] [stdout] 3146 + assert!(!cpu.get_flag_z()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3147:9 [INFO] [stdout] | [INFO] [stdout] 3147 | assert_eq!(cpu.get_flag_c(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3147 - assert_eq!(cpu.get_flag_c(), false); [INFO] [stdout] 3147 + assert!(!cpu.get_flag_c()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3148:9 [INFO] [stdout] | [INFO] [stdout] 3148 | assert_eq!(cpu.get_flag_v(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3148 - assert_eq!(cpu.get_flag_v(), false); [INFO] [stdout] 3148 + assert!(!cpu.get_flag_v()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3155:51 [INFO] [stdout] | [INFO] [stdout] 3155 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3156:47 [INFO] [stdout] | [INFO] [stdout] 3156 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3207:9 [INFO] [stdout] | [INFO] [stdout] 3207 | assert_eq!(cpu.get_flag_n(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3207 - assert_eq!(cpu.get_flag_n(), true); [INFO] [stdout] 3207 + assert!(cpu.get_flag_n()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3208:9 [INFO] [stdout] | [INFO] [stdout] 3208 | assert_eq!(cpu.get_flag_z(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3208 - assert_eq!(cpu.get_flag_z(), false); [INFO] [stdout] 3208 + assert!(!cpu.get_flag_z()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3209:9 [INFO] [stdout] | [INFO] [stdout] 3209 | assert_eq!(cpu.get_flag_c(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3209 - assert_eq!(cpu.get_flag_c(), false); [INFO] [stdout] 3209 + assert!(!cpu.get_flag_c()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3210:9 [INFO] [stdout] | [INFO] [stdout] 3210 | assert_eq!(cpu.get_flag_v(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3210 - assert_eq!(cpu.get_flag_v(), false); [INFO] [stdout] 3210 + assert!(!cpu.get_flag_v()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3217:9 [INFO] [stdout] | [INFO] [stdout] 3217 | assert_eq!(cpu.get_flag_n(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3217 - assert_eq!(cpu.get_flag_n(), false); [INFO] [stdout] 3217 + assert!(!cpu.get_flag_n()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3218:9 [INFO] [stdout] | [INFO] [stdout] 3218 | assert_eq!(cpu.get_flag_z(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3218 - assert_eq!(cpu.get_flag_z(), true); [INFO] [stdout] 3218 + assert!(cpu.get_flag_z()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3219:9 [INFO] [stdout] | [INFO] [stdout] 3219 | assert_eq!(cpu.get_flag_c(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3219 - assert_eq!(cpu.get_flag_c(), false); [INFO] [stdout] 3219 + assert!(!cpu.get_flag_c()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3220:9 [INFO] [stdout] | [INFO] [stdout] 3220 | assert_eq!(cpu.get_flag_v(), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3220 - assert_eq!(cpu.get_flag_v(), false); [INFO] [stdout] 3220 + assert!(!cpu.get_flag_v()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3227:9 [INFO] [stdout] | [INFO] [stdout] 3227 | assert_eq!(cpu.get_flag_z(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3227 - assert_eq!(cpu.get_flag_z(), true); [INFO] [stdout] 3227 + assert!(cpu.get_flag_z()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/cpu.rs:3228:9 [INFO] [stdout] | [INFO] [stdout] 3228 | assert_eq!(cpu.get_flag_c(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 3228 - assert_eq!(cpu.get_flag_c(), true); [INFO] [stdout] 3228 + assert!(cpu.get_flag_c()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/cpu.rs:2501:29 [INFO] [stdout] | [INFO] [stdout] 2501 | if set_condition || (op >= 0x8 && op <= 0xB) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(0x8..=0xB).contains(&op)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `!RangeInclusive::contains` implementation [INFO] [stdout] --> src/cpu.rs:2525:12 [INFO] [stdout] | [INFO] [stdout] 2525 | if op < 0x8 || op > 0xB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use: `!(0x8..=0xB).contains(&op)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3235:51 [INFO] [stdout] | [INFO] [stdout] 3235 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3236:47 [INFO] [stdout] | [INFO] [stdout] 3236 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3261:27 [INFO] [stdout] | [INFO] [stdout] 3261 | cpu.execute_thumb(opcode_mov | 0); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `opcode_mov` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3283:27 [INFO] [stdout] | [INFO] [stdout] 3283 | cpu.execute_thumb(opcode_add | 0); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider reducing it to: `opcode_add` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3315:51 [INFO] [stdout] | [INFO] [stdout] 3315 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3316:47 [INFO] [stdout] | [INFO] [stdout] 3316 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3342:51 [INFO] [stdout] | [INFO] [stdout] 3342 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3343:47 [INFO] [stdout] | [INFO] [stdout] 3343 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3439:51 [INFO] [stdout] | [INFO] [stdout] 3439 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3440:47 [INFO] [stdout] | [INFO] [stdout] 3440 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/cpu.rs:2780:5 [INFO] [stdout] | [INFO] [stdout] 2780 | / fn operation_ldr_str( [INFO] [stdout] 2781 | | &mut self, [INFO] [stdout] 2782 | | r_dest: u8, [INFO] [stdout] 2783 | | r_base: u8, [INFO] [stdout] ... | [INFO] [stdout] 2790 | | reg: bool, [INFO] [stdout] 2791 | | ) { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/cpu.rs:2811:32 [INFO] [stdout] | [INFO] [stdout] 2811 | self.read_register(r_base as u8) [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `r_base` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/cpu.rs:2827:33 [INFO] [stdout] | [INFO] [stdout] 2827 | self.write_register(r_dest as u8, val); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `r_dest` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/cpu.rs:2829:42 [INFO] [stdout] | [INFO] [stdout] 2829 | let val = self.read_register(r_dest as u8); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `r_dest` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/cpu.rs:2840:33 [INFO] [stdout] | [INFO] [stdout] 2840 | self.write_register(r_base as u8, offsetted_addr); [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `r_base` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/cpu.rs:2858:5 [INFO] [stdout] | [INFO] [stdout] 2858 | / fn operation_ldm_stm( [INFO] [stdout] 2859 | | &mut self, [INFO] [stdout] 2860 | | r_base: u8, [INFO] [stdout] 2861 | | r_list: u16, [INFO] [stdout] ... | [INFO] [stdout] 2866 | | s_bit: bool, [INFO] [stdout] 2867 | | ) { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3479:51 [INFO] [stdout] | [INFO] [stdout] 3479 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3480:47 [INFO] [stdout] | [INFO] [stdout] 3480 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3500:51 [INFO] [stdout] | [INFO] [stdout] 3500 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3501:47 [INFO] [stdout] | [INFO] [stdout] 3501 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `Range::contains` implementation [INFO] [stdout] --> src/cpu.rs:2952:27 [INFO] [stdout] | [INFO] [stdout] 2952 | let m_cycles = if -(1 << 8) <= rs_sign && rs_sign < (1 << 8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(-(1 << 8)..(1 << 8)).contains(&rs_sign)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `Range::contains` implementation [INFO] [stdout] --> src/cpu.rs:2954:19 [INFO] [stdout] | [INFO] [stdout] 2954 | } else if -(1 << 16) <= rs_sign && rs_sign < (1 << 16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(-(1 << 16)..(1 << 16)).contains(&rs_sign)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `Range::contains` implementation [INFO] [stdout] --> src/cpu.rs:2956:19 [INFO] [stdout] | [INFO] [stdout] 2956 | } else if -(1 << 24) <= rs_sign && rs_sign < (1 << 24) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(-(1 << 24)..(1 << 24)).contains(&rs_sign)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3551:51 [INFO] [stdout] | [INFO] [stdout] 3551 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3552:47 [INFO] [stdout] | [INFO] [stdout] 3552 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3604:51 [INFO] [stdout] | [INFO] [stdout] 3604 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3605:47 [INFO] [stdout] | [INFO] [stdout] 3605 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3656:51 [INFO] [stdout] | [INFO] [stdout] 3656 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `RAM` contains a capitalized acronym [INFO] [stdout] --> src/debugger.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | RAM, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Ram` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `LOG` contains a capitalized acronym [INFO] [stdout] --> src/debugger.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | LOG, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Log` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3657:47 [INFO] [stdout] | [INFO] [stdout] 3657 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `GAME` contains a capitalized acronym [INFO] [stdout] --> src/debugger.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | GAME, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Game` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `DEBUGGER` contains a capitalized acronym [INFO] [stdout] --> src/debugger.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | DEBUGGER, [INFO] [stdout] | ^^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Debugger` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3687:51 [INFO] [stdout] | [INFO] [stdout] 3687 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3688:47 [INFO] [stdout] | [INFO] [stdout] 3688 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3716:51 [INFO] [stdout] | [INFO] [stdout] 3716 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3717:47 [INFO] [stdout] | [INFO] [stdout] 3717 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3750:51 [INFO] [stdout] | [INFO] [stdout] 3750 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3751:47 [INFO] [stdout] | [INFO] [stdout] 3751 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3776:51 [INFO] [stdout] | [INFO] [stdout] 3776 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3777:47 [INFO] [stdout] | [INFO] [stdout] 3777 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/debugger.rs:457:9 [INFO] [stdout] | [INFO] [stdout] 457 | regs.push_str("N"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `regs.push('N')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] = note: `#[warn(clippy::single_char_add_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/debugger.rs:460:9 [INFO] [stdout] | [INFO] [stdout] 460 | regs.push_str("Z"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `regs.push('Z')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/debugger.rs:463:9 [INFO] [stdout] | [INFO] [stdout] 463 | regs.push_str("C"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `regs.push('C')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/debugger.rs:466:9 [INFO] [stdout] | [INFO] [stdout] 466 | regs.push_str("V"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `regs.push('V')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/debugger.rs:468:5 [INFO] [stdout] | [INFO] [stdout] 468 | regs.push_str("\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `regs.push('\n')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/debugger.rs:503:21 [INFO] [stdout] | [INFO] [stdout] 503 | fmt.push_str(" "); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `fmt.push(' ')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/debugger.rs:516:9 [INFO] [stdout] | [INFO] [stdout] 516 | fmt.push_str("\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `fmt.push('\n')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3847:51 [INFO] [stdout] | [INFO] [stdout] 3847 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3848:47 [INFO] [stdout] | [INFO] [stdout] 3848 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3881:51 [INFO] [stdout] | [INFO] [stdout] 3881 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3882:47 [INFO] [stdout] | [INFO] [stdout] 3882 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3921:51 [INFO] [stdout] | [INFO] [stdout] 3921 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3922:47 [INFO] [stdout] | [INFO] [stdout] 3922 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:602:18 [INFO] [stdout] | [INFO] [stdout] 602 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:604:18 [INFO] [stdout] | [INFO] [stdout] 604 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3930:51 [INFO] [stdout] | [INFO] [stdout] 3930 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:605:18 [INFO] [stdout] | [INFO] [stdout] 605 | fmt.push_str(format!("TM0CNT_L│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"TM0CNT_L│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3931:47 [INFO] [stdout] | [INFO] [stdout] 3931 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:606:18 [INFO] [stdout] | [INFO] [stdout] 606 | fmt.push_str(format!("TM0CNT_H│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"TM0CNT_H│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:607:18 [INFO] [stdout] | [INFO] [stdout] 607 | fmt.push_str(format!("TM1CNT_L│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"TM1CNT_L│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:608:18 [INFO] [stdout] | [INFO] [stdout] 608 | fmt.push_str(format!("TM1CNT_H│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"TM1CNT_H│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:609:18 [INFO] [stdout] | [INFO] [stdout] 609 | fmt.push_str(format!("TM2CNT_L│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"TM2CNT_L│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:610:18 [INFO] [stdout] | [INFO] [stdout] 610 | fmt.push_str(format!("TM2CNT_H│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"TM2CNT_H│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:611:18 [INFO] [stdout] | [INFO] [stdout] 611 | fmt.push_str(format!("TM3CNT_L│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"TM3CNT_L│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:612:18 [INFO] [stdout] | [INFO] [stdout] 612 | fmt.push_str(format!("TM3CNT_H│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"TM3CNT_H│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3956:51 [INFO] [stdout] | [INFO] [stdout] 3956 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:613:18 [INFO] [stdout] | [INFO] [stdout] 613 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:3957:47 [INFO] [stdout] | [INFO] [stdout] 3957 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:616:18 [INFO] [stdout] | [INFO] [stdout] 616 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:619:18 [INFO] [stdout] | [INFO] [stdout] 619 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:620:18 [INFO] [stdout] | [INFO] [stdout] 620 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:628:18 [INFO] [stdout] | [INFO] [stdout] 628 | fmt.push_str(format!("SOUND1CNT_L│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"SOUND1CNT_L│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:629:18 [INFO] [stdout] | [INFO] [stdout] 629 | fmt.push_str(format!("SOUND1CNT_H│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"SOUND1CNT_H│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:630:18 [INFO] [stdout] | [INFO] [stdout] 630 | fmt.push_str(format!("SOUND1CNT_X│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"SOUND1CNT_X│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:631:18 [INFO] [stdout] | [INFO] [stdout] 631 | fmt.push_str(format!("SOUND2CNT_L│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"SOUND2CNT_L│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:632:18 [INFO] [stdout] | [INFO] [stdout] 632 | fmt.push_str(format!("SOUND2CNT_H│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"SOUND2CNT_H│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:633:18 [INFO] [stdout] | [INFO] [stdout] 633 | fmt.push_str(format!("SOUND3CNT_L│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"SOUND3CNT_L│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:4011:51 [INFO] [stdout] | [INFO] [stdout] 4011 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:634:18 [INFO] [stdout] | [INFO] [stdout] 634 | fmt.push_str(format!("SOUND3CNT_H│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"SOUND3CNT_H│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:4012:47 [INFO] [stdout] | [INFO] [stdout] 4012 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:635:18 [INFO] [stdout] | [INFO] [stdout] 635 | fmt.push_str(format!("SOUND3CNT_X│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"SOUND3CNT_X│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:636:18 [INFO] [stdout] | [INFO] [stdout] 636 | fmt.push_str(format!("SOUND4CNT_L│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"SOUND4CNT_L│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:4032:30 [INFO] [stdout] | [INFO] [stdout] 4032 | cpu.write_u32(false, base_ptr + 0, r0); [INFO] [stdout] | ^^^^^^^^^^^^ help: consider reducing it to: `base_ptr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:637:18 [INFO] [stdout] | [INFO] [stdout] 637 | fmt.push_str(format!("SOUND4CNT_H│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"SOUND4CNT_H│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:4046:51 [INFO] [stdout] | [INFO] [stdout] 4046 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:4047:47 [INFO] [stdout] | [INFO] [stdout] 4047 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:4069:30 [INFO] [stdout] | [INFO] [stdout] 4069 | cpu.write_u32(false, base_ptr + 0, r0); [INFO] [stdout] | ^^^^^^^^^^^^ help: consider reducing it to: `base_ptr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:4082:51 [INFO] [stdout] | [INFO] [stdout] 4082 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:4083:47 [INFO] [stdout] | [INFO] [stdout] 4083 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `i32` is unnecessary [INFO] [stdout] --> src/cpu.rs:4086:31 [INFO] [stdout] | [INFO] [stdout] 4086 | cpu.write_register(0, (-1234 as i32) as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `-1234_i32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `i32` is unnecessary [INFO] [stdout] --> src/cpu.rs:4087:31 [INFO] [stdout] | [INFO] [stdout] 4087 | cpu.write_register(1, (10 as i32) as u32); [INFO] [stdout] | ^^^^^^^^^^^ help: try: `10_i32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:4097:51 [INFO] [stdout] | [INFO] [stdout] 4097 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:4098:47 [INFO] [stdout] | [INFO] [stdout] 4098 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:638:18 [INFO] [stdout] | [INFO] [stdout] 638 | fmt.push_str(format!(" SOUNDCNT_L│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" SOUNDCNT_L│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:639:18 [INFO] [stdout] | [INFO] [stdout] 639 | fmt.push_str(format!(" SOUNDCNT_H│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" SOUNDCNT_H│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:640:18 [INFO] [stdout] | [INFO] [stdout] 640 | fmt.push_str(format!(" SOUNDCNT_X│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" SOUNDCNT_X│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:641:18 [INFO] [stdout] | [INFO] [stdout] 641 | fmt.push_str(format!(" SOUNDBIAS│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" SOUNDBIAS│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:642:18 [INFO] [stdout] | [INFO] [stdout] 642 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:643:18 [INFO] [stdout] | [INFO] [stdout] 643 | fmt.push_str(format!(" WAVE_RAM│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" WAVE_RAM│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:4113:51 [INFO] [stdout] | [INFO] [stdout] 4113 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:644:18 [INFO] [stdout] | [INFO] [stdout] 644 | fmt.push_str(format!(" FIFO_A│ ????????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" FIFO_A│ ????????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:645:18 [INFO] [stdout] | [INFO] [stdout] 645 | fmt.push_str(format!(" FIFO_B│ ????????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" FIFO_B│ ????????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:646:18 [INFO] [stdout] | [INFO] [stdout] 646 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:647:18 [INFO] [stdout] | [INFO] [stdout] 647 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:648:18 [INFO] [stdout] | [INFO] [stdout] 648 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:4114:47 [INFO] [stdout] | [INFO] [stdout] 4114 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:649:18 [INFO] [stdout] | [INFO] [stdout] 649 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:684:18 [INFO] [stdout] | [INFO] [stdout] 684 | fmt.push_str(format!(" BG2 PA,PB│ ????h,????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" BG2 PA,PB│ ????h,????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:685:18 [INFO] [stdout] | [INFO] [stdout] 685 | fmt.push_str(format!(" BG2 PC,PD│ ????h,????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" BG2 PC,PD│ ????h,????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:686:18 [INFO] [stdout] | [INFO] [stdout] 686 | fmt.push_str(format!(" BG2X│ ????????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" BG2X│ ????????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:687:18 [INFO] [stdout] | [INFO] [stdout] 687 | fmt.push_str(format!(" BG2Y│ ????????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" BG2Y│ ????????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:688:18 [INFO] [stdout] | [INFO] [stdout] 688 | fmt.push_str(format!(" BG3 PA,PB│ ????h,????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" BG3 PA,PB│ ????h,????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:689:18 [INFO] [stdout] | [INFO] [stdout] 689 | fmt.push_str(format!(" BG3 PC,PD│ ????h,????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" BG3 PC,PD│ ????h,????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:690:18 [INFO] [stdout] | [INFO] [stdout] 690 | fmt.push_str(format!(" BG3X│ ????????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" BG3X│ ????????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:691:18 [INFO] [stdout] | [INFO] [stdout] 691 | fmt.push_str(format!(" BG3Y│ ????????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" BG3Y│ ????????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:4130:51 [INFO] [stdout] | [INFO] [stdout] 4130 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:4131:47 [INFO] [stdout] | [INFO] [stdout] 4131 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:710:18 [INFO] [stdout] | [INFO] [stdout] 710 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:4154:51 [INFO] [stdout] | [INFO] [stdout] 4154 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:4155:47 [INFO] [stdout] | [INFO] [stdout] 4155 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:716:18 [INFO] [stdout] | [INFO] [stdout] 716 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:717:18 [INFO] [stdout] | [INFO] [stdout] 717 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:718:18 [INFO] [stdout] | [INFO] [stdout] 718 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:719:18 [INFO] [stdout] | [INFO] [stdout] 719 | fmt.push_str(format!("─LCD──────────────────\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"─LCD──────────────────\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:4186:51 [INFO] [stdout] | [INFO] [stdout] 4186 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:4187:47 [INFO] [stdout] | [INFO] [stdout] 4187 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:4200:51 [INFO] [stdout] | [INFO] [stdout] 4200 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:4201:47 [INFO] [stdout] | [INFO] [stdout] 4201 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:4233:51 [INFO] [stdout] | [INFO] [stdout] 4233 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:4234:47 [INFO] [stdout] | [INFO] [stdout] 4234 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/cpu.rs:4262:48 [INFO] [stdout] | [INFO] [stdout] 4262 | assert_eq!(result, rm_val.rotate_right(shift_amount as u32)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `shift_amount` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:4268:51 [INFO] [stdout] | [INFO] [stdout] 4268 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:4269:47 [INFO] [stdout] | [INFO] [stdout] 4269 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/disassembler.rs:78:21 [INFO] [stdout] | [INFO] [stdout] 78 | asm.push_str("S"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `asm.push('S')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/disassembler.rs:82:30 [INFO] [stdout] | [INFO] [stdout] 82 | false => asm.push_str("B"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `asm.push('B')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/disassembler.rs:83:29 [INFO] [stdout] | [INFO] [stdout] 83 | true => asm.push_str("H"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `asm.push('H')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:4308:51 [INFO] [stdout] | [INFO] [stdout] 4308 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/cpu.rs:4309:47 [INFO] [stdout] | [INFO] [stdout] 4309 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `RAM` contains a capitalized acronym [INFO] [stdout] --> src/debugger.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | RAM, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Ram` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `LOG` contains a capitalized acronym [INFO] [stdout] --> src/debugger.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | LOG, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Log` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `GAME` contains a capitalized acronym [INFO] [stdout] --> src/debugger.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | GAME, [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Game` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/disassembler.rs:96:21 [INFO] [stdout] | [INFO] [stdout] 96 | asm.push_str("!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `asm.push('!')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `DEBUGGER` contains a capitalized acronym [INFO] [stdout] --> src/debugger.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | DEBUGGER, [INFO] [stdout] | ^^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Debugger` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/disassembler.rs:100:21 [INFO] [stdout] | [INFO] [stdout] 100 | format!("{asm}"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `asm.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/disassembler.rs:177:21 [INFO] [stdout] | [INFO] [stdout] 177 | res.push_str("B"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `res.push('B')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/disassembler.rs:197:21 [INFO] [stdout] | [INFO] [stdout] 197 | res.push_str("!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `res.push('!')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/debugger.rs:457:9 [INFO] [stdout] | [INFO] [stdout] 457 | regs.push_str("N"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `regs.push('N')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] = note: `#[warn(clippy::single_char_add_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/debugger.rs:460:9 [INFO] [stdout] | [INFO] [stdout] 460 | regs.push_str("Z"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `regs.push('Z')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/debugger.rs:463:9 [INFO] [stdout] | [INFO] [stdout] 463 | regs.push_str("C"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `regs.push('C')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/debugger.rs:466:9 [INFO] [stdout] | [INFO] [stdout] 466 | regs.push_str("V"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `regs.push('V')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/debugger.rs:468:5 [INFO] [stdout] | [INFO] [stdout] 468 | regs.push_str("\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `regs.push('\n')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/debugger.rs:503:21 [INFO] [stdout] | [INFO] [stdout] 503 | fmt.push_str(" "); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `fmt.push(' ')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/debugger.rs:516:9 [INFO] [stdout] | [INFO] [stdout] 516 | fmt.push_str("\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `fmt.push('\n')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:602:18 [INFO] [stdout] | [INFO] [stdout] 602 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:604:18 [INFO] [stdout] | [INFO] [stdout] 604 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:605:18 [INFO] [stdout] | [INFO] [stdout] 605 | fmt.push_str(format!("TM0CNT_L│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"TM0CNT_L│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:606:18 [INFO] [stdout] | [INFO] [stdout] 606 | fmt.push_str(format!("TM0CNT_H│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"TM0CNT_H│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:607:18 [INFO] [stdout] | [INFO] [stdout] 607 | fmt.push_str(format!("TM1CNT_L│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"TM1CNT_L│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:608:18 [INFO] [stdout] | [INFO] [stdout] 608 | fmt.push_str(format!("TM1CNT_H│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"TM1CNT_H│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:609:18 [INFO] [stdout] | [INFO] [stdout] 609 | fmt.push_str(format!("TM2CNT_L│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"TM2CNT_L│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:610:18 [INFO] [stdout] | [INFO] [stdout] 610 | fmt.push_str(format!("TM2CNT_H│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"TM2CNT_H│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:611:18 [INFO] [stdout] | [INFO] [stdout] 611 | fmt.push_str(format!("TM3CNT_L│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"TM3CNT_L│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:612:18 [INFO] [stdout] | [INFO] [stdout] 612 | fmt.push_str(format!("TM3CNT_H│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"TM3CNT_H│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:613:18 [INFO] [stdout] | [INFO] [stdout] 613 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:616:18 [INFO] [stdout] | [INFO] [stdout] 616 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:619:18 [INFO] [stdout] | [INFO] [stdout] 619 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:620:18 [INFO] [stdout] | [INFO] [stdout] 620 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:628:18 [INFO] [stdout] | [INFO] [stdout] 628 | fmt.push_str(format!("SOUND1CNT_L│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"SOUND1CNT_L│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:629:18 [INFO] [stdout] | [INFO] [stdout] 629 | fmt.push_str(format!("SOUND1CNT_H│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"SOUND1CNT_H│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:630:18 [INFO] [stdout] | [INFO] [stdout] 630 | fmt.push_str(format!("SOUND1CNT_X│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"SOUND1CNT_X│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:631:18 [INFO] [stdout] | [INFO] [stdout] 631 | fmt.push_str(format!("SOUND2CNT_L│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"SOUND2CNT_L│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:632:18 [INFO] [stdout] | [INFO] [stdout] 632 | fmt.push_str(format!("SOUND2CNT_H│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"SOUND2CNT_H│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:633:18 [INFO] [stdout] | [INFO] [stdout] 633 | fmt.push_str(format!("SOUND3CNT_L│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"SOUND3CNT_L│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:634:18 [INFO] [stdout] | [INFO] [stdout] 634 | fmt.push_str(format!("SOUND3CNT_H│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"SOUND3CNT_H│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:635:18 [INFO] [stdout] | [INFO] [stdout] 635 | fmt.push_str(format!("SOUND3CNT_X│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"SOUND3CNT_X│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:636:18 [INFO] [stdout] | [INFO] [stdout] 636 | fmt.push_str(format!("SOUND4CNT_L│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"SOUND4CNT_L│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:637:18 [INFO] [stdout] | [INFO] [stdout] 637 | fmt.push_str(format!("SOUND4CNT_H│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"SOUND4CNT_H│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:638:18 [INFO] [stdout] | [INFO] [stdout] 638 | fmt.push_str(format!(" SOUNDCNT_L│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" SOUNDCNT_L│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:639:18 [INFO] [stdout] | [INFO] [stdout] 639 | fmt.push_str(format!(" SOUNDCNT_H│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" SOUNDCNT_H│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:640:18 [INFO] [stdout] | [INFO] [stdout] 640 | fmt.push_str(format!(" SOUNDCNT_X│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" SOUNDCNT_X│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:641:18 [INFO] [stdout] | [INFO] [stdout] 641 | fmt.push_str(format!(" SOUNDBIAS│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" SOUNDBIAS│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:642:18 [INFO] [stdout] | [INFO] [stdout] 642 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:643:18 [INFO] [stdout] | [INFO] [stdout] 643 | fmt.push_str(format!(" WAVE_RAM│ ????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" WAVE_RAM│ ????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:644:18 [INFO] [stdout] | [INFO] [stdout] 644 | fmt.push_str(format!(" FIFO_A│ ????????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" FIFO_A│ ????????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:645:18 [INFO] [stdout] | [INFO] [stdout] 645 | fmt.push_str(format!(" FIFO_B│ ????????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" FIFO_B│ ????????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:646:18 [INFO] [stdout] | [INFO] [stdout] 646 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:647:18 [INFO] [stdout] | [INFO] [stdout] 647 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:648:18 [INFO] [stdout] | [INFO] [stdout] 648 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:649:18 [INFO] [stdout] | [INFO] [stdout] 649 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/disassembler.rs:523:17 [INFO] [stdout] | [INFO] [stdout] 523 | res.push_str("}"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `res.push('}')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/disassembler.rs:536:13 [INFO] [stdout] | [INFO] [stdout] 536 | rlist_str.push_str("}"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `rlist_str.push('}')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:684:18 [INFO] [stdout] | [INFO] [stdout] 684 | fmt.push_str(format!(" BG2 PA,PB│ ????h,????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" BG2 PA,PB│ ????h,????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:685:18 [INFO] [stdout] | [INFO] [stdout] 685 | fmt.push_str(format!(" BG2 PC,PD│ ????h,????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" BG2 PC,PD│ ????h,????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:686:18 [INFO] [stdout] | [INFO] [stdout] 686 | fmt.push_str(format!(" BG2X│ ????????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" BG2X│ ????????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:687:18 [INFO] [stdout] | [INFO] [stdout] 687 | fmt.push_str(format!(" BG2Y│ ????????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" BG2Y│ ????????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:688:18 [INFO] [stdout] | [INFO] [stdout] 688 | fmt.push_str(format!(" BG3 PA,PB│ ????h,????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" BG3 PA,PB│ ????h,????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:689:18 [INFO] [stdout] | [INFO] [stdout] 689 | fmt.push_str(format!(" BG3 PC,PD│ ????h,????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" BG3 PC,PD│ ????h,????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:690:18 [INFO] [stdout] | [INFO] [stdout] 690 | fmt.push_str(format!(" BG3X│ ????????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" BG3X│ ????????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:691:18 [INFO] [stdout] | [INFO] [stdout] 691 | fmt.push_str(format!(" BG3Y│ ????????h\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" BG3Y│ ????????h\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `RAM` contains a capitalized acronym [INFO] [stdout] --> src/game_window.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | RAM, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Ram` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:710:18 [INFO] [stdout] | [INFO] [stdout] 710 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:716:18 [INFO] [stdout] | [INFO] [stdout] 716 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:717:18 [INFO] [stdout] | [INFO] [stdout] 717 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:718:18 [INFO] [stdout] | [INFO] [stdout] 718 | fmt.push_str(format!(" │\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `" │\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/debugger.rs:719:18 [INFO] [stdout] | [INFO] [stdout] 719 | fmt.push_str(format!("─LCD──────────────────\n").as_str()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"─LCD──────────────────\n".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `LCD` contains a capitalized acronym [INFO] [stdout] --> src/lcd.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct LCD { [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Lcd` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/lcd.rs:107:34 [INFO] [stdout] | [INFO] [stdout] 107 | self.set_dispstat_vblank(inc >= 160 && inc <= 226); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(160..=226).contains(&inc)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/renderer.rs:61:22 [INFO] [stdout] | [INFO] [stdout] 61 | fn get_obj_attr(oam: &Vec, n: usize) -> ObjectAttributes { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 61 - fn get_obj_attr(oam: &Vec, n: usize) -> ObjectAttributes { [INFO] [stdout] 61 + fn get_obj_attr(oam: &[u8], n: usize) -> ObjectAttributes { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/disassembler.rs:78:21 [INFO] [stdout] | [INFO] [stdout] 78 | asm.push_str("S"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `asm.push('S')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/disassembler.rs:82:30 [INFO] [stdout] | [INFO] [stdout] 82 | false => asm.push_str("B"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `asm.push('B')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/renderer.rs:64:55 [INFO] [stdout] | [INFO] [stdout] 64 | attr0: ((oam[offset + 1] as u16) << 8) | (oam[offset + 0] as u16), [INFO] [stdout] | ^^^^^^^^^^ help: consider reducing it to: `offset` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/disassembler.rs:83:29 [INFO] [stdout] | [INFO] [stdout] 83 | true => asm.push_str("H"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `asm.push('H')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/renderer.rs:75:27 [INFO] [stdout] | [INFO] [stdout] 75 | get_obj_attr(oam, offset + 0), [INFO] [stdout] | ^^^^^^^^^^ help: consider reducing it to: `offset` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/disassembler.rs:96:21 [INFO] [stdout] | [INFO] [stdout] 96 | asm.push_str("!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `asm.push('!')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/renderer.rs:93:38 [INFO] [stdout] | [INFO] [stdout] 93 | fn get_sprite_palette_color(palette: &Vec, pixel: u8, color_4bit: bool) -> (u8, u8, u8, u8) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 93 - fn get_sprite_palette_color(palette: &Vec, pixel: u8, color_4bit: bool) -> (u8, u8, u8, u8) { [INFO] [stdout] 93 + fn get_sprite_palette_color(palette: &[u8], pixel: u8, color_4bit: bool) -> (u8, u8, u8, u8) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/disassembler.rs:100:21 [INFO] [stdout] | [INFO] [stdout] 100 | format!("{asm}"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `asm.to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/renderer.rs:105:31 [INFO] [stdout] | [INFO] [stdout] 105 | fn get_palette_color(palette: &Vec, mode: u8, pixel: u8, color_4bit: bool) -> (u8, u8, u8, u8) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 105 - fn get_palette_color(palette: &Vec, mode: u8, pixel: u8, color_4bit: bool) -> (u8, u8, u8, u8) { [INFO] [stdout] 105 + fn get_palette_color(palette: &[u8], mode: u8, pixel: u8, color_4bit: bool) -> (u8, u8, u8, u8) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/renderer.rs:127:1 [INFO] [stdout] | [INFO] [stdout] 127 | / fn draw_tile_4bpp( [INFO] [stdout] 128 | | vram: &Vec, [INFO] [stdout] 129 | | palette: &Vec, [INFO] [stdout] 130 | | buffer: &mut [u8], [INFO] [stdout] ... | [INFO] [stdout] 136 | | sprite: bool, [INFO] [stdout] 137 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/renderer.rs:128:11 [INFO] [stdout] | [INFO] [stdout] 128 | vram: &Vec, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 128 - vram: &Vec, [INFO] [stdout] 128 + vram: &[u8], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `tile_x` is used to index `row` [INFO] [stdout] --> src/renderer.rs:158:23 [INFO] [stdout] | [INFO] [stdout] 158 | for tile_x in 0..tile_width { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 158 - for tile_x in 0..tile_width { [INFO] [stdout] 158 + for (tile_x, ) in row.iter().enumerate().take(tile_width) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/renderer.rs:201:1 [INFO] [stdout] | [INFO] [stdout] 201 | / fn draw_tile_8bpp( [INFO] [stdout] 202 | | vram: &Vec, [INFO] [stdout] 203 | | palette: &Vec, [INFO] [stdout] 204 | | buffer: &mut [u8], [INFO] [stdout] ... | [INFO] [stdout] 209 | | tile: u16, [INFO] [stdout] 210 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/renderer.rs:202:11 [INFO] [stdout] | [INFO] [stdout] 202 | vram: &Vec, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 202 - vram: &Vec, [INFO] [stdout] 202 + vram: &[u8], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `tile_x` is used to index `row` [INFO] [stdout] --> src/renderer.rs:230:23 [INFO] [stdout] | [INFO] [stdout] 230 | for tile_x in 0..tile_width { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 230 - for tile_x in 0..tile_width { [INFO] [stdout] 230 + for (tile_x, ) in row.iter().enumerate().take(tile_width) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/disassembler.rs:177:21 [INFO] [stdout] | [INFO] [stdout] 177 | res.push_str("B"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `res.push('B')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/renderer.rs:249:11 [INFO] [stdout] | [INFO] [stdout] 249 | vram: &Vec, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 249 - vram: &Vec, [INFO] [stdout] 249 + vram: &[u8], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/disassembler.rs:197:21 [INFO] [stdout] | [INFO] [stdout] 197 | res.push_str("!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `res.push('!')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/renderer.rs:413:14 [INFO] [stdout] | [INFO] [stdout] 413 | let b = ((argb >> 0) & 0xFF) as u8; [INFO] [stdout] | ^^^^^^^^^^^ help: consider reducing it to: `argb` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/renderer.rs:435:14 [INFO] [stdout] | [INFO] [stdout] 435 | let b = ((argb >> 0) & 0xFF) as u8; [INFO] [stdout] | ^^^^^^^^^^^ help: consider reducing it to: `argb` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/renderer.rs:468:6 [INFO] [stdout] | [INFO] [stdout] 468 | ) -> ( [INFO] [stdout] | ______^ [INFO] [stdout] 469 | | Option<(Rect, Rect)>, [INFO] [stdout] 470 | | Option<(Rect, Rect)>, [INFO] [stdout] 471 | | Option<(Rect, Rect)>, [INFO] [stdout] 472 | | (Rect, Rect), [INFO] [stdout] 473 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this OR pattern can be rewritten using a range [INFO] [stdout] --> src/renderer.rs:587:9 [INFO] [stdout] | [INFO] [stdout] 587 | 3 | 4 | 5 => (240, 160), [INFO] [stdout] | ^^^^^^^^^ help: try: `3..=5` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_patterns [INFO] [stdout] = note: `#[warn(clippy::manual_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/renderer.rs:592:44 [INFO] [stdout] | [INFO] [stdout] 592 | fn draw_mode3(texture: &mut Texture, vram: &Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 592 - fn draw_mode3(texture: &mut Texture, vram: &Vec) { [INFO] [stdout] 592 + fn draw_mode3(texture: &mut Texture, vram: &[u8]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/renderer.rs:598:32 [INFO] [stdout] | [INFO] [stdout] 598 | let addr = ((x + (y * 240)) * 2) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((x + (y * 240)) * 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/renderer.rs:613:65 [INFO] [stdout] | [INFO] [stdout] 613 | fn draw_mode4(texture: &mut Texture, msg: &RenderMessage, vram: &Vec, palette: &Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 613 - fn draw_mode4(texture: &mut Texture, msg: &RenderMessage, vram: &Vec, palette: &Vec) { [INFO] [stdout] 613 + fn draw_mode4(texture: &mut Texture, msg: &RenderMessage, vram: &[u8], palette: &Vec) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/renderer.rs:641:65 [INFO] [stdout] | [INFO] [stdout] 641 | fn draw_mode5(texture: &mut Texture, msg: &RenderMessage, vram: &Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 641 - fn draw_mode5(texture: &mut Texture, msg: &RenderMessage, vram: &Vec) { [INFO] [stdout] 641 + fn draw_mode5(texture: &mut Texture, msg: &RenderMessage, vram: &[u8]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/renderer.rs:654:43 [INFO] [stdout] | [INFO] [stdout] 654 | let addr = base + ((x + (y * 160)) * 2) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((x + (y * 160)) * 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/renderer.rs:789:21 [INFO] [stdout] | [INFO] [stdout] 789 | &texture, [INFO] [stdout] | ^^^^^^^^ help: change this to: `texture` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/renderer.rs:802:21 [INFO] [stdout] | [INFO] [stdout] 802 | &texture, [INFO] [stdout] | ^^^^^^^^ help: change this to: `texture` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/renderer.rs:815:25 [INFO] [stdout] | [INFO] [stdout] 815 | &texture, [INFO] [stdout] | ^^^^^^^^ help: change this to: `texture` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/renderer.rs:828:25 [INFO] [stdout] | [INFO] [stdout] 828 | &texture, [INFO] [stdout] | ^^^^^^^^ help: change this to: `texture` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/disassembler.rs:523:17 [INFO] [stdout] | [INFO] [stdout] 523 | res.push_str("}"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `res.push('}')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/disassembler.rs:536:13 [INFO] [stdout] | [INFO] [stdout] 536 | rlist_str.push_str("}"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `rlist_str.push('}')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/serial.rs:62:19 [INFO] [stdout] | [INFO] [stdout] 62 | let ptr = (addr - 0x120) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(addr - 0x120)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `RAM` contains a capitalized acronym [INFO] [stdout] --> src/game_window.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | RAM, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Ram` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/serial.rs:101:34 [INFO] [stdout] | [INFO] [stdout] 101 | self.registers_1[ptr + 0] = byte0; [INFO] [stdout] | ^^^^^^^ help: consider reducing it to: `ptr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/serial.rs:105:34 [INFO] [stdout] | [INFO] [stdout] 105 | self.registers_1[ptr + 0] = byte0; [INFO] [stdout] | ^^^^^^^ help: consider reducing it to: `ptr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:306:16 [INFO] [stdout] | [INFO] [stdout] 306 | if !cpu.halt || (cpu.halt && cpu.get_mode() == cpu::MODE_IRQ) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 306 - if !cpu.halt || (cpu.halt && cpu.get_mode() == cpu::MODE_IRQ) { [INFO] [stdout] 306 + if !(cpu.halt && cpu.get_mode() != cpu::MODE_IRQ) { [INFO] [stdout] | [INFO] [stdout] 306 - if !cpu.halt || (cpu.halt && cpu.get_mode() == cpu::MODE_IRQ) { [INFO] [stdout] 306 + if !cpu.halt || cpu.get_mode() == cpu::MODE_IRQ { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/main.rs:42:47 [INFO] [stdout] | [INFO] [stdout] 42 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/main.rs:43:43 [INFO] [stdout] | [INFO] [stdout] 43 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the method `draw` doesn't need a mutable reference [INFO] [stdout] --> src/main.rs:164:14 [INFO] [stdout] | [INFO] [stdout] 164 | dbg.draw(&mut cpu); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] = note: `#[warn(clippy::unnecessary_mut_passed)]` on by default [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 164 - dbg.draw(&mut cpu); [INFO] [stdout] 164 + dbg.draw(&cpu); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the method `draw` doesn't need a mutable reference [INFO] [stdout] --> src/main.rs:211:22 [INFO] [stdout] | [INFO] [stdout] 211 | dbg.draw(&mut cpu); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 211 - dbg.draw(&mut cpu); [INFO] [stdout] 211 + dbg.draw(&cpu); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the method `update` doesn't need a mutable reference [INFO] [stdout] --> src/main.rs:214:26 [INFO] [stdout] | [INFO] [stdout] 214 | match dbg.update(&mut cpu) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 214 - match dbg.update(&mut cpu) { [INFO] [stdout] 214 + match dbg.update(&cpu) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `LCD` contains a capitalized acronym [INFO] [stdout] --> src/lcd.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct LCD { [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Lcd` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/lcd.rs:107:34 [INFO] [stdout] | [INFO] [stdout] 107 | self.set_dispstat_vblank(inc >= 160 && inc <= 226); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(160..=226).contains(&inc)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/renderer.rs:61:22 [INFO] [stdout] | [INFO] [stdout] 61 | fn get_obj_attr(oam: &Vec, n: usize) -> ObjectAttributes { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 61 - fn get_obj_attr(oam: &Vec, n: usize) -> ObjectAttributes { [INFO] [stdout] 61 + fn get_obj_attr(oam: &[u8], n: usize) -> ObjectAttributes { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/renderer.rs:64:55 [INFO] [stdout] | [INFO] [stdout] 64 | attr0: ((oam[offset + 1] as u16) << 8) | (oam[offset + 0] as u16), [INFO] [stdout] | ^^^^^^^^^^ help: consider reducing it to: `offset` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/renderer.rs:75:27 [INFO] [stdout] | [INFO] [stdout] 75 | get_obj_attr(oam, offset + 0), [INFO] [stdout] | ^^^^^^^^^^ help: consider reducing it to: `offset` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/main.rs:396:20 [INFO] [stdout] | [INFO] [stdout] 396 | } else if vcount == 160 { [INFO] [stdout] | ____________________^ [INFO] [stdout] 397 | | if dbg.free_run && cpu.can_irq_trigger(cpu::IRQ_VBLANK) { [INFO] [stdout] ... | [INFO] [stdout] 405 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 396 ~ } else if vcount == 160 [INFO] [stdout] 397 ~ && dbg.free_run && cpu.can_irq_trigger(cpu::IRQ_VBLANK) { [INFO] [stdout] 398 | //dbg.lockstep = true; [INFO] [stdout] ... [INFO] [stdout] 403 | cpu.trigger_irq(cpu::IRQ_VBLANK); [INFO] [stdout] 404 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/renderer.rs:93:38 [INFO] [stdout] | [INFO] [stdout] 93 | fn get_sprite_palette_color(palette: &Vec, pixel: u8, color_4bit: bool) -> (u8, u8, u8, u8) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 93 - fn get_sprite_palette_color(palette: &Vec, pixel: u8, color_4bit: bool) -> (u8, u8, u8, u8) { [INFO] [stdout] 93 + fn get_sprite_palette_color(palette: &[u8], pixel: u8, color_4bit: bool) -> (u8, u8, u8, u8) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/renderer.rs:105:31 [INFO] [stdout] | [INFO] [stdout] 105 | fn get_palette_color(palette: &Vec, mode: u8, pixel: u8, color_4bit: bool) -> (u8, u8, u8, u8) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 105 - fn get_palette_color(palette: &Vec, mode: u8, pixel: u8, color_4bit: bool) -> (u8, u8, u8, u8) { [INFO] [stdout] 105 + fn get_palette_color(palette: &[u8], mode: u8, pixel: u8, color_4bit: bool) -> (u8, u8, u8, u8) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/renderer.rs:127:1 [INFO] [stdout] | [INFO] [stdout] 127 | / fn draw_tile_4bpp( [INFO] [stdout] 128 | | vram: &Vec, [INFO] [stdout] 129 | | palette: &Vec, [INFO] [stdout] 130 | | buffer: &mut [u8], [INFO] [stdout] ... | [INFO] [stdout] 136 | | sprite: bool, [INFO] [stdout] 137 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/renderer.rs:128:11 [INFO] [stdout] | [INFO] [stdout] 128 | vram: &Vec, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 128 - vram: &Vec, [INFO] [stdout] 128 + vram: &[u8], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `tile_x` is used to index `row` [INFO] [stdout] --> src/renderer.rs:158:23 [INFO] [stdout] | [INFO] [stdout] 158 | for tile_x in 0..tile_width { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 158 - for tile_x in 0..tile_width { [INFO] [stdout] 158 + for (tile_x, ) in row.iter().enumerate().take(tile_width) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/renderer.rs:201:1 [INFO] [stdout] | [INFO] [stdout] 201 | / fn draw_tile_8bpp( [INFO] [stdout] 202 | | vram: &Vec, [INFO] [stdout] 203 | | palette: &Vec, [INFO] [stdout] 204 | | buffer: &mut [u8], [INFO] [stdout] ... | [INFO] [stdout] 209 | | tile: u16, [INFO] [stdout] 210 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/renderer.rs:202:11 [INFO] [stdout] | [INFO] [stdout] 202 | vram: &Vec, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 202 - vram: &Vec, [INFO] [stdout] 202 + vram: &[u8], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `tile_x` is used to index `row` [INFO] [stdout] --> src/renderer.rs:230:23 [INFO] [stdout] | [INFO] [stdout] 230 | for tile_x in 0..tile_width { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 230 - for tile_x in 0..tile_width { [INFO] [stdout] 230 + for (tile_x, ) in row.iter().enumerate().take(tile_width) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/renderer.rs:249:11 [INFO] [stdout] | [INFO] [stdout] 249 | vram: &Vec, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 249 - vram: &Vec, [INFO] [stdout] 249 + vram: &[u8], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/renderer.rs:413:14 [INFO] [stdout] | [INFO] [stdout] 413 | let b = ((argb >> 0) & 0xFF) as u8; [INFO] [stdout] | ^^^^^^^^^^^ help: consider reducing it to: `argb` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/renderer.rs:435:14 [INFO] [stdout] | [INFO] [stdout] 435 | let b = ((argb >> 0) & 0xFF) as u8; [INFO] [stdout] | ^^^^^^^^^^^ help: consider reducing it to: `argb` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/renderer.rs:468:6 [INFO] [stdout] | [INFO] [stdout] 468 | ) -> ( [INFO] [stdout] | ______^ [INFO] [stdout] 469 | | Option<(Rect, Rect)>, [INFO] [stdout] 470 | | Option<(Rect, Rect)>, [INFO] [stdout] 471 | | Option<(Rect, Rect)>, [INFO] [stdout] 472 | | (Rect, Rect), [INFO] [stdout] 473 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this OR pattern can be rewritten using a range [INFO] [stdout] --> src/renderer.rs:587:9 [INFO] [stdout] | [INFO] [stdout] 587 | 3 | 4 | 5 => (240, 160), [INFO] [stdout] | ^^^^^^^^^ help: try: `3..=5` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_patterns [INFO] [stdout] = note: `#[warn(clippy::manual_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/renderer.rs:592:44 [INFO] [stdout] | [INFO] [stdout] 592 | fn draw_mode3(texture: &mut Texture, vram: &Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 592 - fn draw_mode3(texture: &mut Texture, vram: &Vec) { [INFO] [stdout] 592 + fn draw_mode3(texture: &mut Texture, vram: &[u8]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/renderer.rs:598:32 [INFO] [stdout] | [INFO] [stdout] 598 | let addr = ((x + (y * 240)) * 2) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((x + (y * 240)) * 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/renderer.rs:613:65 [INFO] [stdout] | [INFO] [stdout] 613 | fn draw_mode4(texture: &mut Texture, msg: &RenderMessage, vram: &Vec, palette: &Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 613 - fn draw_mode4(texture: &mut Texture, msg: &RenderMessage, vram: &Vec, palette: &Vec) { [INFO] [stdout] 613 + fn draw_mode4(texture: &mut Texture, msg: &RenderMessage, vram: &[u8], palette: &Vec) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/renderer.rs:641:65 [INFO] [stdout] | [INFO] [stdout] 641 | fn draw_mode5(texture: &mut Texture, msg: &RenderMessage, vram: &Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 641 - fn draw_mode5(texture: &mut Texture, msg: &RenderMessage, vram: &Vec) { [INFO] [stdout] 641 + fn draw_mode5(texture: &mut Texture, msg: &RenderMessage, vram: &[u8]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/renderer.rs:654:43 [INFO] [stdout] | [INFO] [stdout] 654 | let addr = base + ((x + (y * 160)) * 2) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((x + (y * 160)) * 2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/renderer.rs:789:21 [INFO] [stdout] | [INFO] [stdout] 789 | &texture, [INFO] [stdout] | ^^^^^^^^ help: change this to: `texture` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/renderer.rs:802:21 [INFO] [stdout] | [INFO] [stdout] 802 | &texture, [INFO] [stdout] | ^^^^^^^^ help: change this to: `texture` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/renderer.rs:815:25 [INFO] [stdout] | [INFO] [stdout] 815 | &texture, [INFO] [stdout] | ^^^^^^^^ help: change this to: `texture` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/renderer.rs:828:25 [INFO] [stdout] | [INFO] [stdout] 828 | &texture, [INFO] [stdout] | ^^^^^^^^ help: change this to: `texture` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/serial.rs:62:19 [INFO] [stdout] | [INFO] [stdout] 62 | let ptr = (addr - 0x120) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(addr - 0x120)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/serial.rs:101:34 [INFO] [stdout] | [INFO] [stdout] 101 | self.registers_1[ptr + 0] = byte0; [INFO] [stdout] | ^^^^^^^ help: consider reducing it to: `ptr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/serial.rs:105:34 [INFO] [stdout] | [INFO] [stdout] 105 | self.registers_1[ptr + 0] = byte0; [INFO] [stdout] | ^^^^^^^ help: consider reducing it to: `ptr` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:306:16 [INFO] [stdout] | [INFO] [stdout] 306 | if !cpu.halt || (cpu.halt && cpu.get_mode() == cpu::MODE_IRQ) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 306 - if !cpu.halt || (cpu.halt && cpu.get_mode() == cpu::MODE_IRQ) { [INFO] [stdout] 306 + if !(cpu.halt && cpu.get_mode() != cpu::MODE_IRQ) { [INFO] [stdout] | [INFO] [stdout] 306 - if !cpu.halt || (cpu.halt && cpu.get_mode() == cpu::MODE_IRQ) { [INFO] [stdout] 306 + if !cpu.halt || cpu.get_mode() == cpu::MODE_IRQ { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/main.rs:42:47 [INFO] [stdout] | [INFO] [stdout] 42 | let palette = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/main.rs:43:43 [INFO] [stdout] | [INFO] [stdout] 43 | let oam = Arc::new(Mutex::new(vec![0; 1 * 1024])); [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `1024` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the method `draw` doesn't need a mutable reference [INFO] [stdout] --> src/main.rs:164:14 [INFO] [stdout] | [INFO] [stdout] 164 | dbg.draw(&mut cpu); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] = note: `#[warn(clippy::unnecessary_mut_passed)]` on by default [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 164 - dbg.draw(&mut cpu); [INFO] [stdout] 164 + dbg.draw(&cpu); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the method `draw` doesn't need a mutable reference [INFO] [stdout] --> src/main.rs:211:22 [INFO] [stdout] | [INFO] [stdout] 211 | dbg.draw(&mut cpu); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 211 - dbg.draw(&mut cpu); [INFO] [stdout] 211 + dbg.draw(&cpu); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the method `update` doesn't need a mutable reference [INFO] [stdout] --> src/main.rs:214:26 [INFO] [stdout] | [INFO] [stdout] 214 | match dbg.update(&mut cpu) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 214 - match dbg.update(&mut cpu) { [INFO] [stdout] 214 + match dbg.update(&cpu) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/main.rs:396:20 [INFO] [stdout] | [INFO] [stdout] 396 | } else if vcount == 160 { [INFO] [stdout] | ____________________^ [INFO] [stdout] 397 | | if dbg.free_run && cpu.can_irq_trigger(cpu::IRQ_VBLANK) { [INFO] [stdout] ... | [INFO] [stdout] 405 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 396 ~ } else if vcount == 160 [INFO] [stdout] 397 ~ && dbg.free_run && cpu.can_irq_trigger(cpu::IRQ_VBLANK) { [INFO] [stdout] 398 | //dbg.lockstep = true; [INFO] [stdout] ... [INFO] [stdout] 403 | cpu.trigger_irq(cpu::IRQ_VBLANK); [INFO] [stdout] 404 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.48s [INFO] running `Command { std: "docker" "inspect" "6548de1cfa80bb955b5c9951cc647eda1663ae89eea92364a117ff5a78cbff2d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6548de1cfa80bb955b5c9951cc647eda1663ae89eea92364a117ff5a78cbff2d", kill_on_drop: false }` [INFO] [stdout] 6548de1cfa80bb955b5c9951cc647eda1663ae89eea92364a117ff5a78cbff2d