[INFO] cloning repository https://github.com/iximeow/yaxgbc [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/iximeow/yaxgbc" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fiximeow%2Fyaxgbc", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fiximeow%2Fyaxgbc'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1d3d4b15d1ea8082d140cf8e11a547f1c7f67222 [INFO] checking iximeow/yaxgbc against nightly-2024-02-05 for check-cfg-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fiximeow%2Fyaxgbc" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/iximeow/yaxgbc on toolchain nightly-2024-02-05 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-02-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/iximeow/yaxgbc [INFO] finished tweaking git repo https://github.com/iximeow/yaxgbc [INFO] tweaked toml for git repo https://github.com/iximeow/yaxgbc written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/iximeow/yaxgbc 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-2024-02-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: dependencies.rodio.default-feature [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Updating git repository `https://www.github.com/iximeow/yaxpeax-sm83.git` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded num_enum v0.2.3 [INFO] [stderr] Downloaded yaxpeax-arch v0.2.7 [INFO] [stderr] Downloaded unicode-ident v1.0.6 [INFO] [stderr] Downloaded quad-rand v0.2.1 [INFO] [stderr] Downloaded sapp-jsutils v0.1.5 [INFO] [stderr] Downloaded ecolor v0.21.0 [INFO] [stderr] Downloaded coreaudio-sys v0.2.14 [INFO] [stderr] Downloaded symphonia v0.5.3 [INFO] [stderr] Downloaded atomic_refcell v0.1.10 [INFO] [stderr] Downloaded emath v0.21.0 [INFO] [stderr] Downloaded egui-miniquad v0.14.0 [INFO] [stderr] Downloaded getrandom v0.2.8 [INFO] [stderr] Downloaded claxon v0.4.3 [INFO] [stderr] Downloaded epaint v0.21.0 [INFO] [stderr] Downloaded libc v0.2.139 [INFO] [stderr] Downloaded miniquad v0.3.16 [INFO] [stderr] Downloaded oboe-sys v0.5.0 [INFO] [stderr] Downloaded ndk-sys v0.2.2 [INFO] [stderr] Downloaded winnow v0.5.28 [INFO] [stderr] Downloaded syn v1.0.107 [INFO] [stderr] Downloaded windows v0.46.0 [INFO] [stderr] Downloaded egui v0.21.0 [INFO] [stderr] Downloaded tokio v1.28.2 [INFO] [stderr] Downloaded clap v3.2.23 [INFO] [stderr] Downloaded alsa v0.7.1 [INFO] [stderr] Downloaded lewton v0.10.2 [INFO] [stderr] Downloaded symphonia-core v0.5.3 [INFO] [stderr] Downloaded cpal v0.15.2 [INFO] [stderr] Downloaded ttf-parser v0.19.1 [INFO] [stderr] Downloaded bindgen v0.69.1 [INFO] [stderr] Downloaded coreaudio-rs v0.11.3 [INFO] [stderr] Downloaded mach2 v0.4.1 [INFO] [stderr] Downloaded hound v3.5.1 [INFO] [stderr] Downloaded indexmap v1.9.2 [INFO] [stderr] Downloaded xml-rs v0.8.16 [INFO] [stderr] Downloaded clang-sys v1.6.1 [INFO] [stderr] Downloaded symphonia-bundle-mp3 v0.5.3 [INFO] [stderr] Downloaded rodio v0.17.3 [INFO] [stderr] Downloaded once_cell v1.17.0 [INFO] [stderr] Downloaded either v1.8.0 [INFO] [stderr] Downloaded clap_derive v3.2.18 [INFO] [stderr] Downloaded quad-url v0.1.1 [INFO] [stderr] Downloaded ogg v0.8.0 [INFO] [stderr] Downloaded oboe v0.5.0 [INFO] [stderr] Downloaded bytemuck_derive v1.4.1 [INFO] [stderr] Downloaded os_str_bytes v6.4.1 [INFO] [stderr] Downloaded shlex v1.2.0 [INFO] [stderr] Downloaded ab_glyph v0.2.21 [INFO] [stderr] Downloaded symphonia-metadata v0.5.3 [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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-02-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 18e0a65f286379fdc742054bf5b5ae3403458ea9f6eaed5d22db77c3896848f6 [INFO] running `Command { std: "docker" "start" "-a" "18e0a65f286379fdc742054bf5b5ae3403458ea9f6eaed5d22db77c3896848f6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "18e0a65f286379fdc742054bf5b5ae3403458ea9f6eaed5d22db77c3896848f6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "18e0a65f286379fdc742054bf5b5ae3403458ea9f6eaed5d22db77c3896848f6", kill_on_drop: false }` [INFO] [stdout] 18e0a65f286379fdc742054bf5b5ae3403458ea9f6eaed5d22db77c3896848f6 [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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-02-05" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7efb5dd27878c0960becdf45c28579d7f84734752c27f40710746b4bb98a5080 [INFO] running `Command { std: "docker" "start" "-a" "7efb5dd27878c0960becdf45c28579d7f84734752c27f40710746b4bb98a5080", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: dependencies.rodio.default-feature [INFO] [stderr] Compiling libc v0.2.139 [INFO] [stderr] Compiling proc-macro2 v1.0.66 [INFO] [stderr] Compiling unicode-ident v1.0.6 [INFO] [stderr] Compiling parking_lot_core v0.9.8 [INFO] [stderr] Checking smallvec v1.11.0 [INFO] [stderr] Compiling pkg-config v0.3.27 [INFO] [stderr] Checking ttf-parser v0.19.1 [INFO] [stderr] Checking once_cell v1.17.0 [INFO] [stderr] Compiling syn v1.0.107 [INFO] [stderr] Compiling lock_api v0.4.10 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling ahash v0.8.3 [INFO] [stderr] Checking arrayvec v0.7.4 [INFO] [stderr] Checking log v0.4.19 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Checking ab_glyph_rasterizer v0.1.8 [INFO] [stderr] Compiling indexmap v1.9.2 [INFO] [stderr] Compiling miniquad v0.3.16 [INFO] [stderr] Compiling cpal v0.15.2 [INFO] [stderr] Checking nohash-hasher v0.2.0 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Compiling tokio v1.28.2 [INFO] [stderr] Checking webbrowser v0.5.5 [INFO] [stderr] Checking dasp_sample v0.11.0 [INFO] [stderr] Checking hashbrown v0.12.3 [INFO] [stderr] Checking os_str_bytes v6.4.1 [INFO] [stderr] Compiling heck v0.4.0 [INFO] [stderr] Checking quad-url v0.1.1 [INFO] [stderr] Checking yaxpeax-arch v0.2.7 [INFO] [stderr] Compiling num_enum v0.2.3 [INFO] [stderr] Checking termcolor v1.1.3 [INFO] [stderr] Checking ogg v0.8.0 [INFO] [stderr] Checking hound v3.5.1 [INFO] [stderr] Checking claxon v0.4.3 [INFO] [stderr] Checking windows-targets v0.42.2 [INFO] [stderr] Checking textwrap v0.16.0 [INFO] [stderr] Checking either v1.8.0 [INFO] [stderr] Checking strsim v0.10.0 [INFO] [stderr] Checking clap_lex v0.2.4 [INFO] [stderr] Checking windows v0.46.0 [INFO] [stderr] Checking lewton v0.10.2 [INFO] [stderr] Compiling alsa-sys v0.3.1 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Compiling quote v1.0.32 [INFO] [stderr] Checking yaxpeax-sm83 v0.2.0 (https://www.github.com/iximeow/yaxpeax-sm83.git?rev=8332b3750cd3f42ca83d02347afc560b37992a69#8332b375) [INFO] [stderr] Compiling syn v2.0.28 [INFO] [stderr] Checking getrandom v0.2.8 [INFO] [stderr] Checking nix v0.24.3 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking mio v0.8.8 [INFO] [stderr] Checking socket2 v0.4.9 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking alsa v0.7.1 [INFO] [stderr] Checking owned_ttf_parser v0.19.0 [INFO] [stderr] Checking ab_glyph v0.2.21 [INFO] [stderr] Compiling clap_derive v3.2.18 [INFO] [stderr] Compiling bytemuck_derive v1.4.1 [INFO] [stderr] Compiling tokio-macros v2.1.0 [INFO] [stderr] Checking bytemuck v1.13.1 [INFO] [stderr] Checking symphonia-core v0.5.3 [INFO] [stderr] Checking emath v0.21.0 [INFO] [stderr] Checking ecolor v0.21.0 [INFO] [stderr] Checking epaint v0.21.0 [INFO] [stderr] Checking clap v3.2.23 [INFO] [stderr] Checking egui v0.21.0 [INFO] [stderr] Checking symphonia-metadata v0.5.3 [INFO] [stderr] Checking symphonia-bundle-mp3 v0.5.3 [INFO] [stderr] Checking symphonia v0.5.3 [INFO] [stderr] Checking rodio v0.17.3 [INFO] [stderr] Checking egui-miniquad v0.14.0 [INFO] [stderr] Checking yaxpeax-gbc v0.2.10 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/apu.rs:89:35 [INFO] [stdout] | [INFO] [stdout] 89 | let period_step = (value & 0x07); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 89 - let period_step = (value & 0x07); [INFO] [stdout] 89 + let period_step = value & 0x07; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/apu.rs:223:46 [INFO] [stdout] | [INFO] [stdout] 223 | self.channel_4_clock_shift = (value >> 4); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 223 - self.channel_4_clock_shift = (value >> 4); [INFO] [stdout] 223 + self.channel_4_clock_shift = value >> 4; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::Cpu` [INFO] [stdout] --> src/cpu.rs:1347:13 [INFO] [stdout] | [INFO] [stdout] 1347 | use crate::Cpu; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::FlatMapper` [INFO] [stdout] --> src/cpu.rs:1348:13 [INFO] [stdout] | [INFO] [stdout] 1348 | use crate::FlatMapper; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::MemoryMapping` [INFO] [stdout] --> src/cpu.rs:1349:13 [INFO] [stdout] | [INFO] [stdout] 1349 | use crate::MemoryMapping; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Write` [INFO] [stdout] --> src/frontend/gui.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AtomicBool`, `Ordering` [INFO] [stdout] --> src/frontend/gui.rs:3:25 [INFO] [stdout] | [INFO] [stdout] 3 | use std::sync::atomic::{AtomicBool, Ordering}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `LCDC`, `STAT` [INFO] [stdout] --> src/frontend/gui.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{STAT, SCX, SCY, IF, IE, GBC, LCDC, LY, LYC}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `egui::Vec2` [INFO] [stdout] --> src/frontend/gui.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use egui::Vec2; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:406:12 [INFO] [stdout] | [INFO] [stdout] 406 | if (self.lcdc & 0b0000_1000 == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 406 - if (self.lcdc & 0b0000_1000 == 0) { [INFO] [stdout] 406 + if self.lcdc & 0b0000_1000 == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/main.rs:818:46 [INFO] [stdout] | [INFO] [stdout] 818 | ... let tile_xoffs = (window_x % 8); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 818 - let tile_xoffs = (window_x % 8); [INFO] [stdout] 818 + let tile_xoffs = window_x % 8; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/main.rs:1201:46 [INFO] [stdout] | [INFO] [stdout] 1201 | self.management_bits[reg] |= (value & 0b0011_0000); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1201 - self.management_bits[reg] |= (value & 0b0011_0000); [INFO] [stdout] 1201 + self.management_bits[reg] |= value & 0b0011_0000; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/apu.rs:89:35 [INFO] [stdout] | [INFO] [stdout] 89 | let period_step = (value & 0x07); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 89 - let period_step = (value & 0x07); [INFO] [stdout] 89 + let period_step = value & 0x07; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/apu.rs:223:46 [INFO] [stdout] | [INFO] [stdout] 223 | self.channel_4_clock_shift = (value >> 4); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 223 - self.channel_4_clock_shift = (value >> 4); [INFO] [stdout] 223 + self.channel_4_clock_shift = value >> 4; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::FlatMapper` [INFO] [stdout] --> src/cpu.rs:1348:13 [INFO] [stdout] | [INFO] [stdout] 1348 | use crate::FlatMapper; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::MemoryMapping` [INFO] [stdout] --> src/cpu.rs:1349:13 [INFO] [stdout] | [INFO] [stdout] 1349 | use crate::MemoryMapping; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Write` [INFO] [stdout] --> src/frontend/gui.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AtomicBool`, `Ordering` [INFO] [stdout] --> src/frontend/gui.rs:3:25 [INFO] [stdout] | [INFO] [stdout] 3 | use std::sync::atomic::{AtomicBool, Ordering}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `LCDC`, `STAT` [INFO] [stdout] --> src/frontend/gui.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{STAT, SCX, SCY, IF, IE, GBC, LCDC, LY, LYC}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `egui::Vec2` [INFO] [stdout] --> src/frontend/gui.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use egui::Vec2; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:406:12 [INFO] [stdout] | [INFO] [stdout] 406 | if (self.lcdc & 0b0000_1000 == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 406 - if (self.lcdc & 0b0000_1000 == 0) { [INFO] [stdout] 406 + if self.lcdc & 0b0000_1000 == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/main.rs:818:46 [INFO] [stdout] | [INFO] [stdout] 818 | ... let tile_xoffs = (window_x % 8); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 818 - let tile_xoffs = (window_x % 8); [INFO] [stdout] 818 + let tile_xoffs = window_x % 8; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/main.rs:1201:46 [INFO] [stdout] | [INFO] [stdout] 1201 | self.management_bits[reg] |= (value & 0b0011_0000); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1201 - self.management_bits[reg] |= (value & 0b0011_0000); [INFO] [stdout] 1201 + self.management_bits[reg] |= value & 0b0011_0000; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu.rs:1045:9 [INFO] [stdout] | [INFO] [stdout] 1043 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 1044 | [INFO] [stdout] 1045 | let from_linear = storage.recursive_translate(from); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu.rs:1064:9 [INFO] [stdout] | [INFO] [stdout] 1062 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 1063 | [INFO] [stdout] 1064 | / if self.branch_trace.len() > TRACE_DEPTH { [INFO] [stdout] 1065 | | self.branch_trace.pop_back(); [INFO] [stdout] 1066 | | } [INFO] [stdout] | |_________^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu.rs:1112:9 [INFO] [stdout] | [INFO] [stdout] 1110 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 1111 | [INFO] [stdout] 1112 | / if self.branch_trace.len() > TRACE_DEPTH { [INFO] [stdout] 1113 | | self.branch_trace.pop_back(); [INFO] [stdout] 1114 | | } [INFO] [stdout] | |_________^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu.rs:1149:9 [INFO] [stdout] | [INFO] [stdout] 1147 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 1148 | [INFO] [stdout] 1149 | let from_linear = storage.recursive_translate(from); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu.rs:1171:9 [INFO] [stdout] | [INFO] [stdout] 1169 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 1170 | [INFO] [stdout] 1171 | let from_linear = storage.recursive_translate(from); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu.rs:1045:9 [INFO] [stdout] | [INFO] [stdout] 1043 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 1044 | [INFO] [stdout] 1045 | let from_linear = storage.recursive_translate(from); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu.rs:1064:9 [INFO] [stdout] | [INFO] [stdout] 1062 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 1063 | [INFO] [stdout] 1064 | / if self.branch_trace.len() > TRACE_DEPTH { [INFO] [stdout] 1065 | | self.branch_trace.pop_back(); [INFO] [stdout] 1066 | | } [INFO] [stdout] | |_________^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu.rs:1112:9 [INFO] [stdout] | [INFO] [stdout] 1110 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 1111 | [INFO] [stdout] 1112 | / if self.branch_trace.len() > TRACE_DEPTH { [INFO] [stdout] 1113 | | self.branch_trace.pop_back(); [INFO] [stdout] 1114 | | } [INFO] [stdout] | |_________^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu.rs:1149:9 [INFO] [stdout] | [INFO] [stdout] 1147 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 1148 | [INFO] [stdout] 1149 | let from_linear = storage.recursive_translate(from); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/cpu.rs:1171:9 [INFO] [stdout] | [INFO] [stdout] 1169 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 1170 | [INFO] [stdout] 1171 | let from_linear = storage.recursive_translate(from); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/main.rs:1318:17 [INFO] [stdout] | [INFO] [stdout] 1317 | panic!("unhandled write {:04x}", reg); [INFO] [stdout] | ------------------------------------- any code following this expression is unreachable [INFO] [stdout] 1318 | self.management_bits[reg] = value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/main.rs:1318:17 [INFO] [stdout] | [INFO] [stdout] 1317 | panic!("unhandled write {:04x}", reg); [INFO] [stdout] | ------------------------------------- any code following this expression is unreachable [INFO] [stdout] 1318 | self.management_bits[reg] = value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/main.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | use std::fmt::{Write as FmtWrite}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `word` [INFO] [stdout] --> src/cpu.rs:100:32 [INFO] [stdout] | [INFO] [stdout] 100 | fn on_word_read(&mut self, word: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_word` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `storage` [INFO] [stdout] --> src/cpu.rs:1041:51 [INFO] [stdout] | [INFO] [stdout] 1041 | fn trace_int<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16, int_bit: u8) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/cpu.rs:1041:91 [INFO] [stdout] | [INFO] [stdout] 1041 | fn trace_int<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16, int_bit: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_from` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> src/cpu.rs:1041:102 [INFO] [stdout] | [INFO] [stdout] 1041 | fn trace_int<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16, int_bit: u8) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `int_bit` [INFO] [stdout] --> src/cpu.rs:1041:111 [INFO] [stdout] | [INFO] [stdout] 1041 | fn trace_int<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16, int_bit: u8) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_int_bit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `call_kind` [INFO] [stdout] --> src/cpu.rs:1084:38 [INFO] [stdout] | [INFO] [stdout] 1084 | Some(CallRecord { addrs, call_kind }) => { [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `call_kind: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `storage` [INFO] [stdout] --> src/cpu.rs:1060:52 [INFO] [stdout] | [INFO] [stdout] 1060 | fn trace_reti<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/cpu.rs:1060:92 [INFO] [stdout] | [INFO] [stdout] 1060 | fn trace_reti<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_from` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> src/cpu.rs:1060:103 [INFO] [stdout] | [INFO] [stdout] 1060 | fn trace_reti<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `storage` [INFO] [stdout] --> src/cpu.rs:1108:51 [INFO] [stdout] | [INFO] [stdout] 1108 | fn trace_ret<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/cpu.rs:1108:91 [INFO] [stdout] | [INFO] [stdout] 1108 | fn trace_ret<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_from` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> src/cpu.rs:1108:102 [INFO] [stdout] | [INFO] [stdout] 1108 | fn trace_ret<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `storage` [INFO] [stdout] --> src/cpu.rs:1145:52 [INFO] [stdout] | [INFO] [stdout] 1145 | fn trace_call<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/cpu.rs:1145:92 [INFO] [stdout] | [INFO] [stdout] 1145 | fn trace_call<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_from` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> src/cpu.rs:1145:103 [INFO] [stdout] | [INFO] [stdout] 1145 | fn trace_call<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `storage` [INFO] [stdout] --> src/cpu.rs:1167:54 [INFO] [stdout] | [INFO] [stdout] 1167 | fn trace_branch<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/cpu.rs:1167:94 [INFO] [stdout] | [INFO] [stdout] 1167 | fn trace_branch<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_from` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> src/cpu.rs:1167:105 [INFO] [stdout] | [INFO] [stdout] 1167 | fn trace_branch<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cpu.rs:1303:13 [INFO] [stdout] | [INFO] [stdout] 1303 | let mut buf = [ [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/cpu.rs:1670:9 [INFO] [stdout] | [INFO] [stdout] 1670 | 0xff0f => Some("IE"), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/main.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | use std::fmt::{Write as FmtWrite}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `word` [INFO] [stdout] --> src/cpu.rs:100:32 [INFO] [stdout] | [INFO] [stdout] 100 | fn on_word_read(&mut self, word: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_word` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/frontend/tui.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | let mut gb = gb_state.lock().unwrap(); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dpi_scale` [INFO] [stdout] --> src/frontend/gui.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | let dpi_scale = ctx.dpi_scale(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dpi_scale` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/frontend/gui.rs:150:13 [INFO] [stdout] | [INFO] [stdout] 150 | let mut vertex_buffers = vec![self.vertex_buffer]; [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/frontend/gui.rs:151:13 [INFO] [stdout] | [INFO] [stdout] 151 | let mut images = vec![texture]; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `conf` [INFO] [stdout] --> src/frontend/gui.rs:249:9 [INFO] [stdout] | [INFO] [stdout] 249 | let conf = miniquad::conf::Conf { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_conf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/frontend/gui.rs:259:55 [INFO] [stdout] | [INFO] [stdout] 259 | miniquad::start(miniquad::conf::Conf::default(), |mut ctx| { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `storage` [INFO] [stdout] --> src/cpu.rs:1041:51 [INFO] [stdout] | [INFO] [stdout] 1041 | fn trace_int<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16, int_bit: u8) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/cpu.rs:1041:91 [INFO] [stdout] | [INFO] [stdout] 1041 | fn trace_int<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16, int_bit: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_from` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> src/cpu.rs:1041:102 [INFO] [stdout] | [INFO] [stdout] 1041 | fn trace_int<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16, int_bit: u8) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `int_bit` [INFO] [stdout] --> src/cpu.rs:1041:111 [INFO] [stdout] | [INFO] [stdout] 1041 | fn trace_int<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16, int_bit: u8) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_int_bit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `call_kind` [INFO] [stdout] --> src/cpu.rs:1084:38 [INFO] [stdout] | [INFO] [stdout] 1084 | Some(CallRecord { addrs, call_kind }) => { [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `call_kind: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `storage` [INFO] [stdout] --> src/cpu.rs:1060:52 [INFO] [stdout] | [INFO] [stdout] 1060 | fn trace_reti<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/main.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | let mut i = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/cpu.rs:1060:92 [INFO] [stdout] | [INFO] [stdout] 1060 | fn trace_reti<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_from` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `clock_total` is assigned to, but never used [INFO] [stdout] --> src/main.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | let mut clock_total = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_clock_total` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `clock_total` is never read [INFO] [stdout] --> src/main.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | clock_total = gb.run(); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> src/cpu.rs:1060:103 [INFO] [stdout] | [INFO] [stdout] 1060 | fn trace_reti<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `storage` [INFO] [stdout] --> src/cpu.rs:1108:51 [INFO] [stdout] | [INFO] [stdout] 1108 | fn trace_ret<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/cpu.rs:1108:91 [INFO] [stdout] | [INFO] [stdout] 1108 | fn trace_ret<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_from` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> src/cpu.rs:1108:102 [INFO] [stdout] | [INFO] [stdout] 1108 | fn trace_ret<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `storage` [INFO] [stdout] --> src/cpu.rs:1145:52 [INFO] [stdout] | [INFO] [stdout] 1145 | fn trace_call<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/cpu.rs:1145:92 [INFO] [stdout] | [INFO] [stdout] 1145 | fn trace_call<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_from` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> src/cpu.rs:1145:103 [INFO] [stdout] | [INFO] [stdout] 1145 | fn trace_call<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `storage` [INFO] [stdout] --> src/cpu.rs:1167:54 [INFO] [stdout] | [INFO] [stdout] 1167 | fn trace_branch<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/cpu.rs:1167:94 [INFO] [stdout] | [INFO] [stdout] 1167 | fn trace_branch<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_from` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> src/cpu.rs:1167:105 [INFO] [stdout] | [INFO] [stdout] 1167 | fn trace_branch<'storage: 'env, 'env>(&mut self, storage: &'env MemoryMapping<'storage>, from: u16, to: u16) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | let mut i = 0; [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/cpu.rs:1303:13 [INFO] [stdout] | [INFO] [stdout] 1303 | let mut buf = [ [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `screen_time` is never read [INFO] [stdout] --> src/main.rs:553:13 [INFO] [stdout] | [INFO] [stdout] 553 | screen_time -= screen_time % Self::SCREEN_TIME; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tile_base` [INFO] [stdout] --> src/main.rs:754:25 [INFO] [stdout] | [INFO] [stdout] 754 | let tile_base = self.background_tile_base(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tile_base` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `window_tile_base` [INFO] [stdout] --> src/main.rs:755:25 [INFO] [stdout] | [INFO] [stdout] 755 | let window_tile_base = self.window_tile_base(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_tile_base` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `window_y_offset` [INFO] [stdout] --> src/main.rs:799:79 [INFO] [stdout] | [INFO] [stdout] 799 | let window_pixel = window_coords.and_then(|(window_y, window_y_offset)| { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_y_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/cpu.rs:1670:9 [INFO] [stdout] | [INFO] [stdout] 1670 | 0xff0f => Some("IE"), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:1064:29 [INFO] [stdout] | [INFO] [stdout] 1064 | let mut res = self.management_bits[reg]; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pc_before` [INFO] [stdout] --> src/main.rs:1807:13 [INFO] [stdout] | [INFO] [stdout] 1807 | let pc_before = self.cpu.pc; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pc_before` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/frontend/tui.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | let mut gb = gb_state.lock().unwrap(); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dpi_scale` [INFO] [stdout] --> src/frontend/gui.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | let dpi_scale = ctx.dpi_scale(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dpi_scale` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/frontend/gui.rs:150:13 [INFO] [stdout] | [INFO] [stdout] 150 | let mut vertex_buffers = vec![self.vertex_buffer]; [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/frontend/gui.rs:151:13 [INFO] [stdout] | [INFO] [stdout] 151 | let mut images = vec![texture]; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `conf` [INFO] [stdout] --> src/frontend/gui.rs:249:9 [INFO] [stdout] | [INFO] [stdout] 249 | let conf = miniquad::conf::Conf { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_conf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/frontend/gui.rs:259:55 [INFO] [stdout] | [INFO] [stdout] 259 | miniquad::start(miniquad::conf::Conf::default(), |mut ctx| { [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/main.rs:2601:13 [INFO] [stdout] | [INFO] [stdout] 2601 | let mut memory = MemoryMapping { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/main.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | let mut i = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `clock_total` is assigned to, but never used [INFO] [stdout] --> src/main.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | let mut clock_total = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_clock_total` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `clock_total` is never read [INFO] [stdout] --> src/main.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | clock_total = gb.run(); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLOCKS_PER_FRAME` is never used [INFO] [stdout] --> src/main.rs:89:11 [INFO] [stdout] | [INFO] [stdout] 89 | const CLOCKS_PER_FRAME: u64 = 4_190_000 / 60; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `next_line` and `next_draw_time` are never read [INFO] [stdout] --> src/main.rs:228:5 [INFO] [stdout] | [INFO] [stdout] 218 | struct Lcd { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 228 | next_line: u64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 229 | next_draw_time: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `palette_number` is never used [INFO] [stdout] --> src/main.rs:271:8 [INFO] [stdout] | [INFO] [stdout] 258 | impl OamAttributes { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 271 | fn palette_number(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `VBLANK_TIME`, `sprite_double_size`, and `sprite_enable` are never used [INFO] [stdout] --> src/main.rs:311:11 [INFO] [stdout] | [INFO] [stdout] 308 | impl Lcd { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 311 | const VBLANK_TIME: u64 = 4560; // vblank is 10 scan lines [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 429 | fn sprite_double_size(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 433 | fn sprite_enable(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GBCScreen` is never constructed [INFO] [stdout] --> src/main.rs:924:8 [INFO] [stdout] | [INFO] [stdout] 924 | struct GBCScreen { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `GBState` is never used [INFO] [stdout] --> src/main.rs:1330:6 [INFO] [stdout] | [INFO] [stdout] 1330 | enum GBState { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_RAM_START` is never used [INFO] [stdout] --> src/main.rs:1418:7 [INFO] [stdout] | [INFO] [stdout] 1418 | const WAVE_RAM_START: usize = 0x130; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_RAM_END` is never used [INFO] [stdout] --> src/main.rs:1419:7 [INFO] [stdout] | [INFO] [stdout] 1419 | const WAVE_RAM_END: usize = 0x13f; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dump_mem_region` is never used [INFO] [stdout] --> src/main.rs:1547:4 [INFO] [stdout] | [INFO] [stdout] 1547 | fn dump_mem_region(mem_map: &dyn MemoryBanks, start: u16, words: u16, width: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 87 | let mut i = 0; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `battery`, `timer`, and `rumble` are never read [INFO] [stdout] --> src/main.rs:2007:5 [INFO] [stdout] | [INFO] [stdout] 2003 | struct CartridgeFeatures { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 2007 | battery: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 2008 | timer: bool, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 2009 | rumble: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CartridgeFeatures` 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: field `features` is never read [INFO] [stdout] --> src/main.rs:2073:5 [INFO] [stdout] | [INFO] [stdout] 2072 | struct GBCCart { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 2073 | features: CartridgeFeatures, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `channel_active`, `channel_2_pace`, and `channel_4_wavelength` are never read [INFO] [stdout] --> src/apu.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Apu { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 22 | channel_active: [bool; 4], [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | channel_2_pace: i8, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | channel_4_wavelength: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_nr52` is never used [INFO] [stdout] --> src/apu.rs:740:8 [INFO] [stdout] | [INFO] [stdout] 83 | impl Apu { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 740 | fn set_nr52(&mut self, v: u8) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `flag_z` is never used [INFO] [stdout] --> src/cpu.rs:1245:8 [INFO] [stdout] | [INFO] [stdout] 1023 | impl Cpu { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1245 | fn flag_z(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `memory` is never read [INFO] [stdout] --> src/cpu.rs:1609:5 [INFO] [stdout] | [INFO] [stdout] 1607 | pub(crate) struct DecoratedInstruction<'instr, 'data> { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] 1608 | cpu: &'instr Cpu, [INFO] [stdout] 1609 | memory: &'instr MemoryMapping<'data>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `execute_test` is never used [INFO] [stdout] --> src/cpu.rs:1324:8 [INFO] [stdout] | [INFO] [stdout] 1324 | fn execute_test(cpu: &mut Cpu, program: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `do_ui` is never used [INFO] [stdout] --> src/frontend/tui.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | pub(crate) fn do_ui(gb_state: Arc>) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/timer.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn run(tx: std::sync::mpsc::Sender<()>) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `with_test_mapping` is never used [INFO] [stdout] --> src/main.rs:2582:8 [INFO] [stdout] | [INFO] [stdout] 2582 | fn with_test_mapping(f: impl Fn(MemoryMapping) -> U) -> U { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `screen_time` is never read [INFO] [stdout] --> src/main.rs:553:13 [INFO] [stdout] | [INFO] [stdout] 553 | screen_time -= screen_time % Self::SCREEN_TIME; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tile_base` [INFO] [stdout] --> src/main.rs:754:25 [INFO] [stdout] | [INFO] [stdout] 754 | let tile_base = self.background_tile_base(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tile_base` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `window_tile_base` [INFO] [stdout] --> src/main.rs:755:25 [INFO] [stdout] | [INFO] [stdout] 755 | let window_tile_base = self.window_tile_base(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_tile_base` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `window_y_offset` [INFO] [stdout] --> src/main.rs:799:79 [INFO] [stdout] | [INFO] [stdout] 799 | let window_pixel = window_coords.and_then(|(window_y, window_y_offset)| { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_y_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/frontend/tui.rs:77:17 [INFO] [stdout] | [INFO] [stdout] 77 | write!(screen, "{}", [".", "+", "*", "#"][gb.lcd.display[(i * 160 + j) as usize] as usize]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/frontend/tui.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 79 | write!(screen, "\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:1064:29 [INFO] [stdout] | [INFO] [stdout] 1064 | let mut res = self.management_bits[reg]; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pc_before` [INFO] [stdout] --> src/main.rs:1807:13 [INFO] [stdout] | [INFO] [stdout] 1807 | let pc_before = self.cpu.pc; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pc_before` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 77 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:2601:13 [INFO] [stdout] | [INFO] [stdout] 2601 | let mut memory = MemoryMapping { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `next_line` and `next_draw_time` are never read [INFO] [stdout] --> src/main.rs:228:5 [INFO] [stdout] | [INFO] [stdout] 218 | struct Lcd { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 228 | next_line: u64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 229 | next_draw_time: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `palette_number` is never used [INFO] [stdout] --> src/main.rs:271:8 [INFO] [stdout] | [INFO] [stdout] 258 | impl OamAttributes { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 271 | fn palette_number(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `VBLANK_TIME`, `sprite_double_size`, and `sprite_enable` are never used [INFO] [stdout] --> src/main.rs:311:11 [INFO] [stdout] | [INFO] [stdout] 308 | impl Lcd { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 311 | const VBLANK_TIME: u64 = 4560; // vblank is 10 scan lines [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 429 | fn sprite_double_size(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 433 | fn sprite_enable(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GBCScreen` is never constructed [INFO] [stdout] --> src/main.rs:924:8 [INFO] [stdout] | [INFO] [stdout] 924 | struct GBCScreen { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `GBState` is never used [INFO] [stdout] --> src/main.rs:1330:6 [INFO] [stdout] | [INFO] [stdout] 1330 | enum GBState { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_RAM_START` is never used [INFO] [stdout] --> src/main.rs:1418:7 [INFO] [stdout] | [INFO] [stdout] 1418 | const WAVE_RAM_START: usize = 0x130; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_RAM_END` is never used [INFO] [stdout] --> src/main.rs:1419:7 [INFO] [stdout] | [INFO] [stdout] 1419 | const WAVE_RAM_END: usize = 0x13f; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dump_mem_region` is never used [INFO] [stdout] --> src/main.rs:1547:4 [INFO] [stdout] | [INFO] [stdout] 1547 | fn dump_mem_region(mem_map: &dyn MemoryBanks, start: u16, words: u16, width: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `battery`, `timer`, and `rumble` are never read [INFO] [stdout] --> src/main.rs:2007:5 [INFO] [stdout] | [INFO] [stdout] 2003 | struct CartridgeFeatures { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 2007 | battery: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 2008 | timer: bool, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 2009 | rumble: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CartridgeFeatures` 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: field `features` is never read [INFO] [stdout] --> src/main.rs:2073:5 [INFO] [stdout] | [INFO] [stdout] 2072 | struct GBCCart { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 2073 | features: CartridgeFeatures, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `channel_active`, `channel_2_pace`, and `channel_4_wavelength` are never read [INFO] [stdout] --> src/apu.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Apu { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 22 | channel_active: [bool; 4], [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | channel_2_pace: i8, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | channel_4_wavelength: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_nr52` is never used [INFO] [stdout] --> src/apu.rs:740:8 [INFO] [stdout] | [INFO] [stdout] 83 | impl Apu { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 740 | fn set_nr52(&mut self, v: u8) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `flag_z` is never used [INFO] [stdout] --> src/cpu.rs:1245:8 [INFO] [stdout] | [INFO] [stdout] 1023 | impl Cpu { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1245 | fn flag_z(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `memory` is never read [INFO] [stdout] --> src/cpu.rs:1609:5 [INFO] [stdout] | [INFO] [stdout] 1607 | pub(crate) struct DecoratedInstruction<'instr, 'data> { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] 1608 | cpu: &'instr Cpu, [INFO] [stdout] 1609 | memory: &'instr MemoryMapping<'data>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `do_ui` is never used [INFO] [stdout] --> src/frontend/tui.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | pub(crate) fn do_ui(gb_state: Arc>) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/timer.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn run(tx: std::sync::mpsc::Sender<()>) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/frontend/tui.rs:77:17 [INFO] [stdout] | [INFO] [stdout] 77 | write!(screen, "{}", [".", "+", "*", "#"][gb.lcd.display[(i * 160 + j) as usize] as usize]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/frontend/tui.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 79 | write!(screen, "\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 73 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 25.31s [INFO] running `Command { std: "docker" "inspect" "7efb5dd27878c0960becdf45c28579d7f84734752c27f40710746b4bb98a5080", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7efb5dd27878c0960becdf45c28579d7f84734752c27f40710746b4bb98a5080", kill_on_drop: false }` [INFO] [stdout] 7efb5dd27878c0960becdf45c28579d7f84734752c27f40710746b4bb98a5080