[INFO] cloning repository https://github.com/rvvvr/crude
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rvvvr/crude" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frvvvr%2Fcrude", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frvvvr%2Fcrude'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 240ef21d4ab12687d29567c3f52bbdf9e0e81612
[INFO] checking rvvvr/crude/240ef21d4ab12687d29567c3f52bbdf9e0e81612 against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frvvvr%2Fcrude" "/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/rvvvr/crude
[INFO] finished tweaking git repo https://github.com/rvvvr/crude
[INFO] tweaked toml for git repo https://github.com/rvvvr/crude written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/rvvvr/crude on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/rvvvr/crude 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" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/riptl/ppc750cl`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded sctk-adwaita v0.8.3
[INFO] [stderr]   Downloaded chlorine v1.0.13
[INFO] [stderr]   Downloaded zerocopy v0.8.17
[INFO] [stderr]   Downloaded imgui-rs-vulkan-renderer v1.16.0
[INFO] [stderr]   Downloaded winnow v0.7.0
[INFO] [stderr]   Downloaded bitmatch v0.1.1
[INFO] [stderr]   Downloaded imgui v0.12.0
[INFO] [stderr]   Downloaded boolean_expression v0.3.11
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.17
[INFO] [stderr]   Downloaded imgui-winit-support v0.12.0
[INFO] [stderr]   Downloaded imgui-sys v0.12.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 52330fff1858c6256deacf6f0b2536223dede5db141f5abbc30238be627da0cb
[INFO] running `Command { std: "docker" "start" "-a" "52330fff1858c6256deacf6f0b2536223dede5db141f5abbc30238be627da0cb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "52330fff1858c6256deacf6f0b2536223dede5db141f5abbc30238be627da0cb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "52330fff1858c6256deacf6f0b2536223dede5db141f5abbc30238be627da0cb", kill_on_drop: false }`
[INFO] [stdout] 52330fff1858c6256deacf6f0b2536223dede5db141f5abbc30238be627da0cb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d3078523b564ae3555d8fd564bb86ab55e282959a039f724297421e3964755c9
[INFO] running `Command { std: "docker" "start" "-a" "d3078523b564ae3555d8fd564bb86ab55e282959a039f724297421e3964755c9", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.16
[INFO] [stderr]     Checking log v0.4.25
[INFO] [stderr]    Compiling cc v1.2.11
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling wayland-sys v0.31.6
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]    Compiling quick-xml v0.37.2
[INFO] [stderr]    Compiling wayland-client v0.31.8
[INFO] [stderr]     Checking bytemuck v1.21.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling itertools v0.9.0
[INFO] [stderr]    Compiling zerocopy v0.8.17
[INFO] [stderr]     Checking miniz_oxide v0.8.3
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking ttf-parser v0.25.1
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]     Checking xcursor v0.3.8
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]    Compiling wayland-scanner v0.31.6
[INFO] [stderr]    Compiling wayland-backend v0.3.8
[INFO] [stderr]    Compiling imgui-sys v0.12.0
[INFO] [stderr]    Compiling boolean_expression v0.3.11
[INFO] [stderr]    Compiling built v0.7.5
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling rav1e v0.7.1
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking owned_ttf_parser v0.25.0
[INFO] [stderr]     Checking v_frame v0.3.8
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking fern v0.7.1
[INFO] [stderr]     Checking memmap2 v0.9.5
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]     Checking chlorine v1.0.13
[INFO] [stderr]     Checking ab_glyph v0.2.29
[INFO] [stderr]    Compiling winit v0.29.15
[INFO] [stderr]     Checking flate2 v1.0.35
[INFO] [stderr]     Checking av1-grain v0.2.3
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]     Checking safe_arch v0.7.4
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling serde v1.0.217
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking x11rb-protocol v0.13.1
[INFO] [stderr]    Compiling time-macros v0.2.19
[INFO] [stderr]     Checking wide v0.7.32
[INFO] [stderr]     Checking polling v3.7.4
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]    Compiling bitmatch v0.1.1
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking half v2.4.1
[INFO] [stderr]     Checking rgb v0.8.50
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]     Checking crude v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking time v0.3.37
[INFO] [stdout] warning: the feature `core_intrinsics` is internal to the compiler or standard library
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(core_intrinsics)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: using it is strongly discouraged
[INFO] [stdout]   = note: `#[warn(internal_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fs::File` and `io::Write`
[INFO] [stdout]  --> src/lib.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{fs::File, io::Write, sync::{atomic::AtomicU8, Arc, RwLock}};
[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: `ai_write_u16`
[INFO] [stdout]  --> src/lib.rs:6:36
[INFO] [stdout]   |
[INFO] [stdout] 6 | use audio_interface::{ai_read_u32, ai_write_u16, ai_write_u32, AudioInterface};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ops::Mul`
[INFO] [stdout]  --> src/cpu/arithmetic.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::Ordering, ops::Mul};
[INFO] [stdout]   |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]  --> src/cpu/arithmetic.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::debug;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/cpu/arithmetic.rs:107:16
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let simm = ((instr.simm() as i32) as u32);
[INFO] [stdout]     |                ^                            ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 107 -     let simm = ((instr.simm() as i32) as u32);
[INFO] [stdout] 107 +     let simm = (instr.simm() as i32) as u32 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::stdin`
[INFO] [stdout]  --> src/cpu/config.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::stdin;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `write_hid0`
[INFO] [stdout]  --> src/cpu/config.rs:5:33
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::{instr::Instruction, write_hid0, SYSTEMCALL_EXCEPTION};
[INFO] [stdout]   |                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]  --> src/cpu/load_store.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use log::debug;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]  --> src/cpu/mmu.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use log::debug;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]  --> src/cpu/util.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use log::debug;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/cpu/util.rs:73:15
[INFO] [stdout]    |
[INFO] [stdout] 73 |     } else if (exp >= 874) {
[INFO] [stdout]    |               ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 73 -     } else if (exp >= 874) {
[INFO] [stdout] 73 +     } else if exp >= 874  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]  --> src/cpu/control_flow.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use log::debug;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]  --> src/external_interface/ad16.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::debug;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/external_interface/bootrom.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::{Arc, Mutex, RwLock};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutex` and `intrinsics::unreachable`
[INFO] [stdout]  --> src/external_interface.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{intrinsics::unreachable, sync::{Arc, Mutex, RwLock}};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RwLock`
[INFO] [stdout]  --> src/dsp/mod.rs:1:96
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fs::File, io::Read, ops::Deref, sync::{atomic::{AtomicU16, AtomicU8, Ordering}, Arc, RwLock}};
[INFO] [stdout]   |                                                                                                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/dsp/dsp_interface.rs:65:19
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let length = (gc.dsp.ar_dma_cnt & !(1 << 31));
[INFO] [stdout]    |                      ^                              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 65 -         let length = (gc.dsp.ar_dma_cnt & !(1 << 31));
[INFO] [stdout] 65 +         let length = gc.dsp.ar_dma_cnt & !(1 << 31) ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `REG_AC0_H`, `REG_AC0_L`, and `REG_SR`
[INFO] [stdout]  --> src/dsp/dsp_load_store.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{DSP, REG_AC0_H, REG_AC0_L, REG_AC0_M, REG_AC1_M, REG_SR};
[INFO] [stdout]   |                  ^^^^^^^^^  ^^^^^^^^^                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking ultraviolet v0.9.2
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/external_interface/ad16.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 47 |               panic!();
[INFO] [stdout]    |               -------- any code following this expression is unreachable
[INFO] [stdout] 48 | /             match self.position {
[INFO] [stdout] 49 | |             1 => {
[INFO] [stdout] 50 | |                 self.reg &= !0xFF;
[INFO] [stdout] 51 | |                 self.reg |= *byte as u32;
[INFO] [stdout] ...  |
[INFO] [stdout] 71 | |             }
[INFO] [stdout]    | |_____________^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/external_interface/ad16.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 panic!();
[INFO] [stdout]    |                 -------- any code following this expression is unreachable
[INFO] [stdout] 59 |                 self.reg &= !(0xFF << 16);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/external_interface/ad16.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 panic!();
[INFO] [stdout]    |                 -------- any code following this expression is unreachable
[INFO] [stdout] 64 |                 self.reg &= !(0xFF << 24);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c1`
[INFO] [stdout]   --> src/cpu/arithmetic.rs:75:14
[INFO] [stdout]    |
[INFO] [stdout] 75 |     let (r1, c1) = (!gc.cpu.gprs[instr.a()]).overflowing_add(gc.cpu.gprs[instr.b()]);
[INFO] [stdout]    |              ^^ help: if this is intentional, prefix it with an underscore: `_c1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c2`
[INFO] [stdout]   --> src/cpu/arithmetic.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let (r, c2) = r1.overflowing_add(1);
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_c2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instr`
[INFO] [stdout]    --> src/cpu/config.rs:136:30
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn sc(gc: &mut Gamecube, instr: &Instruction) {
[INFO] [stdout]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_instr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/cpu/load_store.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let b = b(gc, instr);
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gc`
[INFO] [stdout]  --> src/cpu/cache.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn isync(gc: &mut Gamecube, instr: &Instruction) {
[INFO] [stdout]   |              ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instr`
[INFO] [stdout]  --> src/cpu/cache.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn isync(gc: &mut Gamecube, instr: &Instruction) {
[INFO] [stdout]   |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_instr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instr`
[INFO] [stdout]   --> src/cpu/control_flow.rs:82:31
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn rfi(gc: &mut Gamecube, instr: &Instruction) {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_instr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gc`
[INFO] [stdout]   --> src/audio_interface.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn ai_write_u16(gc: &mut Gamecube, offset: u32, val: u16) {
[INFO] [stdout]    |                     ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gc`
[INFO] [stdout]   --> src/processor_interface.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn pi_write_u32(gc: &mut Gamecube, offset: u32, val: u32) {
[INFO] [stdout]    |                     ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gc`
[INFO] [stdout]   --> src/processor_interface.rs:19:20
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn pi_read_u32(gc: &mut Gamecube, offset: u32) -> u32 {
[INFO] [stdout]    |                    ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `byte`
[INFO] [stdout]  --> src/external_interface/null.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn transfer_byte(&mut self, byte: &mut u8) {
[INFO] [stdout]   |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `byte`
[INFO] [stdout]  --> src/external_interface/no_device.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn transfer_byte(&mut self, byte: &mut u8) {
[INFO] [stdout]   |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gc`
[INFO] [stdout]   --> src/video_interface.rs:15:20
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn vi_read_u16(gc: &mut Gamecube, offset: u32) -> u16 {
[INFO] [stdout]    |                    ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gc`
[INFO] [stdout]   --> src/dvd_interface.rs:15:20
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn di_read_u32(gc: &mut Gamecube, offset: u32) -> u32 {
[INFO] [stdout]    |                    ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `irom_file`
[INFO] [stdout]   --> src/dsp/mod.rs:79:6
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let irom_file = File::open("get-your-own/dsp_rom.bin").unwrap().read_to_end(&mut irom_dump);
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_irom_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_IX4` is never used
[INFO] [stdout]   --> src/dsp/mod.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const REG_IX4: usize = 8;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `drom` and `exceptions` are never read
[INFO] [stdout]   --> src/dsp/mod.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct DSP {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 58 |     drom: [u16; 0x0800],
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 59 |     exceptions: u16,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking exr v1.73.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking wayland-protocols v0.31.2
[INFO] [stderr]     Checking wayland-cursor v0.31.8
[INFO] [stderr]    Compiling profiling-procmacros v1.0.16
[INFO] [stderr]     Checking profiling v1.0.16
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]     Checking tiff v0.9.1
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking calloop v0.12.4
[INFO] [stderr]     Checking calloop-wayland-source v0.2.0
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking simple_logger v5.0.0
[INFO] [stderr]     Checking ash-window v0.13.0
[INFO] [stdout] warning: unused import: `RwLock`
[INFO] [stdout]  --> src/main.rs:1:76
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{env, fs::File, io::{stdout, Read}, sync::{atomic::AtomicU8, Arc, RwLock}, time::SystemTime};
[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: `RwLock`
[INFO] [stdout]  --> src/main.rs:1:76
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{env, fs::File, io::{stdout, Read}, sync::{atomic::AtomicU8, Arc, RwLock}, time::SystemTime};
[INFO] [stdout]   |                                                                            ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `core_intrinsics` is internal to the compiler or standard library
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(core_intrinsics)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: using it is strongly discouraged
[INFO] [stdout]   = note: `#[warn(internal_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fs::File` and `io::Write`
[INFO] [stdout]  --> src/lib.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{fs::File, io::Write, sync::{atomic::AtomicU8, Arc, RwLock}};
[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: `ai_write_u16`
[INFO] [stdout]  --> src/lib.rs:6:36
[INFO] [stdout]   |
[INFO] [stdout] 6 | use audio_interface::{ai_read_u32, ai_write_u16, ai_write_u32, AudioInterface};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ops::Mul`
[INFO] [stdout]  --> src/cpu/arithmetic.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::Ordering, ops::Mul};
[INFO] [stdout]   |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]  --> src/cpu/arithmetic.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::debug;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/cpu/arithmetic.rs:107:16
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let simm = ((instr.simm() as i32) as u32);
[INFO] [stdout]     |                ^                            ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 107 -     let simm = ((instr.simm() as i32) as u32);
[INFO] [stdout] 107 +     let simm = (instr.simm() as i32) as u32 ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::stdin`
[INFO] [stdout]  --> src/cpu/config.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::stdin;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `write_hid0`
[INFO] [stdout]  --> src/cpu/config.rs:5:33
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::{instr::Instruction, write_hid0, SYSTEMCALL_EXCEPTION};
[INFO] [stdout]   |                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]  --> src/cpu/load_store.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use log::debug;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]  --> src/cpu/mmu.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use log::debug;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]  --> src/cpu/util.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use log::debug;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/cpu/util.rs:73:15
[INFO] [stdout]    |
[INFO] [stdout] 73 |     } else if (exp >= 874) {
[INFO] [stdout]    |               ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 73 -     } else if (exp >= 874) {
[INFO] [stdout] 73 +     } else if exp >= 874  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]  --> src/cpu/control_flow.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use log::debug;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::debug`
[INFO] [stdout]  --> src/external_interface/ad16.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::debug;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/external_interface/bootrom.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::{Arc, Mutex, RwLock};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutex` and `intrinsics::unreachable`
[INFO] [stdout]  --> src/external_interface.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{intrinsics::unreachable, sync::{Arc, Mutex, RwLock}};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RwLock`
[INFO] [stdout]  --> src/dsp/mod.rs:1:96
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fs::File, io::Read, ops::Deref, sync::{atomic::{AtomicU16, AtomicU8, Ordering}, Arc, RwLock}};
[INFO] [stdout]   |                                                                                                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/dsp/dsp_interface.rs:65:19
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let length = (gc.dsp.ar_dma_cnt & !(1 << 31));
[INFO] [stdout]    |                      ^                              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 65 -         let length = (gc.dsp.ar_dma_cnt & !(1 << 31));
[INFO] [stdout] 65 +         let length = gc.dsp.ar_dma_cnt & !(1 << 31) ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `REG_AC0_H`, `REG_AC0_L`, and `REG_SR`
[INFO] [stdout]  --> src/dsp/dsp_load_store.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{DSP, REG_AC0_H, REG_AC0_L, REG_AC0_M, REG_AC1_M, REG_SR};
[INFO] [stdout]   |                  ^^^^^^^^^  ^^^^^^^^^                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/external_interface/ad16.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 47 |               panic!();
[INFO] [stdout]    |               -------- any code following this expression is unreachable
[INFO] [stdout] 48 | /             match self.position {
[INFO] [stdout] 49 | |             1 => {
[INFO] [stdout] 50 | |                 self.reg &= !0xFF;
[INFO] [stdout] 51 | |                 self.reg |= *byte as u32;
[INFO] [stdout] ...  |
[INFO] [stdout] 71 | |             }
[INFO] [stdout]    | |_____________^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/external_interface/ad16.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 panic!();
[INFO] [stdout]    |                 -------- any code following this expression is unreachable
[INFO] [stdout] 59 |                 self.reg &= !(0xFF << 16);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/external_interface/ad16.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 panic!();
[INFO] [stdout]    |                 -------- any code following this expression is unreachable
[INFO] [stdout] 64 |                 self.reg &= !(0xFF << 24);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c1`
[INFO] [stdout]   --> src/cpu/arithmetic.rs:75:14
[INFO] [stdout]    |
[INFO] [stdout] 75 |     let (r1, c1) = (!gc.cpu.gprs[instr.a()]).overflowing_add(gc.cpu.gprs[instr.b()]);
[INFO] [stdout]    |              ^^ help: if this is intentional, prefix it with an underscore: `_c1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c2`
[INFO] [stdout]   --> src/cpu/arithmetic.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let (r, c2) = r1.overflowing_add(1);
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_c2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instr`
[INFO] [stdout]    --> src/cpu/config.rs:136:30
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn sc(gc: &mut Gamecube, instr: &Instruction) {
[INFO] [stdout]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_instr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/cpu/load_store.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let b = b(gc, instr);
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gc`
[INFO] [stdout]  --> src/cpu/cache.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn isync(gc: &mut Gamecube, instr: &Instruction) {
[INFO] [stdout]   |              ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instr`
[INFO] [stdout]  --> src/cpu/cache.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn isync(gc: &mut Gamecube, instr: &Instruction) {
[INFO] [stdout]   |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_instr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instr`
[INFO] [stdout]   --> src/cpu/control_flow.rs:82:31
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn rfi(gc: &mut Gamecube, instr: &Instruction) {
[INFO] [stdout]    |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_instr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gc`
[INFO] [stdout]   --> src/audio_interface.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn ai_write_u16(gc: &mut Gamecube, offset: u32, val: u16) {
[INFO] [stdout]    |                     ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gc`
[INFO] [stdout]   --> src/processor_interface.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn pi_write_u32(gc: &mut Gamecube, offset: u32, val: u32) {
[INFO] [stdout]    |                     ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gc`
[INFO] [stdout]   --> src/processor_interface.rs:19:20
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn pi_read_u32(gc: &mut Gamecube, offset: u32) -> u32 {
[INFO] [stdout]    |                    ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `byte`
[INFO] [stdout]  --> src/external_interface/null.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn transfer_byte(&mut self, byte: &mut u8) {
[INFO] [stdout]   |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `byte`
[INFO] [stdout]  --> src/external_interface/no_device.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn transfer_byte(&mut self, byte: &mut u8) {
[INFO] [stdout]   |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gc`
[INFO] [stdout]   --> src/video_interface.rs:15:20
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn vi_read_u16(gc: &mut Gamecube, offset: u32) -> u16 {
[INFO] [stdout]    |                    ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gc`
[INFO] [stdout]   --> src/dvd_interface.rs:15:20
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn di_read_u32(gc: &mut Gamecube, offset: u32) -> u32 {
[INFO] [stdout]    |                    ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `irom_file`
[INFO] [stdout]   --> src/dsp/mod.rs:79:6
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let irom_file = File::open("get-your-own/dsp_rom.bin").unwrap().read_to_end(&mut irom_dump);
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_irom_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_IX4` is never used
[INFO] [stdout]   --> src/dsp/mod.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const REG_IX4: usize = 8;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `drom` and `exceptions` are never read
[INFO] [stdout]   --> src/dsp/mod.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct DSP {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 58 |     drom: [u16; 0x0800],
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 59 |     exceptions: u16,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking imgui v0.12.0
[INFO] [stderr]     Checking wayland-protocols-wlr v0.2.0
[INFO] [stderr]     Checking wayland-protocols-plasma v0.2.0
[INFO] [stderr]     Checking ppc750cl v0.2.0 (https://github.com/riptl/ppc750cl#9ae36eef)
[INFO] [stderr]     Checking imgui-rs-vulkan-renderer v1.16.0
[INFO] [stderr]     Checking smithay-client-toolkit v0.18.1
[INFO] [stderr]     Checking sctk-adwaita v0.8.3
[INFO] [stderr]     Checking ravif v0.11.11
[INFO] [stderr]     Checking image v0.25.5
[INFO] [stderr]     Checking x11rb v0.13.1
[INFO] [stderr]     Checking imgui-winit-support v0.12.0
[INFO] [stderr]     Checking dbg v0.1.0 (/opt/rustwide/workdir/dbg)
[INFO] [stdout] warning: unused import: `HiDpiMode`
[INFO] [stdout]   --> dbg/src/ext/mod.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 | use imgui_winit_support::{HiDpiMode, WinitPlatform};
[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: `path::PathBuf`
[INFO] [stdout]  --> dbg/src/backend.rs:1:94
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashSet, fs::File, io::Read, panic::{catch_unwind, AssertUnwindSafe}, path::PathBuf, sync::{atomic::{AtomicU32, At...
[INFO] [stdout]   |                                                                                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Message`
[INFO] [stdout]  --> dbg/src/main.rs:7:35
[INFO] [stdout]   |
[INFO] [stdout] 7 | use backend::{start_emu, Command, Message, SharedInstructionBuffer, SharedProcessorState};
[INFO] [stdout]   |                                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `disassembler::disassemble`
[INFO] [stdout]  --> dbg/src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use disassembler::disassemble;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ImColor32` and `InputTextCallback`
[INFO] [stdout]   --> dbg/src/main.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 | use imgui::{Condition, ImColor32, InputTextCallback, StyleColor};
[INFO] [stdout]    |                        ^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HiDpiMode`
[INFO] [stdout]   --> dbg/src/ext/mod.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 | use imgui_winit_support::{HiDpiMode, WinitPlatform};
[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: `path::PathBuf`
[INFO] [stdout]  --> dbg/src/backend.rs:1:94
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashSet, fs::File, io::Read, panic::{catch_unwind, AssertUnwindSafe}, path::PathBuf, sync::{atomic::{AtomicU32, At...
[INFO] [stdout]   |                                                                                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Message`
[INFO] [stdout]  --> dbg/src/main.rs:7:35
[INFO] [stdout]   |
[INFO] [stdout] 7 | use backend::{start_emu, Command, Message, SharedInstructionBuffer, SharedProcessorState};
[INFO] [stdout]   |                                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `disassembler::disassemble`
[INFO] [stdout]  --> dbg/src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use disassembler::disassemble;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ImColor32` and `InputTextCallback`
[INFO] [stdout]   --> dbg/src/main.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 | use imgui::{Condition, ImColor32, InputTextCallback, StyleColor};
[INFO] [stdout]    |                        ^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> dbg/src/ext/mod.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let mut platform = WinitPlatform::init(&mut imgui);
[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: `new_size`
[INFO] [stdout]    --> dbg/src/ext/mod.rs:309:49
[INFO] [stdout]     |
[INFO] [stdout] 309 |                     event: WindowEvent::Resized(new_size),
[INFO] [stdout]     |                                                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_size`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> dbg/src/ext/mod.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let mut platform = WinitPlatform::init(&mut imgui);
[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: `new_size`
[INFO] [stdout]    --> dbg/src/ext/mod.rs:309:49
[INFO] [stdout]     |
[INFO] [stdout] 309 |                     event: WindowEvent::Resized(new_size),
[INFO] [stdout]     |                                                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_size`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> dbg/src/ext/mod.rs:591:19
[INFO] [stdout]     |
[INFO] [stdout] 591 |     let message = CStr::from_ptr((*p_callback_data).p_message);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> dbg/src/ext/mod.rs:583:1
[INFO] [stdout]     |
[INFO] [stdout] 583 | / unsafe extern "system" fn vulkan_debug_callback(
[INFO] [stdout] 584 | |     flag: vk::DebugUtilsMessageSeverityFlagsEXT,
[INFO] [stdout] 585 | |     typ: vk::DebugUtilsMessageTypeFlagsEXT,
[INFO] [stdout] 586 | |     p_callback_data: *const vk::DebugUtilsMessengerCallbackDataEXT,
[INFO] [stdout] 587 | |     _: *mut c_void,
[INFO] [stdout] 588 | | ) -> vk::Bool32 {
[INFO] [stdout]     | |_______________^
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> dbg/src/ext/mod.rs:591:34
[INFO] [stdout]     |
[INFO] [stdout] 591 |     let message = CStr::from_ptr((*p_callback_data).p_message);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> dbg/src/ext/mod.rs:591:19
[INFO] [stdout]     |
[INFO] [stdout] 591 |     let message = CStr::from_ptr((*p_callback_data).p_message);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> dbg/src/ext/mod.rs:583:1
[INFO] [stdout]     |
[INFO] [stdout] 583 | / unsafe extern "system" fn vulkan_debug_callback(
[INFO] [stdout] 584 | |     flag: vk::DebugUtilsMessageSeverityFlagsEXT,
[INFO] [stdout] 585 | |     typ: vk::DebugUtilsMessageTypeFlagsEXT,
[INFO] [stdout] 586 | |     p_callback_data: *const vk::DebugUtilsMessengerCallbackDataEXT,
[INFO] [stdout] 587 | |     _: *mut c_void,
[INFO] [stdout] 588 | | ) -> vk::Bool32 {
[INFO] [stdout]     | |_______________^
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> dbg/src/ext/mod.rs:591:34
[INFO] [stdout]     |
[INFO] [stdout] 591 |     let message = CStr::from_ptr((*p_callback_data).p_message);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> dbg/src/backend.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let result = catch_unwind(AssertUnwindSafe(|| {
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx_m`
[INFO] [stdout]   --> dbg/src/backend.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let (tx_m, rx_m) = channel();
[INFO] [stdout]    |          ^^^^ help: if this is intentional, prefix it with an underscore: `_tx_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> dbg/src/backend.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let result = catch_unwind(AssertUnwindSafe(|| {
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx_m`
[INFO] [stdout]   --> dbg/src/backend.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let (tx_m, rx_m) = channel();
[INFO] [stdout]    |          ^^^^ help: if this is intentional, prefix it with an underscore: `_tx_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> dbg/src/main.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let mut offset = 0f32;
[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]   --> dbg/src/main.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let mut offset = 0f32;
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> dbg/src/main.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let mut offset = 0f32;
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `emu_messages`
[INFO] [stdout]   --> dbg/src/main.rs:19:25
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let (emu_commander, emu_messages) = start_emu(env::args().nth(1).unwrap(), instruction_buffer.clone(), processor_state.clone());
[INFO] [stdout]    |                         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_emu_messages`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]   --> dbg/src/main.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let mut offset = 0f32;
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `disassemble` is never used
[INFO] [stdout]  --> dbg/src/disassembler.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn disassemble(instr: u32) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `emu_messages`
[INFO] [stdout]   --> dbg/src/main.rs:19:25
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let (emu_commander, emu_messages) = start_emu(env::args().nth(1).unwrap(), instruction_buffer.clone(), processor_state.clone());
[INFO] [stdout]    |                         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_emu_messages`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `disassemble` is never used
[INFO] [stdout]  --> dbg/src/disassembler.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn disassemble(instr: u32) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `disasm_addis` is never used
[INFO] [stdout]   --> dbg/src/disassembler.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn disasm_addis(instr: Instruction) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `disasm_addis` is never used
[INFO] [stdout]   --> dbg/src/disassembler.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn disasm_addis(instr: Instruction) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 39s
[INFO] running `Command { std: "docker" "inspect" "d3078523b564ae3555d8fd564bb86ab55e282959a039f724297421e3964755c9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d3078523b564ae3555d8fd564bb86ab55e282959a039f724297421e3964755c9", kill_on_drop: false }`
[INFO] [stdout] d3078523b564ae3555d8fd564bb86ab55e282959a039f724297421e3964755c9
