[INFO] cloning repository https://github.com/ncarrillo/emerald [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ncarrillo/emerald" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fncarrillo%2Femerald", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fncarrillo%2Femerald'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 87e3b4b61151fa37e1a5b17b1d2f4ea11bd0d5ff [INFO] checking ncarrillo/emerald/87e3b4b61151fa37e1a5b17b1d2f4ea11bd0d5ff against master#75530e9f72a1990ed2305e16fd51d02f47048f12 for pr-135899 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fncarrillo%2Femerald" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/ncarrillo/emerald on toolchain 75530e9f72a1990ed2305e16fd51d02f47048f12 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+75530e9f72a1990ed2305e16fd51d02f47048f12" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/ncarrillo/emerald [INFO] finished tweaking git repo https://github.com/ncarrillo/emerald [INFO] tweaked toml for git repo https://github.com/ncarrillo/emerald written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/ncarrillo/emerald 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" "+75530e9f72a1990ed2305e16fd51d02f47048f12" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded lending-iterator v0.1.7 [INFO] [stderr] Downloaded ext-trait-proc_macros v1.0.1 [INFO] [stderr] Downloaded ext-trait v1.0.1 [INFO] [stderr] Downloaded extension-traits v1.0.1 [INFO] [stderr] Downloaded lending-iterator-proc_macros v0.1.7 [INFO] [stderr] Downloaded polonius-the-crab v0.2.1 [INFO] [stderr] Downloaded wgpu-core v0.21.0 [INFO] [stderr] Downloaded wgpu-hal v0.21.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:6475c868a6d27846ca172efb246699580b64b57a5b3744ef73949e850a31b38a" "/opt/rustwide/cargo-home/bin/cargo" "+75530e9f72a1990ed2305e16fd51d02f47048f12" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 33b9d0c0edcd33a59f61ec5745236432815122a82a53e87cf57f2c2200991e0d [INFO] running `Command { std: "docker" "start" "-a" "33b9d0c0edcd33a59f61ec5745236432815122a82a53e87cf57f2c2200991e0d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "33b9d0c0edcd33a59f61ec5745236432815122a82a53e87cf57f2c2200991e0d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "33b9d0c0edcd33a59f61ec5745236432815122a82a53e87cf57f2c2200991e0d", kill_on_drop: false }` [INFO] [stdout] 33b9d0c0edcd33a59f61ec5745236432815122a82a53e87cf57f2c2200991e0d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:6475c868a6d27846ca172efb246699580b64b57a5b3744ef73949e850a31b38a" "/opt/rustwide/cargo-home/bin/cargo" "+75530e9f72a1990ed2305e16fd51d02f47048f12" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e927e237a47a9f8dde5ea5b1ea386259a87834e79b151a7435dbbdf0cefbd5a0 [INFO] running `Command { std: "docker" "start" "-a" "e927e237a47a9f8dde5ea5b1ea386259a87834e79b151a7435dbbdf0cefbd5a0", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Compiling proc-macro2 v1.0.83 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling autocfg v1.3.0 [INFO] [stderr] Compiling serde v1.0.202 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling thiserror v1.0.61 [INFO] [stderr] Compiling libc v0.2.153 [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Compiling cfg_aliases v0.1.1 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Checking zerocopy v0.7.34 [INFO] [stderr] Checking memchr v2.7.2 [INFO] [stderr] Checking allocator-api2 v0.2.18 [INFO] [stderr] Compiling pkg-config v0.3.30 [INFO] [stderr] Checking termcolor v1.4.1 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Checking log v0.4.21 [INFO] [stderr] Compiling ash v0.37.3+1.3.251 [INFO] [stderr] Checking bit-vec v0.6.3 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking unicode-width v0.1.13 [INFO] [stderr] Checking equivalent v1.0.1 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Compiling wgpu-hal v0.21.0 [INFO] [stderr] Checking libloading v0.8.3 [INFO] [stderr] Checking bit-set v0.5.3 [INFO] [stderr] Checking libloading v0.7.4 [INFO] [stderr] Compiling ucd-trie v0.1.6 [INFO] [stderr] Checking unicode-xid v0.2.4 [INFO] [stderr] Checking hexf-parse v0.2.1 [INFO] [stderr] Checking arrayvec v0.7.4 [INFO] [stderr] Checking raw-window-handle v0.6.2 [INFO] [stderr] Checking codespan-reporting v0.11.1 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Compiling wgpu-core v0.21.0 [INFO] [stderr] Checking renderdoc-sys v1.1.0 [INFO] [stderr] Compiling litrs v0.4.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling version-compare v0.1.1 [INFO] [stderr] Compiling cc v1.0.98 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Checking glow v0.13.1 [INFO] [stderr] Compiling macro_rules_attribute-proc_macro v0.1.3 [INFO] [stderr] Checking profiling v1.0.15 [INFO] [stderr] Compiling sdl2-sys v0.37.0 [INFO] [stderr] Compiling wgpu v0.20.1 [INFO] [stderr] Compiling syn v2.0.65 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Compiling document-features v0.2.8 [INFO] [stderr] Checking adler v1.0.2 [INFO] [stderr] Compiling khronos-egl v6.0.0 [INFO] [stderr] Compiling serde_json v1.0.117 [INFO] [stderr] Checking gimli v0.28.1 [INFO] [stderr] Checking miniz_oxide v0.7.3 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking object v0.32.2 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking macro_rules_attribute v0.1.3 [INFO] [stderr] Checking polonius-the-crab v0.2.1 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Checking never-say-never v6.6.666 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking rustc-demangle v0.1.24 [INFO] [stderr] Checking iana-time-zone v0.1.60 [INFO] [stderr] Checking ryu v1.0.18 [INFO] [stderr] Checking plain v0.2.3 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Compiling sdl2 v0.37.0 [INFO] [stderr] Checking rect_packer v0.2.1 [INFO] [stderr] Checking pollster v0.3.0 [INFO] [stderr] Checking is-terminal v0.4.12 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Checking glob v0.3.1 [INFO] [stderr] Compiling backtrace v0.3.71 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking indexmap v2.2.6 [INFO] [stderr] Checking num-bigint v0.4.5 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking num v0.4.3 [INFO] [stderr] Checking addr2line v0.21.0 [INFO] [stderr] Compiling serde_derive v1.0.202 [INFO] [stderr] Compiling thiserror-impl v1.0.61 [INFO] [stderr] Compiling scroll_derive v0.12.0 [INFO] [stderr] Compiling bytemuck_derive v1.7.0 [INFO] [stderr] Checking regex v1.10.5 [INFO] [stderr] Checking scroll v0.12.0 [INFO] [stderr] Checking env_logger v0.10.2 [INFO] [stderr] Checking bytemuck v1.16.1 [INFO] [stderr] Checking goblin v0.8.2 [INFO] [stderr] Compiling ext-trait-proc_macros v1.0.1 [INFO] [stderr] Compiling nougat-proc_macros v0.2.4 [INFO] [stderr] Compiling lending-iterator-proc_macros v0.1.7 [INFO] [stderr] Checking pest v2.7.10 [INFO] [stderr] Checking ext-trait v1.0.1 [INFO] [stderr] Checking extension-traits v1.0.1 [INFO] [stderr] Checking nougat v0.2.4 [INFO] [stderr] Checking lending-iterator v0.1.7 [INFO] [stderr] Compiling pest_meta v2.7.10 [INFO] [stderr] Compiling pest_generator v2.7.10 [INFO] [stderr] Compiling pest_derive v2.7.10 [INFO] [stderr] Checking bitflags v2.5.0 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking gpu-alloc-types v0.3.0 [INFO] [stderr] Checking spirv v0.3.0+sdk-1.3.268.0 [INFO] [stderr] Checking gpu-descriptor-types v0.2.0 [INFO] [stderr] Checking wgpu-types v0.20.0 [INFO] [stderr] Checking ron v0.8.1 [INFO] [stderr] Checking gpu-descriptor v0.3.0 [INFO] [stderr] Checking gpu-alloc v0.6.0 [INFO] [stderr] Checking naga v0.20.0 [INFO] [stderr] Checking emerald-core v0.1.0 (/opt/rustwide/workdir/emerald-core) [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> emerald-core/src/lib.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | #![feature(effects)] [INFO] [stdout] | ^^^^^^^ feature has been removed [INFO] [stdout] | [INFO] [stdout] = note: removed, redundant with `#![feature(const_trait_impl)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> emerald-core/src/lib.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | #![feature(effects)] [INFO] [stdout] | ^^^^^^^ feature has been removed [INFO] [stdout] | [INFO] [stdout] = note: removed, redundant with `#![feature(const_trait_impl)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read `emerald-core/src/../roms/IP/IP.BIN`: No such file or directory (os error 2) [INFO] [stdout] --> emerald-core/src/emulator.rs:15:27 [INFO] [stdout] | [INFO] [stdout] 15 | pub const IP_BIN: &[u8] = include_bytes!("../roms/IP/IP.BIN"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read `emerald-core/src/hw/holly/g1/../../../../roms/dc_boot.bin`: No such file or directory (os error 2) [INFO] [stdout] --> emerald-core/src/hw/holly/g1/boot_rom.rs:4:30 [INFO] [stdout] | [INFO] [stdout] 4 | pub const BIOS_DATA: &[u8] = include_bytes!("../../../../roms/dc_boot.bin"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read `emerald-core/src/hw/holly/g1/../../../../roms/dc_flash.bin`: No such file or directory (os error 2) [INFO] [stdout] --> emerald-core/src/hw/holly/g1/boot_rom.rs:5:31 [INFO] [stdout] | [INFO] [stdout] 5 | pub const BIOS_FLASH: &[u8] = include_bytes!("../../../../roms/dc_flash.bin"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read `emerald-core/src/../roms/IP/IP.BIN`: No such file or directory (os error 2) [INFO] [stdout] --> emerald-core/src/emulator.rs:15:27 [INFO] [stdout] | [INFO] [stdout] 15 | pub const IP_BIN: &[u8] = include_bytes!("../roms/IP/IP.BIN"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read `emerald-core/src/hw/holly/g1/../../../../roms/dc_boot.bin`: No such file or directory (os error 2) [INFO] [stdout] --> emerald-core/src/hw/holly/g1/boot_rom.rs:4:30 [INFO] [stdout] | [INFO] [stdout] 4 | pub const BIOS_DATA: &[u8] = include_bytes!("../../../../roms/dc_boot.bin"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read `emerald-core/src/hw/holly/g1/../../../../roms/dc_flash.bin`: No such file or directory (os error 2) [INFO] [stdout] --> emerald-core/src/hw/holly/g1/boot_rom.rs:5:31 [INFO] [stdout] | [INFO] [stdout] 5 | pub const BIOS_FLASH: &[u8] = include_bytes!("../../../../roms/dc_flash.bin"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> emerald-core/src/lib.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::c_void` [INFO] [stdout] --> emerald-core/src/lib.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::ffi::c_void; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `File` and `metadata` [INFO] [stdout] --> emerald-core/src/lib.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | use std::fs::{metadata, File}; [INFO] [stdout] | ^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> emerald-core/src/lib.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | use std::io::{Read, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::DerefMut` [INFO] [stdout] --> emerald-core/src/lib.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::ops::DerefMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Mutex` and `mpsc` [INFO] [stdout] --> emerald-core/src/lib.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | use std::sync::{mpsc, mpsc::Sender, Arc, Mutex}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MutexGuard` [INFO] [stdout] --> emerald-core/src/lib.rs:19:17 [INFO] [stdout] | [INFO] [stdout] 19 | use std::sync::{MutexGuard, RwLock}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ptr` [INFO] [stdout] --> emerald-core/src/lib.rs:20:11 [INFO] [stdout] | [INFO] [stdout] 20 | use std::{ptr, thread}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hw::holly::g1::cdi::CdiParser` [INFO] [stdout] --> emerald-core/src/lib.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use hw::holly::g1::cdi::CdiParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DisplayList` [INFO] [stdout] --> emerald-core/src/lib.rs:24:36 [INFO] [stdout] | [INFO] [stdout] 24 | use hw::holly::pvr::display_list::{DisplayList, DisplayListBuilder, VertexDefinition}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hw::holly::pvr::ta::PvrListType` [INFO] [stdout] --> emerald-core/src/lib.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use hw::holly::pvr::ta::PvrListType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hw::holly::spg::SpgEventData` [INFO] [stdout] --> emerald-core/src/lib.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | use hw::holly::spg::SpgEventData; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hw::holly::Holly` [INFO] [stdout] --> emerald-core/src/lib.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | use hw::holly::Holly; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> emerald-core/src/lib.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::fmt` [INFO] [stdout] --> emerald-core/src/context.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::fmt; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::emulator::Emulator` [INFO] [stdout] --> emerald-core/src/ffi.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::emulator::Emulator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH` [INFO] [stdout] --> emerald-core/src/hw/sh4/bus.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use std::time::{SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::scheduler::Scheduler` [INFO] [stdout] --> emerald-core/src/hw/sh4/bus.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::scheduler::Scheduler; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> emerald-core/src/hw/sh4/bus.rs:258:24 [INFO] [stdout] | [INFO] [stdout] 258 | if (value & 0x01 == 0 && self.holly.aica.wave_ram[0] == 0x00000000) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 258 - if (value & 0x01 == 0 && self.holly.aica.wave_ram[0] == 0x00000000) { [INFO] [stdout] 258 + if value & 0x01 == 0 && self.holly.aica.wave_ram[0] == 0x00000000 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f128` [INFO] [stdout] --> emerald-core/src/hw/sh4/cpu.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::f128; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::bus::LogicalAddress` [INFO] [stdout] --> emerald-core/src/hw/sh4/cpu.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use super::bus::LogicalAddress; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> emerald-core/src/hw/sh4/cpu.rs:2876:12 [INFO] [stdout] | [INFO] [stdout] 2876 | if (addr & 0xEC000000 == 0xE0000000) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 2876 - if (addr & 0xEC000000 == 0xE0000000) { [INFO] [stdout] 2876 + if addr & 0xEC000000 == 0xE0000000 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SCI1_ERI` should have an upper camel case name [INFO] [stdout] --> emerald-core/src/hw/sh4/intc.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | SCI1_ERI, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `Sci1Eri` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SCI1_RXI` should have an upper camel case name [INFO] [stdout] --> emerald-core/src/hw/sh4/intc.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | SCI1_RXI, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `Sci1Rxi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SCI1_TXI` should have an upper camel case name [INFO] [stdout] --> emerald-core/src/hw/sh4/intc.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | SCI1_TXI, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `Sci1Txi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SCI1_TEI` should have an upper camel case name [INFO] [stdout] --> emerald-core/src/hw/sh4/intc.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | SCI1_TEI, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `Sci1Tei` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SCIF_ERI` should have an upper camel case name [INFO] [stdout] --> emerald-core/src/hw/sh4/intc.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | SCIF_ERI, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `ScifEri` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SCIF_RXI` should have an upper camel case name [INFO] [stdout] --> emerald-core/src/hw/sh4/intc.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | SCIF_RXI, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `ScifRxi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SCIF_TXI` should have an upper camel case name [INFO] [stdout] --> emerald-core/src/hw/sh4/intc.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | SCIF_TXI, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `ScifTxi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SCIF_TEI` should have an upper camel case name [INFO] [stdout] --> emerald-core/src/hw/sh4/intc.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | SCIF_TEI, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `ScifTei` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cmp::min` and `sync::Arc` [INFO] [stdout] --> emerald-core/src/hw/holly/mod.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use std::{cmp::min, ops::DerefMut, sync::Arc}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> emerald-core/src/hw/holly/g1/boot_rom.rs:21:23 [INFO] [stdout] | [INFO] [stdout] 21 | match (raw & 0x1FFFF) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 21 - match (raw & 0x1FFFF) { [INFO] [stdout] 21 + match raw & 0x1FFFF { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> emerald-core/src/hw/holly/g1/gdrom.rs:660:24 [INFO] [stdout] | [INFO] [stdout] 660 | if (parameter_type == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 660 - if (parameter_type == 0) { [INFO] [stdout] 660 + if parameter_type == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> emerald-core/src/hw/holly/g1/gdrom.rs:677:20 [INFO] [stdout] | [INFO] [stdout] 677 | if (start_addr < 45000) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 677 - if (start_addr < 45000) { [INFO] [stdout] 677 + if start_addr < 45000 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `scheduler::Scheduler` [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | scheduler::Scheduler, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:285:12 [INFO] [stdout] | [INFO] [stdout] 285 | if (!self.running && enable) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 285 - if (!self.running && enable) { [INFO] [stdout] 285 + if !self.running && enable { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:290:35 [INFO] [stdout] | [INFO] [stdout] 290 | self.registers.cpsr = (self.registers.cpsr.clear_bit(5).set_bit(6).set_bit(7)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 290 - self.registers.cpsr = (self.registers.cpsr.clear_bit(5).set_bit(6).set_bit(7)); [INFO] [stdout] 290 + self.registers.cpsr = self.registers.cpsr.clear_bit(5).set_bit(6).set_bit(7); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:754:21 [INFO] [stdout] | [INFO] [stdout] 754 | v = (((operand1 ^ operand2) & 0x80000000 == 0) [INFO] [stdout] | ^ [INFO] [stdout] 755 | && ((operand1 ^ result) & 0x80000000 != 0)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 754 ~ v = ((operand1 ^ operand2) & 0x80000000 == 0) [INFO] [stdout] 755 ~ && ((operand1 ^ result) & 0x80000000 != 0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:773:21 [INFO] [stdout] | [INFO] [stdout] 773 | v = (((operand1 ^ operand2) & 0x80000000 == 0) [INFO] [stdout] | ^ [INFO] [stdout] 774 | && ((operand1 ^ result32) & 0x80000000 != 0)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 773 ~ v = ((operand1 ^ operand2) & 0x80000000 == 0) [INFO] [stdout] 774 ~ && ((operand1 ^ result32) & 0x80000000 != 0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:832:21 [INFO] [stdout] | [INFO] [stdout] 832 | v = ((!(operand1 ^ operand2) & (operand1 ^ result) & 0x80000000) != 0); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 832 - v = ((!(operand1 ^ operand2) & (operand1 ^ result) & 0x80000000) != 0); [INFO] [stdout] 832 + v = (!(operand1 ^ operand2) & (operand1 ^ result) & 0x80000000) != 0; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::scheduler::Scheduler` [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm_bus.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::scheduler::Scheduler; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cmp::max` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/display_list.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use std::{cmp::max, mem}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Fbde_0555` should have an upper camel case name [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/framebuffer.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | Fbde_0555 = 0, // 0555, lower 3 bits on fb_concat [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `Fbde0555` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Fbde_565` should have an upper camel case name [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/framebuffer.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | Fbde_565 = 1, // 565, lower 3 bits on fb_concat, [1:0] for G [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `Fbde565` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Fbde_888` should have an upper camel case name [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/framebuffer.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | Fbde_888 = 2, // 888, packed [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `Fbde888` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Fbde_C888` should have an upper camel case name [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/framebuffer.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | Fbde_C888 = 3, // C888, first byte used for chroma [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `FbdeC888` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/framebuffer.rs:251:20 [INFO] [stdout] | [INFO] [stdout] 251 | let size = (((self.registers.read_size.x_size + self.registers.read_size.modulus) [INFO] [stdout] | ^ [INFO] [stdout] 252 | * (self.registers.read_size.y_size + 1)) [INFO] [stdout] 253 | * 4); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 251 ~ let size = ((self.registers.read_size.x_size + self.registers.read_size.modulus) [INFO] [stdout] 252 | * (self.registers.read_size.y_size + 1)) [INFO] [stdout] 253 ~ * 4; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/framebuffer.rs:263:20 [INFO] [stdout] | [INFO] [stdout] 263 | let size = (((self.registers.read_size.x_size + self.registers.read_size.modulus) [INFO] [stdout] | ^ [INFO] [stdout] 264 | * (self.registers.read_size.y_size + 1)) [INFO] [stdout] 265 | * 4); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 263 ~ let size = ((self.registers.read_size.x_size + self.registers.read_size.modulus) [INFO] [stdout] 264 | * (self.registers.read_size.y_size + 1)) [INFO] [stdout] 265 ~ * 4; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc` and `RwLock` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/texture_cache.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | sync::{Arc, RwLock}, [INFO] [stdout] | ^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rect_packer::Packer` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/texture_cache.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use rect_packer::Packer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::hw::sh4::bus::PhysicalAddress` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/texture_cache.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::hw::sh4::bus::PhysicalAddress; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Pvr` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | Pvr, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Color` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:16:33 [INFO] [stdout] | [INFO] [stdout] 16 | BindGroup, BindGroupLayout, Color, Device, COPY_BUFFER_ALIGNMENT, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DisplayList` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/mod.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 9 | use display_list::{DisplayList, DisplayListBuilder, VertexDefinition}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/mod.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VertexType` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/mod.rs:11:84 [INFO] [stdout] | [INFO] [stdout] 11 | use ta::{ParameterControlWord, ParameterType, PolyParam, PvrListType, VertexParam, VertexType}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TextureId` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/mod.rs:18:41 [INFO] [stdout] | [INFO] [stdout] 18 | use self::texture_cache::{TextureAtlas, TextureId}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::BitManipulation` [INFO] [stdout] --> emerald-core/src/hw/holly/sb.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | hw::{extensions::BitManipulation, sh4::bus::PhysicalAddress}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> emerald-core/src/hw/holly/mod.rs:298:38 [INFO] [stdout] | [INFO] [stdout] 298 | let mut ram_offset = (src & ram_mask); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 298 - let mut ram_offset = (src & ram_mask); [INFO] [stdout] 298 + let mut ram_offset = src & ram_mask; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> emerald-core/src/hw/holly/mod.rs:544:20 [INFO] [stdout] | [INFO] [stdout] 544 | if (self.registers.ta_list_cont & 0x80000000 == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 544 - if (self.registers.ta_list_cont & 0x80000000 == 0) { [INFO] [stdout] 544 + if self.registers.ta_list_cont & 0x80000000 == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> emerald-core/src/lib.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ffi::c_void` [INFO] [stdout] --> emerald-core/src/lib.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::ffi::c_void; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `File` and `metadata` [INFO] [stdout] --> emerald-core/src/lib.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | use std::fs::{metadata, File}; [INFO] [stdout] | ^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> emerald-core/src/lib.rs:15:21 [INFO] [stdout] | [INFO] [stdout] 15 | use std::io::{Read, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::DerefMut` [INFO] [stdout] --> emerald-core/src/lib.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::ops::DerefMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Mutex` and `mpsc` [INFO] [stdout] --> emerald-core/src/lib.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | use std::sync::{mpsc, mpsc::Sender, Arc, Mutex}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MutexGuard` [INFO] [stdout] --> emerald-core/src/lib.rs:19:17 [INFO] [stdout] | [INFO] [stdout] 19 | use std::sync::{MutexGuard, RwLock}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ptr` [INFO] [stdout] --> emerald-core/src/lib.rs:20:11 [INFO] [stdout] | [INFO] [stdout] 20 | use std::{ptr, thread}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hw::holly::g1::cdi::CdiParser` [INFO] [stdout] --> emerald-core/src/lib.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use hw::holly::g1::cdi::CdiParser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DisplayList` [INFO] [stdout] --> emerald-core/src/lib.rs:24:36 [INFO] [stdout] | [INFO] [stdout] 24 | use hw::holly::pvr::display_list::{DisplayList, DisplayListBuilder, VertexDefinition}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hw::holly::pvr::ta::PvrListType` [INFO] [stdout] --> emerald-core/src/lib.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use hw::holly::pvr::ta::PvrListType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hw::holly::spg::SpgEventData` [INFO] [stdout] --> emerald-core/src/lib.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | use hw::holly::spg::SpgEventData; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hw::holly::Holly` [INFO] [stdout] --> emerald-core/src/lib.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | use hw::holly::Holly; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> emerald-core/src/lib.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::fmt` [INFO] [stdout] --> emerald-core/src/context.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::fmt; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::emulator::Emulator` [INFO] [stdout] --> emerald-core/src/ffi.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::emulator::Emulator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH` [INFO] [stdout] --> emerald-core/src/hw/sh4/bus.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use std::time::{SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::scheduler::Scheduler` [INFO] [stdout] --> emerald-core/src/hw/sh4/bus.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::scheduler::Scheduler; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> emerald-core/src/hw/sh4/bus.rs:258:24 [INFO] [stdout] | [INFO] [stdout] 258 | if (value & 0x01 == 0 && self.holly.aica.wave_ram[0] == 0x00000000) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 258 - if (value & 0x01 == 0 && self.holly.aica.wave_ram[0] == 0x00000000) { [INFO] [stdout] 258 + if value & 0x01 == 0 && self.holly.aica.wave_ram[0] == 0x00000000 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f128` [INFO] [stdout] --> emerald-core/src/hw/sh4/cpu.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::f128; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::bus::LogicalAddress` [INFO] [stdout] --> emerald-core/src/hw/sh4/cpu.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use super::bus::LogicalAddress; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> emerald-core/src/hw/sh4/cpu.rs:2876:12 [INFO] [stdout] | [INFO] [stdout] 2876 | if (addr & 0xEC000000 == 0xE0000000) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 2876 - if (addr & 0xEC000000 == 0xE0000000) { [INFO] [stdout] 2876 + if addr & 0xEC000000 == 0xE0000000 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SCI1_ERI` should have an upper camel case name [INFO] [stdout] --> emerald-core/src/hw/sh4/intc.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | SCI1_ERI, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `Sci1Eri` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SCI1_RXI` should have an upper camel case name [INFO] [stdout] --> emerald-core/src/hw/sh4/intc.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | SCI1_RXI, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `Sci1Rxi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SCI1_TXI` should have an upper camel case name [INFO] [stdout] --> emerald-core/src/hw/sh4/intc.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | SCI1_TXI, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `Sci1Txi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SCI1_TEI` should have an upper camel case name [INFO] [stdout] --> emerald-core/src/hw/sh4/intc.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | SCI1_TEI, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `Sci1Tei` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SCIF_ERI` should have an upper camel case name [INFO] [stdout] --> emerald-core/src/hw/sh4/intc.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | SCIF_ERI, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `ScifEri` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SCIF_RXI` should have an upper camel case name [INFO] [stdout] --> emerald-core/src/hw/sh4/intc.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | SCIF_RXI, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `ScifRxi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SCIF_TXI` should have an upper camel case name [INFO] [stdout] --> emerald-core/src/hw/sh4/intc.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | SCIF_TXI, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `ScifTxi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SCIF_TEI` should have an upper camel case name [INFO] [stdout] --> emerald-core/src/hw/sh4/intc.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | SCIF_TEI, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `ScifTei` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cmp::min` and `sync::Arc` [INFO] [stdout] --> emerald-core/src/hw/holly/mod.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use std::{cmp::min, ops::DerefMut, sync::Arc}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> emerald-core/src/hw/holly/g1/boot_rom.rs:21:23 [INFO] [stdout] | [INFO] [stdout] 21 | match (raw & 0x1FFFF) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 21 - match (raw & 0x1FFFF) { [INFO] [stdout] 21 + match raw & 0x1FFFF { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> emerald-core/src/hw/holly/g1/gdrom.rs:660:24 [INFO] [stdout] | [INFO] [stdout] 660 | if (parameter_type == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 660 - if (parameter_type == 0) { [INFO] [stdout] 660 + if parameter_type == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> emerald-core/src/hw/holly/g1/gdrom.rs:677:20 [INFO] [stdout] | [INFO] [stdout] 677 | if (start_addr < 45000) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 677 - if (start_addr < 45000) { [INFO] [stdout] 677 + if start_addr < 45000 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `scheduler::Scheduler` [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | scheduler::Scheduler, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:285:12 [INFO] [stdout] | [INFO] [stdout] 285 | if (!self.running && enable) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 285 - if (!self.running && enable) { [INFO] [stdout] 285 + if !self.running && enable { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:290:35 [INFO] [stdout] | [INFO] [stdout] 290 | self.registers.cpsr = (self.registers.cpsr.clear_bit(5).set_bit(6).set_bit(7)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 290 - self.registers.cpsr = (self.registers.cpsr.clear_bit(5).set_bit(6).set_bit(7)); [INFO] [stdout] 290 + self.registers.cpsr = self.registers.cpsr.clear_bit(5).set_bit(6).set_bit(7); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:754:21 [INFO] [stdout] | [INFO] [stdout] 754 | v = (((operand1 ^ operand2) & 0x80000000 == 0) [INFO] [stdout] | ^ [INFO] [stdout] 755 | && ((operand1 ^ result) & 0x80000000 != 0)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 754 ~ v = ((operand1 ^ operand2) & 0x80000000 == 0) [INFO] [stdout] 755 ~ && ((operand1 ^ result) & 0x80000000 != 0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:773:21 [INFO] [stdout] | [INFO] [stdout] 773 | v = (((operand1 ^ operand2) & 0x80000000 == 0) [INFO] [stdout] | ^ [INFO] [stdout] 774 | && ((operand1 ^ result32) & 0x80000000 != 0)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 773 ~ v = ((operand1 ^ operand2) & 0x80000000 == 0) [INFO] [stdout] 774 ~ && ((operand1 ^ result32) & 0x80000000 != 0); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:832:21 [INFO] [stdout] | [INFO] [stdout] 832 | v = ((!(operand1 ^ operand2) & (operand1 ^ result) & 0x80000000) != 0); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 832 - v = ((!(operand1 ^ operand2) & (operand1 ^ result) & 0x80000000) != 0); [INFO] [stdout] 832 + v = (!(operand1 ^ operand2) & (operand1 ^ result) & 0x80000000) != 0; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::scheduler::Scheduler` [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm_bus.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::scheduler::Scheduler; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cmp::max` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/display_list.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use std::{cmp::max, mem}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Fbde_0555` should have an upper camel case name [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/framebuffer.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | Fbde_0555 = 0, // 0555, lower 3 bits on fb_concat [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `Fbde0555` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Fbde_565` should have an upper camel case name [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/framebuffer.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | Fbde_565 = 1, // 565, lower 3 bits on fb_concat, [1:0] for G [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `Fbde565` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Fbde_888` should have an upper camel case name [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/framebuffer.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | Fbde_888 = 2, // 888, packed [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `Fbde888` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Fbde_C888` should have an upper camel case name [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/framebuffer.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | Fbde_C888 = 3, // C888, first byte used for chroma [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `FbdeC888` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/framebuffer.rs:251:20 [INFO] [stdout] | [INFO] [stdout] 251 | let size = (((self.registers.read_size.x_size + self.registers.read_size.modulus) [INFO] [stdout] | ^ [INFO] [stdout] 252 | * (self.registers.read_size.y_size + 1)) [INFO] [stdout] 253 | * 4); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 251 ~ let size = ((self.registers.read_size.x_size + self.registers.read_size.modulus) [INFO] [stdout] 252 | * (self.registers.read_size.y_size + 1)) [INFO] [stdout] 253 ~ * 4; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/framebuffer.rs:263:20 [INFO] [stdout] | [INFO] [stdout] 263 | let size = (((self.registers.read_size.x_size + self.registers.read_size.modulus) [INFO] [stdout] | ^ [INFO] [stdout] 264 | * (self.registers.read_size.y_size + 1)) [INFO] [stdout] 265 | * 4); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 263 ~ let size = ((self.registers.read_size.x_size + self.registers.read_size.modulus) [INFO] [stdout] 264 | * (self.registers.read_size.y_size + 1)) [INFO] [stdout] 265 ~ * 4; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc` and `RwLock` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/texture_cache.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | sync::{Arc, RwLock}, [INFO] [stdout] | ^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rect_packer::Packer` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/texture_cache.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use rect_packer::Packer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::hw::sh4::bus::PhysicalAddress` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/texture_cache.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::hw::sh4::bus::PhysicalAddress; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Pvr` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | Pvr, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Color` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:16:33 [INFO] [stdout] | [INFO] [stdout] 16 | BindGroup, BindGroupLayout, Color, Device, COPY_BUFFER_ALIGNMENT, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DisplayList` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/mod.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 9 | use display_list::{DisplayList, DisplayListBuilder, VertexDefinition}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/mod.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VertexType` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/mod.rs:11:84 [INFO] [stdout] | [INFO] [stdout] 11 | use ta::{ParameterControlWord, ParameterType, PolyParam, PvrListType, VertexParam, VertexType}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TextureId` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/mod.rs:18:41 [INFO] [stdout] | [INFO] [stdout] 18 | use self::texture_cache::{TextureAtlas, TextureId}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::BitManipulation` [INFO] [stdout] --> emerald-core/src/hw/holly/sb.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | hw::{extensions::BitManipulation, sh4::bus::PhysicalAddress}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> emerald-core/src/hw/holly/mod.rs:298:38 [INFO] [stdout] | [INFO] [stdout] 298 | let mut ram_offset = (src & ram_mask); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 298 - let mut ram_offset = (src & ram_mask); [INFO] [stdout] 298 + let mut ram_offset = src & ram_mask; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> emerald-core/src/hw/holly/mod.rs:544:20 [INFO] [stdout] | [INFO] [stdout] 544 | if (self.registers.ta_list_cont & 0x80000000 == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 544 - if (self.registers.ta_list_cont & 0x80000000 == 0) { [INFO] [stdout] 544 + if self.registers.ta_list_cont & 0x80000000 == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `const_mut_refs` has been stable since 1.83.0 and no longer requires an attribute to enable [INFO] [stdout] --> emerald-core/src/lib.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | #![feature(const_mut_refs)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `const_fn_floating_point_arithmetic` has been stable since 1.82.0 and no longer requires an attribute to enable [INFO] [stdout] --> emerald-core/src/lib.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | #![feature(const_fn_floating_point_arithmetic)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `hash_extract_if` has been stable since 1.87.0-nightly and no longer requires an attribute to enable [INFO] [stdout] --> emerald-core/src/lib.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | #![feature(hash_extract_if)] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `extract_if` has been stable since 1.87.0-nightly and no longer requires an attribute to enable [INFO] [stdout] --> emerald-core/src/lib.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | #![feature(extract_if)] [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `const_mut_refs` has been stable since 1.83.0 and no longer requires an attribute to enable [INFO] [stdout] --> emerald-core/src/lib.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | #![feature(const_mut_refs)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `const_fn_floating_point_arithmetic` has been stable since 1.82.0 and no longer requires an attribute to enable [INFO] [stdout] --> emerald-core/src/lib.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | #![feature(const_fn_floating_point_arithmetic)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `hash_extract_if` has been stable since 1.87.0-nightly and no longer requires an attribute to enable [INFO] [stdout] --> emerald-core/src/lib.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | #![feature(hash_extract_if)] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `extract_if` has been stable since 1.87.0-nightly and no longer requires an attribute to enable [INFO] [stdout] --> emerald-core/src/lib.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | #![feature(extract_if)] [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:1052:14 [INFO] [stdout] | [INFO] [stdout] 1052 | let (device, queue) = adapter [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `queue` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:1052:22 [INFO] [stdout] | [INFO] [stdout] 1052 | let (device, queue) = adapter [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:1052:14 [INFO] [stdout] | [INFO] [stdout] 1052 | let (device, queue) = adapter [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `queue` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:1052:22 [INFO] [stdout] | [INFO] [stdout] 1052 | let (device, queue) = adapter [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> emerald-core/src/hw/holly/g1/boot_rom.rs:30:17 [INFO] [stdout] | [INFO] [stdout] 29 | panic!("out of bounds read in bios @ {:08x}", addr.0); [INFO] [stdout] | ----------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 30 | 0 [INFO] [stdout] | ^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> emerald-core/src/hw/holly/g1/boot_rom.rs:30:17 [INFO] [stdout] | [INFO] [stdout] 29 | panic!("out of bounds read in bios @ {:08x}", addr.0); [INFO] [stdout] | ----------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 30 | 0 [INFO] [stdout] | ^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> emerald-core/src/lib.rs:15:15 [INFO] [stdout] | [INFO] [stdout] 15 | use std::io::{Read, Write}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `tfinal` is never read [INFO] [stdout] --> emerald-core/src/hw/sh4/bsc.rs:96:25 [INFO] [stdout] | [INFO] [stdout] 96 | let mut tfinal = 0; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> emerald-core/src/hw/sh4/bus.rs:269:17 [INFO] [stdout] | [INFO] [stdout] 266 | 0x00800000..=0x00FFFFFF => self.holly.write_32(physical_addr, value, context), [INFO] [stdout] | ----------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 269 | 0xBF0030 => {} // idk, gldc writes here on swap, probably a bug?? [INFO] [stdout] | ^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> emerald-core/src/hw/sh4/bus.rs:252:25 [INFO] [stdout] | [INFO] [stdout] 252 | let mut arm7bus = ArmBus { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> emerald-core/src/hw/sh4/cpu.rs:430:60 [INFO] [stdout] | [INFO] [stdout] 430 | pub fn process_interrupts(&mut self, bus: &mut CpuBus, context: &mut Context, _: u64) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> emerald-core/src/hw/sh4/cpu.rs:799:9 [INFO] [stdout] | [INFO] [stdout] 799 | bus: &mut CpuBus, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> emerald-core/src/hw/sh4/cpu.rs:800:9 [INFO] [stdout] | [INFO] [stdout] 800 | context: &mut Context, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> emerald-core/src/hw/sh4/cpu.rs:2473:9 [INFO] [stdout] | [INFO] [stdout] 2473 | bus: &mut CpuBus, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> emerald-core/src/hw/sh4/cpu.rs:2474:9 [INFO] [stdout] | [INFO] [stdout] 2474 | context: &mut Context, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `IPRC` [INFO] [stdout] --> emerald-core/src/hw/sh4/intc.rs:184:13 [INFO] [stdout] | [INFO] [stdout] 184 | let IPRC = self.registers.iprc; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_IPRC` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `scheduler` [INFO] [stdout] --> emerald-core/src/hw/sh4/tmu.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | scheduler: &mut Scheduler, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scheduler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r_ctrl` [INFO] [stdout] --> emerald-core/src/hw/sh4/tmu.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | r_ctrl: u32, // fixme: remove [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_r_ctrl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> emerald-core/src/hw/sh4/tmu.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | target: u64, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `overrun` [INFO] [stdout] --> emerald-core/src/hw/sh4/tmu.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | overrun: u64, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overrun` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event_data` [INFO] [stdout] --> emerald-core/src/hw/sh4/tmu.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | event_data: TmuEventData, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> emerald-core/src/hw/holly/g1/gdrom.rs:201:13 [INFO] [stdout] | [INFO] [stdout] 201 | _ => panic!("not implemented yet {:#?}", state), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> emerald-core/src/hw/holly/g1/gdrom.rs:201:13 [INFO] [stdout] | [INFO] [stdout] 130 | GdromState::WaitingForCommand => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 137 | GdromState::ProcessingCommand => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 146 | GdromState::PioEnd => { [INFO] [stdout] | ------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 152 | GdromState::WaitingForPacket => { [INFO] [stdout] | ---------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 201 | _ => panic!("not implemented yet {:#?}", state), [INFO] [stdout] | ^ ...and 3 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> emerald-core/src/hw/holly/g1/gdrom.rs:238:50 [INFO] [stdout] | [INFO] [stdout] 238 | pub fn read_16(&self, addr: PhysicalAddress, context: &mut Context) -> u16 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `scheduler` [INFO] [stdout] --> emerald-core/src/hw/holly/g1/gdrom.rs:327:9 [INFO] [stdout] | [INFO] [stdout] 327 | scheduler: &mut Scheduler, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scheduler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sb` [INFO] [stdout] --> emerald-core/src/hw/holly/g1/gdrom.rs:328:9 [INFO] [stdout] | [INFO] [stdout] 328 | sb: &mut SystemBlock, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `status` [INFO] [stdout] --> emerald-core/src/hw/holly/g1/gdrom.rs:368:13 [INFO] [stdout] | [INFO] [stdout] 368 | let status = self.registers.status.get(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_number` [INFO] [stdout] --> emerald-core/src/hw/holly/g1/gdrom.rs:626:21 [INFO] [stdout] | [INFO] [stdout] 626 | let session_number = parameters[2]; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> emerald-core/src/hw/holly/g1/gdrom.rs:659:21 [INFO] [stdout] | [INFO] [stdout] 659 | let mut start_addr = { [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] --> emerald-core/src/hw/holly/g1/gdrom.rs:682:21 [INFO] [stdout] | [INFO] [stdout] 682 | let mut is_dma = self.registers.features.check_bit(0); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> emerald-core/src/hw/holly/g1/gdrom.rs:701:21 [INFO] [stdout] | [INFO] [stdout] 701 | let mut count = transfer_length as u32; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `n` is never read [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:437:18 [INFO] [stdout] | [INFO] [stdout] 437 | let (mut n, mut z, mut c, mut v) = ( [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `z` is never read [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:437:25 [INFO] [stdout] | [INFO] [stdout] 437 | let (mut n, mut z, mut c, mut v) = ( [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:437:28 [INFO] [stdout] | [INFO] [stdout] 437 | let (mut n, mut z, mut c, mut v) = ( [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] --> emerald-core/src/hw/holly/g2/aica/arm.rs:437:35 [INFO] [stdout] | [INFO] [stdout] 437 | let (mut n, mut z, mut c, mut v) = ( [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `swi_opcode` [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:515:13 [INFO] [stdout] | [INFO] [stdout] 515 | let swi_opcode = opcode & 0xFFFFFF; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_swi_opcode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `n` is never read [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:698:17 [INFO] [stdout] | [INFO] [stdout] 698 | let mut n = self.registers.cpsr.check_bit(31); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `z` is never read [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:699:17 [INFO] [stdout] | [INFO] [stdout] 699 | let mut z = self.registers.cpsr.check_bit(30); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `c` is never read [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:700:17 [INFO] [stdout] | [INFO] [stdout] 700 | let mut c = self.registers.cpsr.check_bit(29); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:969:17 [INFO] [stdout] | [INFO] [stdout] 969 | let mut value = bus.read_32(addr & !0x3); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `operand2` is never read [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:1212:17 [INFO] [stdout] | [INFO] [stdout] 1212 | let mut operand2: u32 = 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:1202:53 [INFO] [stdout] | [INFO] [stdout] 1202 | pub fn psr_transfer<'b>(&mut self, opcode: u32, bus: &'b mut ArmBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/mod.rs:154:13 [INFO] [stdout] | [INFO] [stdout] 154 | let addr = physical_addr.0 & 0x0000FFFF; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> emerald-core/src/lib.rs:15:15 [INFO] [stdout] | [INFO] [stdout] 15 | use std::io::{Read, Write}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> emerald-core/src/hw/holly/maple/mod.rs:255:25 [INFO] [stdout] | [INFO] [stdout] 255 | let i = 4; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `tfinal` is never read [INFO] [stdout] --> emerald-core/src/hw/sh4/bsc.rs:96:25 [INFO] [stdout] | [INFO] [stdout] 96 | let mut tfinal = 0; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> emerald-core/src/hw/sh4/bus.rs:269:17 [INFO] [stdout] | [INFO] [stdout] 266 | 0x00800000..=0x00FFFFFF => self.holly.write_32(physical_addr, value, context), [INFO] [stdout] | ----------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 269 | 0xBF0030 => {} // idk, gldc writes here on swap, probably a bug?? [INFO] [stdout] | ^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> emerald-core/src/hw/sh4/bus.rs:252:25 [INFO] [stdout] | [INFO] [stdout] 252 | let mut arm7bus = ArmBus { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> emerald-core/src/hw/sh4/cpu.rs:430:60 [INFO] [stdout] | [INFO] [stdout] 430 | pub fn process_interrupts(&mut self, bus: &mut CpuBus, context: &mut Context, _: u64) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/display_list.rs:145:20 [INFO] [stdout] | [INFO] [stdout] 145 | if let texture_id = TextureAtlas::hash_texture( [INFO] [stdout] | ____________________^ [INFO] [stdout] 146 | | &texture, [INFO] [stdout] 147 | | poly.type0.tcw.texture_fmt(), [INFO] [stdout] 148 | | poly.type0.tcw.pixel_fmt(), [INFO] [stdout] 149 | | ) { [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `texture_size` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/display_list.rs:136:21 [INFO] [stdout] | [INFO] [stdout] 136 | let texture_size = (width * height * bytes_per_pixel) as usize; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_texture_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> emerald-core/src/hw/sh4/cpu.rs:799:9 [INFO] [stdout] | [INFO] [stdout] 799 | bus: &mut CpuBus, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> emerald-core/src/hw/sh4/cpu.rs:800:9 [INFO] [stdout] | [INFO] [stdout] 800 | context: &mut Context, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/framebuffer.rs:275:47 [INFO] [stdout] | [INFO] [stdout] 275 | pub fn notify_write(&mut self, addr: u32, value: u8) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vram_mask` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/framebuffer.rs:322:13 [INFO] [stdout] | [INFO] [stdout] 322 | let vram_mask = (8 * 1024 * 1024) - 1; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vram_mask` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> emerald-core/src/hw/sh4/cpu.rs:2473:9 [INFO] [stdout] | [INFO] [stdout] 2473 | bus: &mut CpuBus, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> emerald-core/src/hw/sh4/cpu.rs:2474:9 [INFO] [stdout] | [INFO] [stdout] 2474 | context: &mut Context, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `IPRC` [INFO] [stdout] --> emerald-core/src/hw/sh4/intc.rs:184:13 [INFO] [stdout] | [INFO] [stdout] 184 | let IPRC = self.registers.iprc; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_IPRC` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `scheduler` [INFO] [stdout] --> emerald-core/src/hw/sh4/tmu.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | scheduler: &mut Scheduler, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scheduler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r_ctrl` [INFO] [stdout] --> emerald-core/src/hw/sh4/tmu.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | r_ctrl: u32, // fixme: remove [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_r_ctrl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> emerald-core/src/hw/sh4/tmu.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | target: u64, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `overrun` [INFO] [stdout] --> emerald-core/src/hw/sh4/tmu.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | overrun: u64, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overrun` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event_data` [INFO] [stdout] --> emerald-core/src/hw/sh4/tmu.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | event_data: TmuEventData, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> emerald-core/src/hw/holly/g1/gdrom.rs:201:13 [INFO] [stdout] | [INFO] [stdout] 201 | _ => panic!("not implemented yet {:#?}", state), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> emerald-core/src/hw/holly/g1/gdrom.rs:201:13 [INFO] [stdout] | [INFO] [stdout] 130 | GdromState::WaitingForCommand => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 137 | GdromState::ProcessingCommand => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 146 | GdromState::PioEnd => { [INFO] [stdout] | ------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 152 | GdromState::WaitingForPacket => { [INFO] [stdout] | ---------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 201 | _ => panic!("not implemented yet {:#?}", state), [INFO] [stdout] | ^ ...and 3 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> emerald-core/src/hw/holly/g1/gdrom.rs:238:50 [INFO] [stdout] | [INFO] [stdout] 238 | pub fn read_16(&self, addr: PhysicalAddress, context: &mut Context) -> u16 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `scheduler` [INFO] [stdout] --> emerald-core/src/hw/holly/g1/gdrom.rs:327:9 [INFO] [stdout] | [INFO] [stdout] 327 | scheduler: &mut Scheduler, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scheduler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sb` [INFO] [stdout] --> emerald-core/src/hw/holly/g1/gdrom.rs:328:9 [INFO] [stdout] | [INFO] [stdout] 328 | sb: &mut SystemBlock, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `status` [INFO] [stdout] --> emerald-core/src/hw/holly/g1/gdrom.rs:368:13 [INFO] [stdout] | [INFO] [stdout] 368 | let status = self.registers.status.get(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_number` [INFO] [stdout] --> emerald-core/src/hw/holly/g1/gdrom.rs:626:21 [INFO] [stdout] | [INFO] [stdout] 626 | let session_number = parameters[2]; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> emerald-core/src/hw/holly/g1/gdrom.rs:659:21 [INFO] [stdout] | [INFO] [stdout] 659 | let mut start_addr = { [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] --> emerald-core/src/hw/holly/g1/gdrom.rs:682:21 [INFO] [stdout] | [INFO] [stdout] 682 | let mut is_dma = self.registers.features.check_bit(0); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> emerald-core/src/hw/holly/g1/gdrom.rs:701:21 [INFO] [stdout] | [INFO] [stdout] 701 | let mut count = transfer_length as u32; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `n` is never read [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:437:18 [INFO] [stdout] | [INFO] [stdout] 437 | let (mut n, mut z, mut c, mut v) = ( [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `z` is never read [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:437:25 [INFO] [stdout] | [INFO] [stdout] 437 | let (mut n, mut z, mut c, mut v) = ( [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:437:28 [INFO] [stdout] | [INFO] [stdout] 437 | let (mut n, mut z, mut c, mut v) = ( [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] --> emerald-core/src/hw/holly/g2/aica/arm.rs:437:35 [INFO] [stdout] | [INFO] [stdout] 437 | let (mut n, mut z, mut c, mut v) = ( [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `swi_opcode` [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:515:13 [INFO] [stdout] | [INFO] [stdout] 515 | let swi_opcode = opcode & 0xFFFFFF; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_swi_opcode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `n` is never read [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:698:17 [INFO] [stdout] | [INFO] [stdout] 698 | let mut n = self.registers.cpsr.check_bit(31); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `z` is never read [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:699:17 [INFO] [stdout] | [INFO] [stdout] 699 | let mut z = self.registers.cpsr.check_bit(30); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `c` is never read [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:700:17 [INFO] [stdout] | [INFO] [stdout] 700 | let mut c = self.registers.cpsr.check_bit(29); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:969:17 [INFO] [stdout] | [INFO] [stdout] 969 | let mut value = bus.read_32(addr & !0x3); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `operand2` is never read [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:1212:17 [INFO] [stdout] | [INFO] [stdout] 1212 | let mut operand2: u32 = 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/arm.rs:1202:53 [INFO] [stdout] | [INFO] [stdout] 1202 | pub fn psr_transfer<'b>(&mut self, opcode: u32, bus: &'b mut ArmBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> emerald-core/src/hw/holly/g2/aica/mod.rs:154:13 [INFO] [stdout] | [INFO] [stdout] 154 | let addr = physical_addr.0 & 0x0000FFFF; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> emerald-core/src/hw/holly/maple/mod.rs:255:25 [INFO] [stdout] | [INFO] [stdout] 255 | let i = 4; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/display_list.rs:145:20 [INFO] [stdout] | [INFO] [stdout] 145 | if let texture_id = TextureAtlas::hash_texture( [INFO] [stdout] | ____________________^ [INFO] [stdout] 146 | | &texture, [INFO] [stdout] 147 | | poly.type0.tcw.texture_fmt(), [INFO] [stdout] 148 | | poly.type0.tcw.pixel_fmt(), [INFO] [stdout] 149 | | ) { [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `texture_size` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/display_list.rs:136:21 [INFO] [stdout] | [INFO] [stdout] 136 | let texture_size = (width * height * bytes_per_pixel) as usize; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_texture_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/framebuffer.rs:275:47 [INFO] [stdout] | [INFO] [stdout] 275 | pub fn notify_write(&mut self, addr: u32, value: u8) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vram_mask` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/framebuffer.rs:322:13 [INFO] [stdout] | [INFO] [stdout] 322 | let vram_mask = (8 * 1024 * 1024) - 1; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vram_mask` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/texture_cache.rs:330:14 [INFO] [stdout] | [INFO] [stdout] 330 | for (id, texture) in self.textures.iter_mut() { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/texture_cache.rs:338:14 [INFO] [stdout] | [INFO] [stdout] 338 | for (id, texture) in self.textures.iter_mut() { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/texture_cache.rs:337:45 [INFO] [stdout] | [INFO] [stdout] 337 | pub fn notify_paletted_write(&mut self, addr: u32) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/texture_cache.rs:347:9 [INFO] [stdout] | [INFO] [stdout] 347 | mut texture: Texture, [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] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:249:13 [INFO] [stdout] | [INFO] [stdout] 249 | let mut lists = &mut display_lists; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vram` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:425:9 [INFO] [stdout] | [INFO] [stdout] 425 | vram: Arc>>, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_vram` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pram` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:426:9 [INFO] [stdout] | [INFO] [stdout] 426 | pram: Arc>>, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_pram` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:470:12 [INFO] [stdout] | [INFO] [stdout] 470 | if let dlb = opaque_dl.build() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pdl` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:465:17 [INFO] [stdout] | [INFO] [stdout] 465 | let mut pdl = &mut lists; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pdl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `display_list_id` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:463:9 [INFO] [stdout] | [INFO] [stdout] 463 | display_list_id: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_display_list_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:465:13 [INFO] [stdout] | [INFO] [stdout] 465 | let mut pdl = &mut lists; [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] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:468:13 [INFO] [stdout] | [INFO] [stdout] 468 | let mut opaque_dl = &mut lists[PvrListType::Opaque as usize]; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:570:12 [INFO] [stdout] | [INFO] [stdout] 570 | if let dlb = opaque_dl.build() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pdl` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:565:17 [INFO] [stdout] | [INFO] [stdout] 565 | let mut pdl = &mut lists; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pdl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `display_list_id` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:563:9 [INFO] [stdout] | [INFO] [stdout] 563 | display_list_id: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_display_list_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:565:13 [INFO] [stdout] | [INFO] [stdout] 565 | let mut pdl = &mut lists; [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] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:568:13 [INFO] [stdout] | [INFO] [stdout] 568 | let mut opaque_dl = &mut lists[PvrListType::Translucent as usize]; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:684:9 [INFO] [stdout] | [INFO] [stdout] 684 | device: &Device, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `texture` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:744:25 [INFO] [stdout] | [INFO] [stdout] 744 | if let Some(texture) = texture_array.get(&texture_id) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_texture` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vram` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:706:9 [INFO] [stdout] | [INFO] [stdout] 706 | vram: Arc>>, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_vram` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pram` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:707:9 [INFO] [stdout] | [INFO] [stdout] 707 | pram: Arc>>, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_pram` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_auto_sort` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/mod.rs:91:13 [INFO] [stdout] | [INFO] [stdout] 91 | let is_auto_sort = !self.registers.isp_feed_cfg.check_bit(0); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_auto_sort` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `z` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/mod.rs:113:17 [INFO] [stdout] | [INFO] [stdout] 113 | let z = f32::from_bits(u32::from_le_bytes([ [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_z` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dz` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/mod.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 144 | let dz = b.z + c.z - a.z; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_dz` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/mod.rs:165:9 [INFO] [stdout] | [INFO] [stdout] 165 | mut addr: PhysicalAddress, [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> emerald-core/src/hw/holly/sb.rs:250:13 [INFO] [stdout] | [INFO] [stdout] 244 | 0x005f7c08 => { [INFO] [stdout] | ---------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 250 | 0x005f7c08 => self.registers.pdstap = value, [INFO] [stdout] | ^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> emerald-core/src/hw/holly/sb.rs:251:13 [INFO] [stdout] | [INFO] [stdout] 244 | 0x005f7c08 => { [INFO] [stdout] | ---------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 251 | 0x005f7c08 => self.registers.pdlen = value, [INFO] [stdout] | ^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> emerald-core/src/hw/holly/sb.rs:456:13 [INFO] [stdout] | [INFO] [stdout] 420 | 0x005f6820 => {} // sb_sdst [INFO] [stdout] | ---------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 456 | 0x005f6820 => { [INFO] [stdout] | ^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> emerald-core/src/hw/holly/sb.rs:468:13 [INFO] [stdout] | [INFO] [stdout] 289 | / 0x005F68AC | 0x005F78A4 | 0x005F78A0 | 0x005F78A8 | 0x005F78AC | 0x005F78B0 [INFO] [stdout] 290 | | | 0x005F78B4 | 0x005F78B8 => {} [INFO] [stdout] | |_____________________________________- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 468 | 0x005f68ac => {} // ??? [INFO] [stdout] | ^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> emerald-core/src/hw/holly/mod.rs:285:21 [INFO] [stdout] | [INFO] [stdout] 285 | let mut len = self.sb.registers.c2dlen as usize; [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] --> emerald-core/src/hw/holly/mod.rs:298:21 [INFO] [stdout] | [INFO] [stdout] 298 | let mut ram_offset = (src & ram_mask); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> emerald-core/src/hw/holly/mod.rs:415:13 [INFO] [stdout] | [INFO] [stdout] 411 | 0x00800000..=0x00FFFFFF => self.aica.read_aica_wave_32(addr), [INFO] [stdout] | ----------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 415 | 0x00900000..=0x0090FFFF => self.aica.read_aica_register_32(addr), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> emerald-core/src/hw/holly/mod.rs:463:13 [INFO] [stdout] | [INFO] [stdout] 459 | 0x00800000..=0x00FFFFFF => self.aica.write_aica_wave_32(addr, value), [INFO] [stdout] | ----------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 463 | 0x00900000..=0x00907fff => self.aica.write_aica_register_32(addr, value), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `saw_sr` is assigned to, but never used [INFO] [stdout] --> emerald-core/src/lib.rs:144:21 [INFO] [stdout] | [INFO] [stdout] 144 | let mut saw_sr = false; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_saw_sr` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `saw_sr` is never read [INFO] [stdout] --> emerald-core/src/lib.rs:287:41 [INFO] [stdout] | [INFO] [stdout] 287 | ... saw_sr = true; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `saw_sr` is never read [INFO] [stdout] --> emerald-core/src/lib.rs:345:21 [INFO] [stdout] | [INFO] [stdout] 345 | saw_sr = false; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0557`. [INFO] [stdout] [INFO] [stderr] error: could not compile `emerald-core` (lib test) due to 4 previous errors; 144 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/texture_cache.rs:330:14 [INFO] [stdout] | [INFO] [stdout] 330 | for (id, texture) in self.textures.iter_mut() { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/texture_cache.rs:338:14 [INFO] [stdout] | [INFO] [stdout] 338 | for (id, texture) in self.textures.iter_mut() { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/texture_cache.rs:337:45 [INFO] [stdout] | [INFO] [stdout] 337 | pub fn notify_paletted_write(&mut self, addr: u32) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/texture_cache.rs:347:9 [INFO] [stdout] | [INFO] [stdout] 347 | mut texture: Texture, [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] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:249:13 [INFO] [stdout] | [INFO] [stdout] 249 | let mut lists = &mut display_lists; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vram` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:425:9 [INFO] [stdout] | [INFO] [stdout] 425 | vram: Arc>>, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_vram` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pram` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:426:9 [INFO] [stdout] | [INFO] [stdout] 426 | pram: Arc>>, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_pram` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:470:12 [INFO] [stdout] | [INFO] [stdout] 470 | if let dlb = opaque_dl.build() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pdl` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:465:17 [INFO] [stdout] | [INFO] [stdout] 465 | let mut pdl = &mut lists; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pdl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `display_list_id` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:463:9 [INFO] [stdout] | [INFO] [stdout] 463 | display_list_id: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_display_list_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:465:13 [INFO] [stdout] | [INFO] [stdout] 465 | let mut pdl = &mut lists; [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] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:468:13 [INFO] [stdout] | [INFO] [stdout] 468 | let mut opaque_dl = &mut lists[PvrListType::Opaque as usize]; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:570:12 [INFO] [stdout] | [INFO] [stdout] 570 | if let dlb = opaque_dl.build() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pdl` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:565:17 [INFO] [stdout] | [INFO] [stdout] 565 | let mut pdl = &mut lists; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pdl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `display_list_id` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:563:9 [INFO] [stdout] | [INFO] [stdout] 563 | display_list_id: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_display_list_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:565:13 [INFO] [stdout] | [INFO] [stdout] 565 | let mut pdl = &mut lists; [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] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:568:13 [INFO] [stdout] | [INFO] [stdout] 568 | let mut opaque_dl = &mut lists[PvrListType::Translucent as usize]; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `device` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:684:9 [INFO] [stdout] | [INFO] [stdout] 684 | device: &Device, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `texture` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:744:25 [INFO] [stdout] | [INFO] [stdout] 744 | if let Some(texture) = texture_array.get(&texture_id) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_texture` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vram` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:706:9 [INFO] [stdout] | [INFO] [stdout] 706 | vram: Arc>>, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_vram` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pram` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/wgpu/mod.rs:707:9 [INFO] [stdout] | [INFO] [stdout] 707 | pram: Arc>>, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_pram` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_auto_sort` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/mod.rs:91:13 [INFO] [stdout] | [INFO] [stdout] 91 | let is_auto_sort = !self.registers.isp_feed_cfg.check_bit(0); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_auto_sort` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `z` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/mod.rs:113:17 [INFO] [stdout] | [INFO] [stdout] 113 | let z = f32::from_bits(u32::from_le_bytes([ [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_z` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dz` [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/mod.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 144 | let dz = b.z + c.z - a.z; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_dz` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> emerald-core/src/hw/holly/pvr/mod.rs:165:9 [INFO] [stdout] | [INFO] [stdout] 165 | mut addr: PhysicalAddress, [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> emerald-core/src/hw/holly/sb.rs:250:13 [INFO] [stdout] | [INFO] [stdout] 244 | 0x005f7c08 => { [INFO] [stdout] | ---------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 250 | 0x005f7c08 => self.registers.pdstap = value, [INFO] [stdout] | ^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> emerald-core/src/hw/holly/sb.rs:251:13 [INFO] [stdout] | [INFO] [stdout] 244 | 0x005f7c08 => { [INFO] [stdout] | ---------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 251 | 0x005f7c08 => self.registers.pdlen = value, [INFO] [stdout] | ^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> emerald-core/src/hw/holly/sb.rs:456:13 [INFO] [stdout] | [INFO] [stdout] 420 | 0x005f6820 => {} // sb_sdst [INFO] [stdout] | ---------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 456 | 0x005f6820 => { [INFO] [stdout] | ^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> emerald-core/src/hw/holly/sb.rs:468:13 [INFO] [stdout] | [INFO] [stdout] 289 | / 0x005F68AC | 0x005F78A4 | 0x005F78A0 | 0x005F78A8 | 0x005F78AC | 0x005F78B0 [INFO] [stdout] 290 | | | 0x005F78B4 | 0x005F78B8 => {} [INFO] [stdout] | |_____________________________________- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 468 | 0x005f68ac => {} // ??? [INFO] [stdout] | ^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> emerald-core/src/hw/holly/mod.rs:285:21 [INFO] [stdout] | [INFO] [stdout] 285 | let mut len = self.sb.registers.c2dlen as usize; [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] --> emerald-core/src/hw/holly/mod.rs:298:21 [INFO] [stdout] | [INFO] [stdout] 298 | let mut ram_offset = (src & ram_mask); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> emerald-core/src/hw/holly/mod.rs:415:13 [INFO] [stdout] | [INFO] [stdout] 411 | 0x00800000..=0x00FFFFFF => self.aica.read_aica_wave_32(addr), [INFO] [stdout] | ----------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 415 | 0x00900000..=0x0090FFFF => self.aica.read_aica_register_32(addr), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> emerald-core/src/hw/holly/mod.rs:463:13 [INFO] [stdout] | [INFO] [stdout] 459 | 0x00800000..=0x00FFFFFF => self.aica.write_aica_wave_32(addr, value), [INFO] [stdout] | ----------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 463 | 0x00900000..=0x00907fff => self.aica.write_aica_register_32(addr, value), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `saw_sr` is assigned to, but never used [INFO] [stdout] --> emerald-core/src/lib.rs:144:21 [INFO] [stdout] | [INFO] [stdout] 144 | let mut saw_sr = false; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_saw_sr` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `saw_sr` is never read [INFO] [stdout] --> emerald-core/src/lib.rs:287:41 [INFO] [stdout] | [INFO] [stdout] 287 | ... saw_sr = true; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `saw_sr` is never read [INFO] [stdout] --> emerald-core/src/lib.rs:345:21 [INFO] [stdout] | [INFO] [stdout] 345 | saw_sr = false; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0557`. [INFO] [stdout] [INFO] [stderr] error: could not compile `emerald-core` (lib) due to 4 previous errors; 144 warnings emitted [INFO] running `Command { std: "docker" "inspect" "e927e237a47a9f8dde5ea5b1ea386259a87834e79b151a7435dbbdf0cefbd5a0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e927e237a47a9f8dde5ea5b1ea386259a87834e79b151a7435dbbdf0cefbd5a0", kill_on_drop: false }` [INFO] [stdout] e927e237a47a9f8dde5ea5b1ea386259a87834e79b151a7435dbbdf0cefbd5a0