[INFO] cloning repository https://github.com/cianM167/gb-emu2-electric-boogaloo
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cianM167/gb-emu2-electric-boogaloo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FcianM167%2Fgb-emu2-electric-boogaloo", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FcianM167%2Fgb-emu2-electric-boogaloo'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bac7a2ffc7a3611d2babdd884d160b241ceaebb3
[INFO] checking cianM167/gb-emu2-electric-boogaloo against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6+rustflags=-Znext-solver=coherence for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FcianM167%2Fgb-emu2-electric-boogaloo" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/cianM167/gb-emu2-electric-boogaloo
[INFO] finished tweaking git repo https://github.com/cianM167/gb-emu2-electric-boogaloo
[INFO] tweaked toml for git repo https://github.com/cianM167/gb-emu2-electric-boogaloo written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cianM167/gb-emu2-electric-boogaloo on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/cianM167/gb-emu2-electric-boogaloo 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" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /workspace/builds/worker-6-tc1/source/gb-desktop/Cargo.toml
[INFO] [stderr] workspace: /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wat v1.259.0
[INFO] [stderr]   Downloaded wasmtime-internal-component-util v49.0.1
[INFO] [stderr]   Downloaded cranelift-control v0.136.1
[INFO] [stderr]   Downloaded cranelift-codegen-shared v0.136.1
[INFO] [stderr]   Downloaded cranelift-bitset v0.136.1
[INFO] [stderr]   Downloaded pulley-macros v49.0.1
[INFO] [stderr]   Downloaded cranelift-srcgen v0.136.1
[INFO] [stderr]   Downloaded wasmtime-internal-versioned-export-macros v49.0.1
[INFO] [stderr]   Downloaded wasmtime-internal-jit-debug v49.0.1
[INFO] [stderr]   Downloaded ittapi v0.4.0
[INFO] [stderr]   Downloaded cranelift-native v0.136.1
[INFO] [stderr]   Downloaded cranelift-entity v0.136.1
[INFO] [stderr]   Downloaded wasmtime-internal-jit-icache-coherence v49.0.1
[INFO] [stderr]   Downloaded zstd-safe v7.3.0
[INFO] [stderr]   Downloaded debugid v0.8.0
[INFO] [stderr]   Downloaded multiversion v0.9.0
[INFO] [stderr]   Downloaded multiversion-macros v0.9.0
[INFO] [stderr]   Downloaded version-compare v0.1.1
[INFO] [stderr]   Downloaded wasmtime-internal-unwinder v49.0.1
[INFO] [stderr]   Downloaded cranelift-assembler-x64 v0.136.1
[INFO] [stderr]   Downloaded cranelift-bforest v0.136.1
[INFO] [stderr]   Downloaded wasmtime-internal-fiber v49.0.1
[INFO] [stderr]   Downloaded wasm-metadata v0.258.0
[INFO] [stderr]   Downloaded wasmtime-internal-cache v49.0.1
[INFO] [stderr]   Downloaded mach2 v0.6.0
[INFO] [stderr]   Downloaded fxprof-processed-profile v0.8.1
[INFO] [stderr]   Downloaded addr2line v0.26.1
[INFO] [stderr]   Downloaded ringbuf v0.5.2
[INFO] [stderr]   Downloaded wasmtime-internal-core v49.0.1
[INFO] [stderr]   Downloaded wasmprinter v0.258.0
[INFO] [stderr]   Downloaded pulley-interpreter v49.0.1
[INFO] [stderr]   Downloaded cranelift-assembler-x64-meta v0.136.1
[INFO] [stderr]   Downloaded wasmtime-internal-wit-bindgen v49.0.1
[INFO] [stderr]   Downloaded wasm-compose v0.258.0
[INFO] [stderr]   Downloaded js-sys v0.3.72
[INFO] [stderr]   Downloaded objc2-core-audio-types v0.3.2
[INFO] [stderr]   Downloaded wasm-encoder v0.258.0
[INFO] [stderr]   Downloaded cranelift-codegen-meta v0.136.1
[INFO] [stderr]   Downloaded cranelift-frontend v0.136.1
[INFO] [stderr]   Downloaded gilrs-core v0.6.8
[INFO] [stderr]   Downloaded objc2-core-audio v0.3.2
[INFO] [stderr]   Downloaded dasp_sample v0.11.0
[INFO] [stderr]   Downloaded wast v259.0.0
[INFO] [stderr]   Downloaded wasm-encoder v0.259.0
[INFO] [stderr]   Downloaded cpp_demangle v0.5.1
[INFO] [stderr]   Downloaded cranelift-isle v0.136.1
[INFO] [stderr]   Downloaded minifb v0.28.0
[INFO] [stderr]   Downloaded coreaudio-rs v0.14.2
[INFO] [stderr]   Downloaded alsa-sys v0.4.0
[INFO] [stderr]   Downloaded wit-parser v0.258.0
[INFO] [stderr]   Downloaded regalloc2 v0.15.2
[INFO] [stderr]   Downloaded ittapi-sys v0.4.0
[INFO] [stderr]   Downloaded objc2-avf-audio v0.3.2
[INFO] [stderr]   Downloaded alsa v0.11.0
[INFO] [stderr]   Downloaded gilrs v0.11.2
[INFO] [stderr]   Downloaded sdl2 v0.38.0
[INFO] [stderr]   Downloaded objc2-audio-toolbox v0.3.2
[INFO] [stderr]   Downloaded wasmparser v0.258.0
[INFO] [stderr]   Downloaded wasmtime-internal-component-macro v49.0.1
[INFO] [stderr]   Downloaded wasmparser v0.259.0
[INFO] [stderr]   Downloaded wasmtime-internal-cranelift v49.0.1
[INFO] [stderr]   Downloaded cpal v0.18.2
[INFO] [stderr]   Downloaded wasmtime-environ v49.0.1
[INFO] [stderr]   Downloaded gimli v0.33.0
[INFO] [stderr]   Downloaded wit-component v0.258.0
[INFO] [stderr]   Downloaded object v0.40.0
[INFO] [stderr]   Downloaded encoding_rs v0.8.41
[INFO] [stderr]   Downloaded zstd-sys v2.1.0+zstd.1.5.7
[INFO] [stderr]   Downloaded wasmtime v49.0.1
[INFO] [stderr]   Downloaded cranelift-codegen v0.136.1
[INFO] [stderr]   Downloaded sdl2-sys v0.38.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 3cc425123268667ddf19bb43fa14562ee22b55854ef5376aca82dafb086f1cc1
[INFO] running `Command { std: "docker" "start" "3cc425123268667ddf19bb43fa14562ee22b55854ef5376aca82dafb086f1cc1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3cc425123268667ddf19bb43fa14562ee22b55854ef5376aca82dafb086f1cc1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3cc425123268667ddf19bb43fa14562ee22b55854ef5376aca82dafb086f1cc1" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3cc425123268667ddf19bb43fa14562ee22b55854ef5376aca82dafb086f1cc1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Znext-solver=coherence" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3cc425123268667ddf19bb43fa14562ee22b55854ef5376aca82dafb086f1cc1" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/gb-desktop/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling syn v3.0.5
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling wasmtime-internal-core v49.0.1
[INFO] [stderr]    Compiling log v0.4.34
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling cranelift-srcgen v0.136.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling cranelift-assembler-x64-meta v0.136.1
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling jobserver v0.1.35
[INFO] [stderr]    Compiling cc v1.4.5
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]    Compiling target-lexicon v0.13.5
[INFO] [stderr]     Checking semver v1.0.28
[INFO] [stderr]     Checking leb128fmt v0.1.0
[INFO] [stderr]     Checking bumpalo v3.20.3
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling cranelift-bitset v0.136.1
[INFO] [stderr]    Compiling cranelift-isle v0.136.1
[INFO] [stderr]    Compiling crc32fast v1.5.2
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking indexmap v2.14.2
[INFO] [stderr]    Compiling cranelift-codegen-shared v0.136.1
[INFO] [stderr]    Compiling cranelift-assembler-x64 v0.136.1
[INFO] [stderr]    Compiling anyhow v1.0.104
[INFO] [stderr]    Compiling cpp_demangle v0.5.1
[INFO] [stderr]    Compiling bitflags v2.13.2
[INFO] [stderr]     Checking gimli v0.33.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.23
[INFO] [stderr]     Checking object v0.40.0
[INFO] [stderr]    Compiling wasmparser v0.258.0
[INFO] [stderr]    Compiling zstd-sys v2.1.0+zstd.1.5.7
[INFO] [stderr]     Checking arbitrary v1.4.2
[INFO] [stderr]    Compiling xml-rs v0.8.29
[INFO] [stderr]    Compiling pulley-macros v49.0.1
[INFO] [stderr]    Compiling wasmtime-internal-versioned-export-macros v49.0.1
[INFO] [stderr]    Compiling pulley-interpreter v49.0.1
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]     Checking cranelift-control v0.136.1
[INFO] [stderr]     Checking thiserror v2.0.20
[INFO] [stderr]     Checking cobs v0.3.0
[INFO] [stderr]    Compiling cranelift-codegen-meta v0.136.1
[INFO] [stderr]     Checking wasmtime-internal-component-util v49.0.1
[INFO] [stderr]     Checking rustc-demangle v0.1.28
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling id-arena v2.3.0
[INFO] [stderr]    Compiling zstd-safe v7.3.0
[INFO] [stderr]     Checking uuid v1.16.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.21
[INFO] [stderr]     Checking smallvec v1.16.0
[INFO] [stderr]     Checking postcard v1.1.3
[INFO] [stderr]     Checking regalloc2 v0.15.2
[INFO] [stderr]     Checking cranelift-entity v0.136.1
[INFO] [stderr]     Checking cranelift-bforest v0.136.1
[INFO] [stderr]    Compiling ittapi-sys v0.4.0
[INFO] [stderr]     Checking wasm-encoder v0.259.0
[INFO] [stderr]    Compiling cranelift-codegen v0.136.1
[INFO] [stderr]    Compiling wasm-encoder v0.258.0
[INFO] [stderr]    Compiling wit-parser v0.258.0
[INFO] [stderr]    Compiling wasm-metadata v0.258.0
[INFO] [stderr]    Compiling wayland-sys v0.31.11
[INFO] [stderr]     Checking winnow v1.0.4
[INFO] [stderr]     Checking either v1.18.0
[INFO] [stderr]     Checking futures-core v0.3.34
[INFO] [stderr]    Compiling wasmtime-internal-unwinder v49.0.1
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]     Checking toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]     Checking wasmprinter v0.258.0
[INFO] [stderr]    Compiling wit-component v0.258.0
[INFO] [stderr]     Checking futures-channel v0.3.34
[INFO] [stderr]     Checking wast v259.0.0
[INFO] [stderr]     Checking wasmtime-environ v49.0.1
[INFO] [stderr]     Checking crossbeam-deque v0.8.8
[INFO] [stderr]     Checking getrandom v0.4.3
[INFO] [stderr]    Compiling multiversion-macros v0.9.0
[INFO] [stderr]    Compiling encoding_rs v0.8.41
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wasmtime-internal-fiber v49.0.1
[INFO] [stderr]    Compiling wasmtime-internal-jit-debug v49.0.1
[INFO] [stderr]    Compiling wayland-backend v0.3.17
[INFO] [stderr]     Checking serde_spanned v1.1.1
[INFO] [stderr]     Checking toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling wasmtime-internal-cranelift v49.0.1
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking toml_writer v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling wasmtime-internal-component-macro v49.0.1
[INFO] [stderr]    Compiling wasmtime-internal-cache v49.0.1
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]     Checking multiversion v0.9.0
[INFO] [stderr]    Compiling nix v0.31.3
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking toml v1.1.6+spec-1.1.0
[INFO] [stderr]     Checking futures-util v0.3.34
[INFO] [stderr]    Compiling wasmtime-internal-wit-bindgen v49.0.1
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]     Checking directories-next v2.0.0
[INFO] [stderr]     Checking rayon-core v1.13.0
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking wayland-commons v0.29.5
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking debugid v0.8.0
[INFO] [stderr]    Compiling wasmtime v49.0.1
[INFO] [stderr]    Compiling alsa-sys v0.4.0
[INFO] [stderr]    Compiling libudev-sys v0.1.4
[INFO] [stderr]     Checking core_detect v1.0.0
[INFO] [stderr]     Checking heck v0.5.0
[INFO] [stderr]     Checking simdutf8 v0.1.5
[INFO] [stderr]    Compiling multiversion_no_op v1.0.0
[INFO] [stderr]     Checking futures v0.3.34
[INFO] [stderr]     Checking fxprof-processed-profile v0.8.1
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking ittapi v0.4.0
[INFO] [stderr]     Checking wat v1.259.0
[INFO] [stderr]     Checking inotify-sys v0.1.8
[INFO] [stderr]     Checking wasm-compose v0.258.0
[INFO] [stderr]     Checking wasmtime-internal-jit-icache-coherence v49.0.1
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]     Checking memfd v0.6.6
[INFO] [stderr]     Checking addr2line v0.26.1
[INFO] [stderr]    Compiling async-trait v0.1.92
[INFO] [stderr]     Checking inotify v0.11.5
[INFO] [stderr]     Checking wayland-client v0.31.15
[INFO] [stderr]     Checking serde-big-array v0.5.1
[INFO] [stderr]     Checking ringbuf v0.5.2
[INFO] [stderr]    Compiling minifb v0.28.0
[INFO] [stderr]     Checking raw-window-handle v0.6.2
[INFO] [stderr]    Compiling rfd v0.17.2
[INFO] [stderr]    Compiling gilrs v0.11.2
[INFO] [stderr]     Checking spin v0.9.9
[INFO] [stderr]    Compiling cpal v0.18.2
[INFO] [stderr]     Checking gilrs-core v0.6.8
[INFO] [stderr]     Checking wayland-cursor v0.29.5
[INFO] [stderr]     Checking alsa v0.11.0
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]     Checking pollster v0.4.0
[INFO] [stderr]     Checking dasp_sample v0.11.0
[INFO] [stderr]     Checking wayland-protocols v0.32.13
[INFO] [stderr]     Checking cranelift-frontend v0.136.1
[INFO] [stderr]     Checking cranelift-native v0.136.1
[INFO] [stderr]     Checking gb-core v0.1.0 (/opt/rustwide/workdir/gb-core)
[INFO] [stdout] warning: unused import: `de::value`
[INFO] [stdout]  --> gb-core/src/cpu.rs:1:37
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::{Deserialize, Serialize, de::value};
[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: `de::value`
[INFO] [stdout]  --> gb-core/src/instructions.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Deserialize, de::value};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `bus::Bus` and `registers`
[INFO] [stdout]  --> gb-core/src/registers.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...::{bus::Bus, instructions::{Condition, Delta, Reg8::{self, A, B, C, D, E, F, H, L}, Reg16::{self, AF, BC, DE, HL, SP}}, registers};
[INFO] [stdout]   |       ^^^^^^^^                                                                                                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_big_array::BigArray`
[INFO] [stdout]  --> gb-core/src/bus.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde_big_array::BigArray;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> gb-core/src/cartridge/mbc1.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::cartridge::mapper::{self, Mapper};
[INFO] [stdout]   |                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> gb-core/src/cartridge/mbc2.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::cartridge::mapper::{self, Mapper};
[INFO] [stdout]   |                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> gb-core/src/cartridge/mbc3.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::cartridge::mapper::{self, Mapper};
[INFO] [stdout]   |                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> gb-core/src/cartridge/mod.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `de::value`
[INFO] [stdout]  --> gb-core/src/ppu.rs:1:37
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::{Deserialize, Serialize, de::value};
[INFO] [stdout]   |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bus::Bus`
[INFO] [stdout]  --> gb-core/src/ppu.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{bus::Bus, ppu::PpuMode::OamScan};
[INFO] [stdout]   |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::value`
[INFO] [stdout]  --> gb-core/src/apu.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::de::value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `boxed::Box`
[INFO] [stdout]  --> gb-core/src/objects.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use alloc::{boxed::Box, string::String, vec::Vec};
[INFO] [stdout]   |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `de::value`
[INFO] [stdout]  --> gb-core/src/cpu.rs:1:37
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::{Deserialize, Serialize, de::value};
[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: `de::value`
[INFO] [stdout]  --> gb-core/src/instructions.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Deserialize, de::value};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `bus::Bus` and `registers`
[INFO] [stdout]  --> gb-core/src/registers.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...::{bus::Bus, instructions::{Condition, Delta, Reg8::{self, A, B, C, D, E, F, H, L}, Reg16::{self, AF, BC, DE, HL, SP}}, registers};
[INFO] [stdout]   |       ^^^^^^^^                                                                                                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_big_array::BigArray`
[INFO] [stdout]  --> gb-core/src/bus.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde_big_array::BigArray;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> gb-core/src/cartridge/mbc1.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::cartridge::mapper::{self, Mapper};
[INFO] [stdout]   |                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> gb-core/src/cartridge/mbc2.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::cartridge::mapper::{self, Mapper};
[INFO] [stdout]   |                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> gb-core/src/cartridge/mbc3.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::cartridge::mapper::{self, Mapper};
[INFO] [stdout]   |                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> gb-core/src/cartridge/mod.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `de::value`
[INFO] [stdout]  --> gb-core/src/ppu.rs:1:37
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::{Deserialize, Serialize, de::value};
[INFO] [stdout]   |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bus::Bus`
[INFO] [stdout]  --> gb-core/src/ppu.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{bus::Bus, ppu::PpuMode::OamScan};
[INFO] [stdout]   |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::value`
[INFO] [stdout]  --> gb-core/src/apu.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde::de::value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `boxed::Box`
[INFO] [stdout]  --> gb-core/src/objects.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use alloc::{boxed::Box, string::String, vec::Vec};
[INFO] [stdout]   |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> gb-core/src/cpu.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |         let mut iflag = bus.read(0xFF0F);
[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: `log_iflag`
[INFO] [stdout]    --> gb-core/src/cpu.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let log_iflag = iflag;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_iflag`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cpu`
[INFO] [stdout]    --> gb-core/src/instructions.rs:115:43
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub fn unimplemented(instr: &Instruction, cpu: &mut Cpu, _: &mut Bus) -> u8 {
[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]    --> gb-core/src/instructions.rs:119:33
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub fn nop(instr: &Instruction, cpu: &mut Cpu, _: &mut Bus) -> u8 {
[INFO] [stdout]     |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> gb-core/src/instructions.rs:126:47
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn ld_r_r(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]     |                                               ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> gb-core/src/instructions.rs:284:46
[INFO] [stdout]     |
[INFO] [stdout] 284 | fn inc_r(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]     |                                              ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> gb-core/src/instructions.rs:319:46
[INFO] [stdout]     |
[INFO] [stdout] 319 | fn dec_r(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]     |                                              ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> gb-core/src/instructions.rs:383:48
[INFO] [stdout]     |
[INFO] [stdout] 383 | fn add_r_r(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]     |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> gb-core/src/instructions.rs:466:48
[INFO] [stdout]     |
[INFO] [stdout] 466 | fn adc_r_r(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]     |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> gb-core/src/instructions.rs:553:48
[INFO] [stdout]     |
[INFO] [stdout] 553 | fn sub_r_r(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]     |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> gb-core/src/instructions.rs:614:47
[INFO] [stdout]     |
[INFO] [stdout] 614 | fn cp_r_r(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]     |                                               ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> gb-core/src/instructions.rs:670:47
[INFO] [stdout]     |
[INFO] [stdout] 670 | fn or_r_r(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 { // freddy fazfunction
[INFO] [stdout]     |                                               ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> gb-core/src/instructions.rs:717:48
[INFO] [stdout]     |
[INFO] [stdout] 717 | fn xor_r_r(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]     |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> gb-core/src/instructions.rs:764:48
[INFO] [stdout]     |
[INFO] [stdout] 764 | fn and_r_r(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]     |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> gb-core/src/instructions.rs:812:48
[INFO] [stdout]     |
[INFO] [stdout] 812 | fn sbc_r_r(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]     |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> gb-core/src/instructions.rs:927:46
[INFO] [stdout]     |
[INFO] [stdout] 927 | fn jp_rr(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]     |                                              ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]     --> gb-core/src/instructions.rs:1074:44
[INFO] [stdout]      |
[INFO] [stdout] 1074 | fn scf(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]      |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]     --> gb-core/src/instructions.rs:1082:44
[INFO] [stdout]      |
[INFO] [stdout] 1082 | fn ccf(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]      |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cpu`
[INFO] [stdout]     --> gb-core/src/instructions.rs:1104:30
[INFO] [stdout]      |
[INFO] [stdout] 1104 | fn stop(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {// not touching this with a 10 foot pole
[INFO] [stdout]      |                              ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]     --> gb-core/src/instructions.rs:1117:43
[INFO] [stdout]      |
[INFO] [stdout] 1117 | fn di(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]      |                                           ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instr`
[INFO] [stdout]     --> gb-core/src/instructions.rs:1122:7
[INFO] [stdout]      |
[INFO] [stdout] 1122 | fn cb(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]      |       ^^^^^ help: if this is intentional, prefix it with an underscore: `_instr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]     --> gb-core/src/instructions.rs:1145:43
[INFO] [stdout]      |
[INFO] [stdout] 1145 | fn ei(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]      |                                           ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]     --> gb-core/src/instructions.rs:1150:44
[INFO] [stdout]      |
[INFO] [stdout] 1150 | fn daa(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]      |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]     --> gb-core/src/instructions.rs:1186:44
[INFO] [stdout]      |
[INFO] [stdout] 1186 | fn cpl(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]      |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]     --> gb-core/src/instructions.rs:1308:45
[INFO] [stdout]      |
[INFO] [stdout] 1308 | fn rrca(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]      |                                             ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]     --> gb-core/src/instructions.rs:1394:44
[INFO] [stdout]      |
[INFO] [stdout] 1394 | fn rla(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]      |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]     --> gb-core/src/instructions.rs:1410:44
[INFO] [stdout]      |
[INFO] [stdout] 1410 | fn rra(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]      |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]     --> gb-core/src/instructions.rs:1446:45
[INFO] [stdout]      |
[INFO] [stdout] 1446 | fn rlca(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]      |                                             ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> gb-core/src/instructions.rs:2035:9
[INFO] [stdout]      |
[INFO] [stdout] 2035 |         (m, ops) => panic!("no handler for {m} {ops:?}, opcode: {opcode:x}"),
[INFO] [stdout]      |         ^^^^^^^^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> gb-core/src/instructions.rs:2035:9
[INFO] [stdout]      |
[INFO] [stdout] 1908 |         ("NOP", Operands::None) => nop,
[INFO] [stdout]      |         ----------------------- matches some of the same values
[INFO] [stdout] 1909 |
[INFO] [stdout] 1910 |         ("LD", Operands::RegReg(_, _)) => ld_r_r,
[INFO] [stdout]      |         ------------------------------ matches some of the same values
[INFO] [stdout] 1911 |         ("LD", Operands::RegImm8(_)) => ld_r_n8,
[INFO] [stdout]      |         ---------------------------- matches some of the same values
[INFO] [stdout] 1912 |         ("LD", Operands::Reg16Reg16(_, _)) => ld_rr_rr,
[INFO] [stdout]      |         ---------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 2035 |         (m, ops) => panic!("no handler for {m} {ops:?}, opcode: {opcode:x}"),
[INFO] [stdout]      |         ^^^^^^^^ ...and 89 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: `is_cb`
[INFO] [stdout]     --> gb-core/src/instructions.rs:1906:29
[INFO] [stdout]      |
[INFO] [stdout] 1906 | fn dispatch_for(opcode: u8, is_cb: bool, mnemonic: &String, operands: Operands) -> fn(&Instruction, &mut Cpu, &mut Bus) -> u8 {
[INFO] [stdout]      |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_is_cb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> gb-core/src/registers.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 248 |             _ => unreachable!(),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> gb-core/src/registers.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 244 |             NZ => !self.get_flag(FlagBits::Z),
[INFO] [stdout]     |             -- matches some of the same values
[INFO] [stdout] 245 |             Z => self.get_flag(FlagBits::Z),
[INFO] [stdout]     |             - matches some of the same values
[INFO] [stdout] 246 |             NC => !self.get_flag(FlagBits::C),
[INFO] [stdout]     |             -- matches some of the same values
[INFO] [stdout] 247 |             C => self.get_flag(FlagBits::C),
[INFO] [stdout]     |             - matches some of the same values
[INFO] [stdout] 248 |             _ => unreachable!(),
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> gb-core/src/cartridge/rom_data.rs:21:25
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn write(&mut self, addr: u16, value: u8) {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> gb-core/src/cartridge/rom_data.rs:21:36
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn write(&mut self, addr: u16, value: u8) {
[INFO] [stdout]    |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cgb`
[INFO] [stdout]   --> gb-core/src/ppu.rs:40:22
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn post_boot(cgb: bool) -> Self {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_cgb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> gb-core/src/cpu.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |         let mut iflag = bus.read(0xFF0F);
[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: `log_iflag`
[INFO] [stdout]    --> gb-core/src/cpu.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let log_iflag = iflag;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_iflag`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cpu`
[INFO] [stdout]    --> gb-core/src/instructions.rs:115:43
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub fn unimplemented(instr: &Instruction, cpu: &mut Cpu, _: &mut Bus) -> u8 {
[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]    --> gb-core/src/instructions.rs:119:33
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub fn nop(instr: &Instruction, cpu: &mut Cpu, _: &mut Bus) -> u8 {
[INFO] [stdout]     |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> gb-core/src/instructions.rs:126:47
[INFO] [stdout]     |
[INFO] [stdout] 126 | fn ld_r_r(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]     |                                               ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> gb-core/src/instructions.rs:284:46
[INFO] [stdout]     |
[INFO] [stdout] 284 | fn inc_r(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]     |                                              ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> gb-core/src/instructions.rs:319:46
[INFO] [stdout]     |
[INFO] [stdout] 319 | fn dec_r(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]     |                                              ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> gb-core/src/instructions.rs:383:48
[INFO] [stdout]     |
[INFO] [stdout] 383 | fn add_r_r(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]     |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> gb-core/src/instructions.rs:466:48
[INFO] [stdout]     |
[INFO] [stdout] 466 | fn adc_r_r(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]     |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> gb-core/src/instructions.rs:553:48
[INFO] [stdout]     |
[INFO] [stdout] 553 | fn sub_r_r(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]     |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> gb-core/src/instructions.rs:614:47
[INFO] [stdout]     |
[INFO] [stdout] 614 | fn cp_r_r(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]     |                                               ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> gb-core/src/instructions.rs:670:47
[INFO] [stdout]     |
[INFO] [stdout] 670 | fn or_r_r(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 { // freddy fazfunction
[INFO] [stdout]     |                                               ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> gb-core/src/instructions.rs:717:48
[INFO] [stdout]     |
[INFO] [stdout] 717 | fn xor_r_r(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]     |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> gb-core/src/instructions.rs:764:48
[INFO] [stdout]     |
[INFO] [stdout] 764 | fn and_r_r(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]     |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> gb-core/src/instructions.rs:812:48
[INFO] [stdout]     |
[INFO] [stdout] 812 | fn sbc_r_r(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]     |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> gb-core/src/instructions.rs:927:46
[INFO] [stdout]     |
[INFO] [stdout] 927 | fn jp_rr(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]     |                                              ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]     --> gb-core/src/instructions.rs:1074:44
[INFO] [stdout]      |
[INFO] [stdout] 1074 | fn scf(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]      |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]     --> gb-core/src/instructions.rs:1082:44
[INFO] [stdout]      |
[INFO] [stdout] 1082 | fn ccf(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]      |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cpu`
[INFO] [stdout]     --> gb-core/src/instructions.rs:1104:30
[INFO] [stdout]      |
[INFO] [stdout] 1104 | fn stop(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {// not touching this with a 10 foot pole
[INFO] [stdout]      |                              ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]     --> gb-core/src/instructions.rs:1117:43
[INFO] [stdout]      |
[INFO] [stdout] 1117 | fn di(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]      |                                           ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instr`
[INFO] [stdout]     --> gb-core/src/instructions.rs:1122:7
[INFO] [stdout]      |
[INFO] [stdout] 1122 | fn cb(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]      |       ^^^^^ help: if this is intentional, prefix it with an underscore: `_instr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]     --> gb-core/src/instructions.rs:1145:43
[INFO] [stdout]      |
[INFO] [stdout] 1145 | fn ei(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]      |                                           ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]     --> gb-core/src/instructions.rs:1150:44
[INFO] [stdout]      |
[INFO] [stdout] 1150 | fn daa(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]      |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]     --> gb-core/src/instructions.rs:1186:44
[INFO] [stdout]      |
[INFO] [stdout] 1186 | fn cpl(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]      |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]     --> gb-core/src/instructions.rs:1308:45
[INFO] [stdout]      |
[INFO] [stdout] 1308 | fn rrca(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]      |                                             ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]     --> gb-core/src/instructions.rs:1394:44
[INFO] [stdout]      |
[INFO] [stdout] 1394 | fn rla(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]      |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]     --> gb-core/src/instructions.rs:1410:44
[INFO] [stdout]      |
[INFO] [stdout] 1410 | fn rra(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]      |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]     --> gb-core/src/instructions.rs:1446:45
[INFO] [stdout]      |
[INFO] [stdout] 1446 | fn rlca(instr: &Instruction, cpu: &mut Cpu, bus: &mut Bus) -> u8 {
[INFO] [stdout]      |                                             ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> gb-core/src/instructions.rs:2035:9
[INFO] [stdout]      |
[INFO] [stdout] 2035 |         (m, ops) => panic!("no handler for {m} {ops:?}, opcode: {opcode:x}"),
[INFO] [stdout]      |         ^^^^^^^^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> gb-core/src/instructions.rs:2035:9
[INFO] [stdout]      |
[INFO] [stdout] 1908 |         ("NOP", Operands::None) => nop,
[INFO] [stdout]      |         ----------------------- matches some of the same values
[INFO] [stdout] 1909 |
[INFO] [stdout] 1910 |         ("LD", Operands::RegReg(_, _)) => ld_r_r,
[INFO] [stdout]      |         ------------------------------ matches some of the same values
[INFO] [stdout] 1911 |         ("LD", Operands::RegImm8(_)) => ld_r_n8,
[INFO] [stdout]      |         ---------------------------- matches some of the same values
[INFO] [stdout] 1912 |         ("LD", Operands::Reg16Reg16(_, _)) => ld_rr_rr,
[INFO] [stdout]      |         ---------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 2035 |         (m, ops) => panic!("no handler for {m} {ops:?}, opcode: {opcode:x}"),
[INFO] [stdout]      |         ^^^^^^^^ ...and 89 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: `is_cb`
[INFO] [stdout]     --> gb-core/src/instructions.rs:1906:29
[INFO] [stdout]      |
[INFO] [stdout] 1906 | fn dispatch_for(opcode: u8, is_cb: bool, mnemonic: &String, operands: Operands) -> fn(&Instruction, &mut Cpu, &mut Bus) -> u8 {
[INFO] [stdout]      |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_is_cb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rp` is never read
[INFO] [stdout]   --> gb-core/src/bus.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Bus {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 38 |     rp: u8,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ram_bank_count` is never read
[INFO] [stdout]   --> gb-core/src/cartridge/mbc3.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct Mbc3 {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     ram_bank_count: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_stat_line_suppressed` is never used
[INFO] [stdout]    --> gb-core/src/ppu.rs:516:8
[INFO] [stdout]     |
[INFO] [stdout]  90 | impl Ppu {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 516 |     fn update_stat_line_suppressed(&mut self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sweep_timer`, `sweep_enable`, and `shadow_freq` are never read
[INFO] [stdout]   --> gb-core/src/apu.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct PulseChannel {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 47 |     sweep_timer: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 48 |     sweep_enable: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 49 |     shadow_freq: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PulseChannel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `initial_length` is never used
[INFO] [stdout]   --> gb-core/src/apu.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl PulseChannel {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     fn initial_length(&self) -> u16 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> gb-core/src/registers.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 248 |             _ => unreachable!(),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> gb-core/src/registers.rs:248:13
[INFO] [stdout]     |
[INFO] [stdout] 244 |             NZ => !self.get_flag(FlagBits::Z),
[INFO] [stdout]     |             -- matches some of the same values
[INFO] [stdout] 245 |             Z => self.get_flag(FlagBits::Z),
[INFO] [stdout]     |             - matches some of the same values
[INFO] [stdout] 246 |             NC => !self.get_flag(FlagBits::C),
[INFO] [stdout]     |             -- matches some of the same values
[INFO] [stdout] 247 |             C => self.get_flag(FlagBits::C),
[INFO] [stdout]     |             - matches some of the same values
[INFO] [stdout] 248 |             _ => unreachable!(),
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> gb-core/src/cartridge/rom_data.rs:21:25
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn write(&mut self, addr: u16, value: u8) {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> gb-core/src/cartridge/rom_data.rs:21:36
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn write(&mut self, addr: u16, value: u8) {
[INFO] [stdout]    |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cgb`
[INFO] [stdout]   --> gb-core/src/ppu.rs:40:22
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn post_boot(cgb: bool) -> Self {
[INFO] [stdout]    |                      ^^^ help: if this is intentional, prefix it with an underscore: `_cgb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rp` is never read
[INFO] [stdout]   --> gb-core/src/bus.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Bus {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 38 |     rp: u8,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ram_bank_count` is never read
[INFO] [stdout]   --> gb-core/src/cartridge/mbc3.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct Mbc3 {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     ram_bank_count: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_stat_line_suppressed` is never used
[INFO] [stdout]    --> gb-core/src/ppu.rs:516:8
[INFO] [stdout]     |
[INFO] [stdout]  90 | impl Ppu {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 516 |     fn update_stat_line_suppressed(&mut self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sweep_timer`, `sweep_enable`, and `shadow_freq` are never read
[INFO] [stdout]   --> gb-core/src/apu.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct PulseChannel {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 47 |     sweep_timer: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 48 |     sweep_enable: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 49 |     shadow_freq: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PulseChannel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `initial_length` is never used
[INFO] [stdout]   --> gb-core/src/apu.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl PulseChannel {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     fn initial_length(&self) -> u16 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking gb-desktop v0.1.0 (/opt/rustwide/workdir/gb-desktop)
[INFO] [stdout] warning: unused import: `minifb::KeyRepeat::No`
[INFO] [stdout]  --> gb-desktop/src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use minifb::KeyRepeat::No;
[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: `HeapProd`
[INFO] [stdout]  --> gb-desktop/src/main.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ringbuf::{HeapCons, HeapProd, HeapRb, traits::{Consumer, Split}};
[INFO] [stdout]   |                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `minifb::KeyRepeat::No`
[INFO] [stdout]  --> gb-desktop/src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use minifb::KeyRepeat::No;
[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: `HeapProd`
[INFO] [stdout]  --> gb-desktop/src/main.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ringbuf::{HeapCons, HeapProd, HeapRb, traits::{Consumer, Split}};
[INFO] [stdout]   |                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stat`
[INFO] [stdout]   --> gb-desktop/src/desktop.rs:78:18
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let (ly, stat, lcdc) = ppu;
[INFO] [stdout]    |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_stat`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sample_rate`
[INFO] [stdout]   --> gb-desktop/src/main.rs:99:18
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let (stream, sample_rate) = setup_audio(consumer);
[INFO] [stdout]    |                  ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `flush` is never used
[INFO] [stdout]   --> gb-desktop/src/desktop.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl Tracer {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 86 |     fn flush(&mut self) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `flush` is never used
[INFO] [stdout]    --> gb-desktop/src/desktop.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout]  95 | impl Recorder {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 118 |     fn flush(&mut self) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SaveState` is never constructed
[INFO] [stdout]    --> gb-desktop/src/desktop.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 124 | struct SaveState {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> gb-desktop/src/desktop.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl SaveState {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 131 |     pub fn new(cpu: &Cpu, ppu: &Ppu, bus: &Bus) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `audio_producer` is never read
[INFO] [stdout]    --> gb-desktop/src/desktop.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct DesktopApp {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 145 |     audio_producer: HeapProd<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]   --> gb-desktop/src/main.rs:80:47
[INFO] [stdout]    |
[INFO] [stdout] 80 |         .filter(|&addr| addr == unimplemented as usize)
[INFO] [stdout]    |                                               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(function_casts_as_integer)]` on by default
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]    |
[INFO] [stdout] 80 |         .filter(|&addr| addr == unimplemented as *const () as usize)
[INFO] [stdout]    |                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]   --> gb-desktop/src/main.rs:87:47
[INFO] [stdout]    |
[INFO] [stdout] 87 |         .filter(|&addr| addr == unimplemented as usize)
[INFO] [stdout]    |                                               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]    |
[INFO] [stdout] 87 |         .filter(|&addr| addr == unimplemented as *const () as usize)
[INFO] [stdout]    |                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stat`
[INFO] [stdout]   --> gb-desktop/src/desktop.rs:78:18
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let (ly, stat, lcdc) = ppu;
[INFO] [stdout]    |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_stat`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sample_rate`
[INFO] [stdout]   --> gb-desktop/src/main.rs:99:18
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let (stream, sample_rate) = setup_audio(consumer);
[INFO] [stdout]    |                  ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `flush` is never used
[INFO] [stdout]   --> gb-desktop/src/desktop.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl Tracer {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 86 |     fn flush(&mut self) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `flush` is never used
[INFO] [stdout]    --> gb-desktop/src/desktop.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout]  95 | impl Recorder {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 118 |     fn flush(&mut self) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SaveState` is never constructed
[INFO] [stdout]    --> gb-desktop/src/desktop.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 124 | struct SaveState {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> gb-desktop/src/desktop.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl SaveState {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 131 |     pub fn new(cpu: &Cpu, ppu: &Ppu, bus: &Bus) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `audio_producer` is never read
[INFO] [stdout]    --> gb-desktop/src/desktop.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct DesktopApp {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 145 |     audio_producer: HeapProd<f32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]   --> gb-desktop/src/main.rs:80:47
[INFO] [stdout]    |
[INFO] [stdout] 80 |         .filter(|&addr| addr == unimplemented as usize)
[INFO] [stdout]    |                                               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(function_casts_as_integer)]` on by default
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]    |
[INFO] [stdout] 80 |         .filter(|&addr| addr == unimplemented as *const () as usize)
[INFO] [stdout]    |                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]   --> gb-desktop/src/main.rs:87:47
[INFO] [stdout]    |
[INFO] [stdout] 87 |         .filter(|&addr| addr == unimplemented as usize)
[INFO] [stdout]    |                                               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]    |
[INFO] [stdout] 87 |         .filter(|&addr| addr == unimplemented as *const () as usize)
[INFO] [stdout]    |                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 56s
[INFO] running `Command { std: "docker" "inspect" "3cc425123268667ddf19bb43fa14562ee22b55854ef5376aca82dafb086f1cc1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3cc425123268667ddf19bb43fa14562ee22b55854ef5376aca82dafb086f1cc1", kill_on_drop: false }`
[INFO] [stdout] 3cc425123268667ddf19bb43fa14562ee22b55854ef5376aca82dafb086f1cc1
