[INFO] cloning repository https://github.com/Kris-Rubrecht17/gemulator [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Kris-Rubrecht17/gemulator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKris-Rubrecht17%2Fgemulator", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKris-Rubrecht17%2Fgemulator'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 83b384793f62241f2dcde89369299328cf973f95 [INFO] linting Kris-Rubrecht17/gemulator against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKris-Rubrecht17%2Fgemulator" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Kris-Rubrecht17/gemulator [INFO] finished tweaking git repo https://github.com/Kris-Rubrecht17/gemulator [INFO] tweaked toml for git repo https://github.com/Kris-Rubrecht17/gemulator written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Kris-Rubrecht17/gemulator on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Kris-Rubrecht17/gemulator already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] 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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 71790c7a8ddf839203ba99e5570a8044ff253cf8b8d49a91bb1c0e48010872ea [INFO] running `Command { std: "docker" "start" "-a" "71790c7a8ddf839203ba99e5570a8044ff253cf8b8d49a91bb1c0e48010872ea", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "71790c7a8ddf839203ba99e5570a8044ff253cf8b8d49a91bb1c0e48010872ea", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "71790c7a8ddf839203ba99e5570a8044ff253cf8b8d49a91bb1c0e48010872ea", kill_on_drop: false }` [INFO] [stdout] 71790c7a8ddf839203ba99e5570a8044ff253cf8b8d49a91bb1c0e48010872ea [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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6d685b4f1c455403dd9a75ba9b52148fec5b9dc2cc2668141dfb35cb29176cf5 [INFO] running `Command { std: "docker" "start" "-a" "6d685b4f1c455403dd9a75ba9b52148fec5b9dc2cc2668141dfb35cb29176cf5", kill_on_drop: false }` [INFO] [stderr] Checking unicode-ident v1.0.22 [INFO] [stderr] Compiling syn v2.0.110 [INFO] [stderr] Checking gem_sdl v0.1.0 (/opt/rustwide/workdir/gem_sdl) [INFO] [stderr] Checking proc-macro2 v1.0.103 [INFO] [stderr] Checking quote v1.0.42 [INFO] [stderr] Checking proc_macros v0.1.0 (/opt/rustwide/workdir/gem_gba/proc_macros) [INFO] [stdout] warning: unused import: `Attribute` [INFO] [stdout] --> gem_gba/proc_macros/src/lib.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | Attribute, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ToTokens` [INFO] [stdout] --> gem_gba/proc_macros/src/isa_sm83.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | ToTokens, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parse_macro_input` [INFO] [stdout] --> gem_gba/proc_macros/src/isa_sm83.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | parse_macro_input, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Attribute` [INFO] [stdout] --> gem_gba/proc_macros/src/lib.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | Attribute, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ToTokens` [INFO] [stdout] --> gem_gba/proc_macros/src/isa_sm83.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | ToTokens, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parse_macro_input` [INFO] [stdout] --> gem_gba/proc_macros/src/isa_sm83.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | parse_macro_input, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `HLSP` contains a capitalized acronym [INFO] [stdout] --> gem_gba/proc_macros/src/isa_sm83.rs:32:19 [INFO] [stdout] | [INFO] [stdout] 32 | pub(super) struct HLSP; [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Hlsp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> gem_gba/proc_macros/src/isa_sm83.rs:45:17 [INFO] [stdout] | [INFO] [stdout] 45 | / if let Expr::Path(p) = &*f.base { [INFO] [stdout] 46 | | if p.path.is_ident("cpu") { [INFO] [stdout] 47 | | if let Member::Named(name) = &f.member { [INFO] [stdout] 48 | | if name == "lo" { [INFO] [stdout] ... | [INFO] [stdout] 55 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 45 ~ if let Expr::Path(p) = &*f.base [INFO] [stdout] 46 ~ && p.path.is_ident("cpu") { [INFO] [stdout] 47 | if let Member::Named(name) = &f.member { [INFO] [stdout] ... [INFO] [stdout] 53 | } [INFO] [stdout] 54 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> gem_gba/proc_macros/src/isa_sm83.rs:46:21 [INFO] [stdout] | [INFO] [stdout] 46 | / if p.path.is_ident("cpu") { [INFO] [stdout] 47 | | if let Member::Named(name) = &f.member { [INFO] [stdout] 48 | | if name == "lo" { [INFO] [stdout] 49 | | return parse_quote!((cpu.sp & 0xFF) as u8); [INFO] [stdout] ... | [INFO] [stdout] 54 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 46 ~ if p.path.is_ident("cpu") [INFO] [stdout] 47 ~ && let Member::Named(name) = &f.member { [INFO] [stdout] 48 | if name == "lo" { [INFO] [stdout] ... [INFO] [stdout] 52 | } [INFO] [stdout] 53 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `HLSP` contains a capitalized acronym [INFO] [stdout] --> gem_gba/proc_macros/src/isa_sm83.rs:32:19 [INFO] [stdout] | [INFO] [stdout] 32 | pub(super) struct HLSP; [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Hlsp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> gem_gba/proc_macros/src/isa_sm83.rs:45:17 [INFO] [stdout] | [INFO] [stdout] 45 | / if let Expr::Path(p) = &*f.base { [INFO] [stdout] 46 | | if p.path.is_ident("cpu") { [INFO] [stdout] 47 | | if let Member::Named(name) = &f.member { [INFO] [stdout] 48 | | if name == "lo" { [INFO] [stdout] ... | [INFO] [stdout] 55 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 45 ~ if let Expr::Path(p) = &*f.base [INFO] [stdout] 46 ~ && p.path.is_ident("cpu") { [INFO] [stdout] 47 | if let Member::Named(name) = &f.member { [INFO] [stdout] ... [INFO] [stdout] 53 | } [INFO] [stdout] 54 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> gem_gba/proc_macros/src/isa_sm83.rs:46:21 [INFO] [stdout] | [INFO] [stdout] 46 | / if p.path.is_ident("cpu") { [INFO] [stdout] 47 | | if let Member::Named(name) = &f.member { [INFO] [stdout] 48 | | if name == "lo" { [INFO] [stdout] 49 | | return parse_quote!((cpu.sp & 0xFF) as u8); [INFO] [stdout] ... | [INFO] [stdout] 54 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 46 ~ if p.path.is_ident("cpu") [INFO] [stdout] 47 ~ && let Member::Named(name) = &f.member { [INFO] [stdout] 48 | if name == "lo" { [INFO] [stdout] ... [INFO] [stdout] 52 | } [INFO] [stdout] 53 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Attribute` [INFO] [stdout] --> gem_gba/proc_macros/src/lib.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | Attribute, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ToTokens` [INFO] [stdout] --> gem_gba/proc_macros/src/isa_sm83.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | ToTokens, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `parse_macro_input` [INFO] [stdout] --> gem_gba/proc_macros/src/isa_sm83.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | parse_macro_input, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `HLSP` contains a capitalized acronym [INFO] [stdout] --> gem_gba/proc_macros/src/isa_sm83.rs:32:19 [INFO] [stdout] | [INFO] [stdout] 32 | pub(super) struct HLSP; [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Hlsp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> gem_gba/proc_macros/src/isa_sm83.rs:45:17 [INFO] [stdout] | [INFO] [stdout] 45 | / if let Expr::Path(p) = &*f.base { [INFO] [stdout] 46 | | if p.path.is_ident("cpu") { [INFO] [stdout] 47 | | if let Member::Named(name) = &f.member { [INFO] [stdout] 48 | | if name == "lo" { [INFO] [stdout] ... | [INFO] [stdout] 55 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 45 ~ if let Expr::Path(p) = &*f.base [INFO] [stdout] 46 ~ && p.path.is_ident("cpu") { [INFO] [stdout] 47 | if let Member::Named(name) = &f.member { [INFO] [stdout] ... [INFO] [stdout] 53 | } [INFO] [stdout] 54 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> gem_gba/proc_macros/src/isa_sm83.rs:46:21 [INFO] [stdout] | [INFO] [stdout] 46 | / if p.path.is_ident("cpu") { [INFO] [stdout] 47 | | if let Member::Named(name) = &f.member { [INFO] [stdout] 48 | | if name == "lo" { [INFO] [stdout] 49 | | return parse_quote!((cpu.sp & 0xFF) as u8); [INFO] [stdout] ... | [INFO] [stdout] 54 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 46 ~ if p.path.is_ident("cpu") [INFO] [stdout] 47 ~ && let Member::Named(name) = &f.member { [INFO] [stdout] 48 | if name == "lo" { [INFO] [stdout] ... [INFO] [stdout] 52 | } [INFO] [stdout] 53 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking gem_gba v0.1.0 (/opt/rustwide/workdir/gem_gba) [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> gem_gba/src/gb/timer.rs:75:32 [INFO] [stdout] | [INFO] [stdout] 75 | ... - ((state as i32 * t_multiplier - cycles_late as i32) [INFO] [stdout] | __________________________^ [INFO] [stdout] 76 | | ... & 3 * t_multiplier), [INFO] [stdout] | |____________________________________________^ help: consider parenthesizing your expression: `(state as i32 * t_multiplier - cycles_late as i32) & (3 * t_multiplier)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] = note: `#[warn(clippy::precedence)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> gem_gba/src/gb/timer.rs:103:32 [INFO] [stdout] | [INFO] [stdout] 103 | ... - ((cpu.state as i32 * t_multiplier - cycles_late as i32) [INFO] [stdout] | __________________________^ [INFO] [stdout] 104 | | ... & 3 * t_multiplier), [INFO] [stdout] | |____________________________________________^ help: consider parenthesizing your expression: `(cpu.state as i32 * t_multiplier - cycles_late as i32) & (3 * t_multiplier)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> gem_gba/src/gb/timer.rs:75:32 [INFO] [stdout] | [INFO] [stdout] 75 | ... - ((state as i32 * t_multiplier - cycles_late as i32) [INFO] [stdout] | __________________________^ [INFO] [stdout] 76 | | ... & 3 * t_multiplier), [INFO] [stdout] | |____________________________________________^ help: consider parenthesizing your expression: `(state as i32 * t_multiplier - cycles_late as i32) & (3 * t_multiplier)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] = note: `#[warn(clippy::precedence)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> gem_gba/src/gb/timer.rs:103:32 [INFO] [stdout] | [INFO] [stdout] 103 | ... - ((cpu.state as i32 * t_multiplier - cycles_late as i32) [INFO] [stdout] | __________________________^ [INFO] [stdout] 104 | | ... & 3 * t_multiplier), [INFO] [stdout] | |____________________________________________^ help: consider parenthesizing your expression: `(cpu.state as i32 * t_multiplier - cycles_late as i32) & (3 * t_multiplier)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> gem_gba/src/gb/apu.rs:177:46 [INFO] [stdout] | [INFO] [stdout] 177 | pub fn write(&mut self, samples: &[u16], mut count: usize) -> usize { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> gem_gba/src/gb/cartridge/mbc.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | let mut len = std::fs::metadata(&p)?.len() as usize; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:220:40 [INFO] [stdout] | [INFO] [stdout] 220 | fn call_update_spl(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:227:40 [INFO] [stdout] | [INFO] [stdout] 227 | fn call_update_sph(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:231:35 [INFO] [stdout] | [INFO] [stdout] 231 | fn update_pch(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:242:40 [INFO] [stdout] | [INFO] [stdout] 242 | fn call_update_pcl(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:248:33 [INFO] [stdout] | [INFO] [stdout] 248 | pub fn call(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:253:38 [INFO] [stdout] | [INFO] [stdout] 253 | pub fn jr_finish(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:261:31 [INFO] [stdout] | [INFO] [stdout] 261 | pub fn jr(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:266:38 [INFO] [stdout] | [INFO] [stdout] 266 | fn ret_finish(cpu: &mut SM83CPU, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:271:42 [INFO] [stdout] | [INFO] [stdout] 271 | fn ret_update_spl(cpu: &mut SM83CPU, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:277:42 [INFO] [stdout] | [INFO] [stdout] 277 | fn ret_update_sph(cpu: &mut SM83CPU, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:304:42 [INFO] [stdout] | [INFO] [stdout] 304 | pub fn add_sp_finish(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:308:41 [INFO] [stdout] | [INFO] [stdout] 308 | pub fn add_sp_delay(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:323:35 [INFO] [stdout] | [INFO] [stdout] 323 | pub fn add_sp(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> gem_gba/src/gb/apu.rs:177:46 [INFO] [stdout] | [INFO] [stdout] 177 | pub fn write(&mut self, samples: &[u16], mut count: usize) -> usize { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:340:33 [INFO] [stdout] | [INFO] [stdout] 340 | pub fn ldhl(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:346:40 [INFO] [stdout] | [INFO] [stdout] 346 | pub fn ld_hl_delay(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:351:34 [INFO] [stdout] | [INFO] [stdout] 351 | pub fn ld_hl(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:356:40 [INFO] [stdout] | [INFO] [stdout] 356 | pub fn ld_de_delay(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:361:38 [INFO] [stdout] | [INFO] [stdout] 361 | pub fn ld_de_imm(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:366:40 [INFO] [stdout] | [INFO] [stdout] 366 | pub fn ld_bc_delay(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:371:38 [INFO] [stdout] | [INFO] [stdout] 371 | pub fn ld_bc_imm(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:376:41 [INFO] [stdout] | [INFO] [stdout] 376 | pub fn ld_sp_finish(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:379:40 [INFO] [stdout] | [INFO] [stdout] 379 | pub fn ld_sp_delay(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:384:38 [INFO] [stdout] | [INFO] [stdout] 384 | pub fn ld_sp_imm(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:389:36 [INFO] [stdout] | [INFO] [stdout] 389 | pub fn ld_a_bc(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:394:36 [INFO] [stdout] | [INFO] [stdout] 394 | pub fn ld_a_de(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:399:36 [INFO] [stdout] | [INFO] [stdout] 399 | pub fn ld_bc_a(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:405:36 [INFO] [stdout] | [INFO] [stdout] 405 | pub fn ld_de_a(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:412:37 [INFO] [stdout] | [INFO] [stdout] 412 | pub fn ld_a_hli(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:418:37 [INFO] [stdout] | [INFO] [stdout] 418 | pub fn ld_a_hld(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:424:37 [INFO] [stdout] | [INFO] [stdout] 424 | pub fn ld_hli_a(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:431:37 [INFO] [stdout] | [INFO] [stdout] 431 | pub fn ld_hld_a(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:438:44 [INFO] [stdout] | [INFO] [stdout] 438 | pub fn ld_imm_a_finish(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:445:43 [INFO] [stdout] | [INFO] [stdout] 445 | pub fn ld_imm_a_delay(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:451:37 [INFO] [stdout] | [INFO] [stdout] 451 | pub fn ld_imm_a(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:456:44 [INFO] [stdout] | [INFO] [stdout] 456 | pub fn ldh_a_imm_delay(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:461:38 [INFO] [stdout] | [INFO] [stdout] 461 | pub fn ldh_a_imm(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> gem_gba/src/gb/cartridge/mbc.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | let mut len = std::fs::metadata(&p)?.len() as usize; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:466:44 [INFO] [stdout] | [INFO] [stdout] 466 | pub fn ldh_imm_a_delay(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:472:38 [INFO] [stdout] | [INFO] [stdout] 472 | pub fn ldh_imm_a(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:477:42 [INFO] [stdout] | [INFO] [stdout] 477 | pub fn ldh_a_c_delay(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:482:36 [INFO] [stdout] | [INFO] [stdout] 482 | pub fn ldh_a_c(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:487:42 [INFO] [stdout] | [INFO] [stdout] 487 | pub fn ldh_c_a_delay(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:493:36 [INFO] [stdout] | [INFO] [stdout] 493 | pub fn ldh_c_a(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:534:47 [INFO] [stdout] | [INFO] [stdout] 534 | pub fn ld_a_a16_finish(cpu: &mut SM83CPU, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:539:46 [INFO] [stdout] | [INFO] [stdout] 539 | pub fn ld_a_ai6_delay(cpu: &mut SM83CPU, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:544:40 [INFO] [stdout] | [INFO] [stdout] 544 | pub fn ld_a_a16(cpu: &mut SM83CPU, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:220:40 [INFO] [stdout] | [INFO] [stdout] 220 | fn call_update_spl(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:227:40 [INFO] [stdout] | [INFO] [stdout] 227 | fn call_update_sph(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:231:35 [INFO] [stdout] | [INFO] [stdout] 231 | fn update_pch(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:242:40 [INFO] [stdout] | [INFO] [stdout] 242 | fn call_update_pcl(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:248:33 [INFO] [stdout] | [INFO] [stdout] 248 | pub fn call(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:253:38 [INFO] [stdout] | [INFO] [stdout] 253 | pub fn jr_finish(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:261:31 [INFO] [stdout] | [INFO] [stdout] 261 | pub fn jr(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:266:38 [INFO] [stdout] | [INFO] [stdout] 266 | fn ret_finish(cpu: &mut SM83CPU, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:271:42 [INFO] [stdout] | [INFO] [stdout] 271 | fn ret_update_spl(cpu: &mut SM83CPU, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:277:42 [INFO] [stdout] | [INFO] [stdout] 277 | fn ret_update_sph(cpu: &mut SM83CPU, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:304:42 [INFO] [stdout] | [INFO] [stdout] 304 | pub fn add_sp_finish(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:308:41 [INFO] [stdout] | [INFO] [stdout] 308 | pub fn add_sp_delay(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:323:35 [INFO] [stdout] | [INFO] [stdout] 323 | pub fn add_sp(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:340:33 [INFO] [stdout] | [INFO] [stdout] 340 | pub fn ldhl(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:346:40 [INFO] [stdout] | [INFO] [stdout] 346 | pub fn ld_hl_delay(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:351:34 [INFO] [stdout] | [INFO] [stdout] 351 | pub fn ld_hl(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:356:40 [INFO] [stdout] | [INFO] [stdout] 356 | pub fn ld_de_delay(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:361:38 [INFO] [stdout] | [INFO] [stdout] 361 | pub fn ld_de_imm(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:366:40 [INFO] [stdout] | [INFO] [stdout] 366 | pub fn ld_bc_delay(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:371:38 [INFO] [stdout] | [INFO] [stdout] 371 | pub fn ld_bc_imm(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:376:41 [INFO] [stdout] | [INFO] [stdout] 376 | pub fn ld_sp_finish(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:379:40 [INFO] [stdout] | [INFO] [stdout] 379 | pub fn ld_sp_delay(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:384:38 [INFO] [stdout] | [INFO] [stdout] 384 | pub fn ld_sp_imm(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:389:36 [INFO] [stdout] | [INFO] [stdout] 389 | pub fn ld_a_bc(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:394:36 [INFO] [stdout] | [INFO] [stdout] 394 | pub fn ld_a_de(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:399:36 [INFO] [stdout] | [INFO] [stdout] 399 | pub fn ld_bc_a(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:405:36 [INFO] [stdout] | [INFO] [stdout] 405 | pub fn ld_de_a(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:412:37 [INFO] [stdout] | [INFO] [stdout] 412 | pub fn ld_a_hli(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:418:37 [INFO] [stdout] | [INFO] [stdout] 418 | pub fn ld_a_hld(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:424:37 [INFO] [stdout] | [INFO] [stdout] 424 | pub fn ld_hli_a(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:431:37 [INFO] [stdout] | [INFO] [stdout] 431 | pub fn ld_hld_a(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:438:44 [INFO] [stdout] | [INFO] [stdout] 438 | pub fn ld_imm_a_finish(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:445:43 [INFO] [stdout] | [INFO] [stdout] 445 | pub fn ld_imm_a_delay(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:451:37 [INFO] [stdout] | [INFO] [stdout] 451 | pub fn ld_imm_a(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:456:44 [INFO] [stdout] | [INFO] [stdout] 456 | pub fn ldh_a_imm_delay(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:461:38 [INFO] [stdout] | [INFO] [stdout] 461 | pub fn ldh_a_imm(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:466:44 [INFO] [stdout] | [INFO] [stdout] 466 | pub fn ldh_imm_a_delay(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:472:38 [INFO] [stdout] | [INFO] [stdout] 472 | pub fn ldh_imm_a(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:477:42 [INFO] [stdout] | [INFO] [stdout] 477 | pub fn ldh_a_c_delay(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:482:36 [INFO] [stdout] | [INFO] [stdout] 482 | pub fn ldh_a_c(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:487:42 [INFO] [stdout] | [INFO] [stdout] 487 | pub fn ldh_c_a_delay(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:493:36 [INFO] [stdout] | [INFO] [stdout] 493 | pub fn ldh_c_a(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> gem_gba/src/gb/sm83/mod.rs:209:37 [INFO] [stdout] | [INFO] [stdout] 209 | pub(crate) fn enable_interrupts(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:534:47 [INFO] [stdout] | [INFO] [stdout] 534 | pub fn ld_a_a16_finish(cpu: &mut SM83CPU, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:539:46 [INFO] [stdout] | [INFO] [stdout] 539 | pub fn ld_a_ai6_delay(cpu: &mut SM83CPU, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bus` [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:544:40 [INFO] [stdout] | [INFO] [stdout] 544 | pub fn ld_a_a16(cpu: &mut SM83CPU, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CircleBuffer` is never constructed [INFO] [stdout] --> gem_gba/src/circle_buffer.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct CircleBuffer { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> gem_gba/src/circle_buffer.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl CircleBuffer { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 11 | pub fn with_capacity(cap: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn write_byte(&mut self, byte: u8) -> i32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn write_word(&mut self, word: u16) -> i32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn write_dword(&mut self, dword: u32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn write(&mut self, input: &[T], len: usize) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | fn write_truncate(&mut self, input: &[T], mut len: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn read_byte(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn read_word(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub fn read_dword(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn read(&mut self, output: &mut [T], len: usize) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 238 | pub fn dump(&mut self, output: &mut [T], len: usize, mut offset: usize) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `GBAEventKind` is never used [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:47:17 [INFO] [stdout] | [INFO] [stdout] 47 | pub(crate) enum GBAEventKind {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `global_cycles` is never read [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:93:16 [INFO] [stdout] | [INFO] [stdout] 87 | pub(crate) struct EventScheduler { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 93 | pub(crate) global_cycles: u64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `current_time` and `global_time` are never used [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:127:12 [INFO] [stdout] | [INFO] [stdout] 95 | impl EventScheduler { [INFO] [stdout] | ------------------------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn current_time(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn global_time(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Envelope` is never constructed [INFO] [stdout] --> gem_gba/src/gb/apu.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct Envelope { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SquareControl` is never constructed [INFO] [stdout] --> gem_gba/src/gb/apu.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct SquareControl { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Sweep` is never constructed [INFO] [stdout] --> gem_gba/src/gb/apu.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 54 | pub struct Sweep { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SquareChannel` is never constructed [INFO] [stdout] --> gem_gba/src/gb/apu.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 64 | pub struct SquareChannel { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: union `WaveData` is never used [INFO] [stdout] --> gem_gba/src/gb/apu.rs:73:11 [INFO] [stdout] | [INFO] [stdout] 73 | pub union WaveData { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WaveChannel` is never constructed [INFO] [stdout] --> gem_gba/src/gb/apu.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 77 | pub struct WaveChannel { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `wave_data32`, `set_wave_data32`, `wave_data8`, and `set_wave_data8` are never used [INFO] [stdout] --> gem_gba/src/gb/apu.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 91 | impl WaveChannel { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 92 | pub fn wave_data32(&self, idx: usize) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn set_wave_data32(&mut self, idx: usize, value: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn wave_data8(&self, idx: usize) -> u8 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn set_wave_data8(&mut self, idx: usize, value: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NoiseChannel` is never constructed [INFO] [stdout] --> gem_gba/src/gb/apu.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 114 | pub struct NoiseChannel { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StereoSample` is never constructed [INFO] [stdout] --> gem_gba/src/gb/apu.rs:128:12 [INFO] [stdout] | [INFO] [stdout] 128 | pub struct StereoSample { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AudioBuffer` is never constructed [INFO] [stdout] --> gem_gba/src/gb/apu.rs:133:12 [INFO] [stdout] | [INFO] [stdout] 133 | pub struct AudioBuffer { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> gem_gba/src/gb/apu.rs:138:12 [INFO] [stdout] | [INFO] [stdout] 137 | impl AudioBuffer { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 138 | pub fn new(cap: usize, n_channels: u32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | pub fn available(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn capacity(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn peek(&mut self, channel: u32, offset: usize) -> i16 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | pub fn dump(&mut self, samples: &mut [u16], count: usize, offset: usize) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn read(&mut self, samples: &mut [u16], count: usize) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub fn write(&mut self, samples: &[u16], mut count: usize) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `APU` is never constructed [INFO] [stdout] --> gem_gba/src/gb/apu.rs:194:12 [INFO] [stdout] | [INFO] [stdout] 194 | pub struct APU { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CartridgeHeader` is never constructed [INFO] [stdout] --> gem_gba/src/gb/cartridge/header.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct CartridgeHeader<'data>(&'data [u8]); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> gem_gba/src/gb/cartridge/header.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl<'data> CartridgeHeader<'data> { [INFO] [stdout] | ---------------------------------- methods in this implementation [INFO] [stdout] 15 | pub fn entry(&self) -> &[u8] { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn logo(&self) -> &[u8] { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn title_long(&self) -> &[u8] { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn title_short(&self) -> &[u8] { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn maker(&self) -> &[u8] { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn cgb(&self) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn licensee(&self) -> &[u8] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn sgb(&self) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn mbc_ty(&self) -> u8 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn title_str(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RomOnly` is never constructed [INFO] [stdout] --> gem_gba/src/gb/cartridge/mbc.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct RomOnly(pub Vec); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_cart` is never used [INFO] [stdout] --> gem_gba/src/gb/cartridge/mbc.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn load_cart>(p: T) -> Result, std::io::Error> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `JOYP` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | pub const JOYP: u16 = 0x00; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DIV` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | pub const DIV: u16 = 0x04; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TIMA` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | pub const TIMA: u16 = 0x05; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TMA` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | pub const TMA: u16 = 0x06; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR10` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | pub const NR10: u16 = 0x10; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR11` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:15:15 [INFO] [stdout] | [INFO] [stdout] 15 | pub const NR11: u16 = 0x11; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR12` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:16:15 [INFO] [stdout] | [INFO] [stdout] 16 | pub const NR12: u16 = 0x12; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR13` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | pub const NR13: u16 = 0x13; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR14` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:18:15 [INFO] [stdout] | [INFO] [stdout] 18 | pub const NR14: u16 = 0x14; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR21` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:19:15 [INFO] [stdout] | [INFO] [stdout] 19 | pub const NR21: u16 = 0x16; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR22` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:20:15 [INFO] [stdout] | [INFO] [stdout] 20 | pub const NR22: u16 = 0x17; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR23` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:21:15 [INFO] [stdout] | [INFO] [stdout] 21 | pub const NR23: u16 = 0x18; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR24` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:22:15 [INFO] [stdout] | [INFO] [stdout] 22 | pub const NR24: u16 = 0x19; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR30` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:23:15 [INFO] [stdout] | [INFO] [stdout] 23 | pub const NR30: u16 = 0x1A; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR31` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:24:15 [INFO] [stdout] | [INFO] [stdout] 24 | pub const NR31: u16 = 0x1B; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR32` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:25:15 [INFO] [stdout] | [INFO] [stdout] 25 | pub const NR32: u16 = 0x1C; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR33` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:26:15 [INFO] [stdout] | [INFO] [stdout] 26 | pub const NR33: u16 = 0x1D; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR34` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:27:15 [INFO] [stdout] | [INFO] [stdout] 27 | pub const NR34: u16 = 0x1E; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR41` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:28:15 [INFO] [stdout] | [INFO] [stdout] 28 | pub const NR41: u16 = 0x20; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR42` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:29:15 [INFO] [stdout] | [INFO] [stdout] 29 | pub const NR42: u16 = 0x21; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR43` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:30:15 [INFO] [stdout] | [INFO] [stdout] 30 | pub const NR43: u16 = 0x22; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR44` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:31:15 [INFO] [stdout] | [INFO] [stdout] 31 | pub const NR44: u16 = 0x23; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR50` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:32:15 [INFO] [stdout] | [INFO] [stdout] 32 | pub const NR50: u16 = 0x24; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR51` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:33:15 [INFO] [stdout] | [INFO] [stdout] 33 | pub const NR51: u16 = 0x25; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR52` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 34 | pub const NR52: u16 = 0x26; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_0` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:36:15 [INFO] [stdout] | [INFO] [stdout] 36 | pub const WAVE_0: u16 = 0x30; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_1` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | pub const WAVE_1: u16 = 0x31; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_2` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:38:15 [INFO] [stdout] | [INFO] [stdout] 38 | pub const WAVE_2: u16 = 0x32; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_3` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:39:15 [INFO] [stdout] | [INFO] [stdout] 39 | pub const WAVE_3: u16 = 0x33; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_4` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:40:15 [INFO] [stdout] | [INFO] [stdout] 40 | pub const WAVE_4: u16 = 0x34; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_5` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:41:15 [INFO] [stdout] | [INFO] [stdout] 41 | pub const WAVE_5: u16 = 0x35; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_6` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:42:15 [INFO] [stdout] | [INFO] [stdout] 42 | pub const WAVE_6: u16 = 0x36; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_7` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:43:15 [INFO] [stdout] | [INFO] [stdout] 43 | pub const WAVE_7: u16 = 0x37; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_8` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:44:15 [INFO] [stdout] | [INFO] [stdout] 44 | pub const WAVE_8: u16 = 0x38; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_9` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:45:15 [INFO] [stdout] | [INFO] [stdout] 45 | pub const WAVE_9: u16 = 0x39; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_A` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | pub const WAVE_A: u16 = 0x3A; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_B` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:47:15 [INFO] [stdout] | [INFO] [stdout] 47 | pub const WAVE_B: u16 = 0x3B; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_C` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:48:15 [INFO] [stdout] | [INFO] [stdout] 48 | pub const WAVE_C: u16 = 0x3C; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_D` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:49:15 [INFO] [stdout] | [INFO] [stdout] 49 | pub const WAVE_D: u16 = 0x3D; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_E` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:50:15 [INFO] [stdout] | [INFO] [stdout] 50 | pub const WAVE_E: u16 = 0x3E; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_F` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:51:15 [INFO] [stdout] | [INFO] [stdout] 51 | pub const WAVE_F: u16 = 0x3F; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STAT` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:54:15 [INFO] [stdout] | [INFO] [stdout] 54 | pub const STAT: u16 = 0x41; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SCY` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:55:15 [INFO] [stdout] | [INFO] [stdout] 55 | pub const SCY: u16 = 0x42; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SCX` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:56:15 [INFO] [stdout] | [INFO] [stdout] 56 | pub const SCX: u16 = 0x43; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LYC` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:58:15 [INFO] [stdout] | [INFO] [stdout] 58 | pub const LYC: u16 = 0x45; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DMA` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:59:15 [INFO] [stdout] | [INFO] [stdout] 59 | pub const DMA: u16 = 0x46; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BGP` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:60:15 [INFO] [stdout] | [INFO] [stdout] 60 | pub const BGP: u16 = 0x47; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OBP0` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:61:15 [INFO] [stdout] | [INFO] [stdout] 61 | pub const OBP0: u16 = 0x48; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OBP1` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:62:15 [INFO] [stdout] | [INFO] [stdout] 62 | pub const OBP1: u16 = 0x49; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WY` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:63:15 [INFO] [stdout] | [INFO] [stdout] 63 | pub const WY: u16 = 0x4A; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WX` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:64:15 [INFO] [stdout] | [INFO] [stdout] 64 | pub const WX: u16 = 0x4B; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KEY0` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:66:15 [INFO] [stdout] | [INFO] [stdout] 66 | pub const KEY0: u16 = 0x4C; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KEY1` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:67:15 [INFO] [stdout] | [INFO] [stdout] 67 | pub const KEY1: u16 = 0x4D; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VBK` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:68:15 [INFO] [stdout] | [INFO] [stdout] 68 | pub const VBK: u16 = 0x4F; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BANK` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:69:15 [INFO] [stdout] | [INFO] [stdout] 69 | pub const BANK: u16 = 0x50; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HDMA1` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:70:15 [INFO] [stdout] | [INFO] [stdout] 70 | pub const HDMA1: u16 = 0x51; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HDMA2` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:71:15 [INFO] [stdout] | [INFO] [stdout] 71 | pub const HDMA2: u16 = 0x52; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HDMA3` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:72:15 [INFO] [stdout] | [INFO] [stdout] 72 | pub const HDMA3: u16 = 0x53; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HDMA4` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:73:15 [INFO] [stdout] | [INFO] [stdout] 73 | pub const HDMA4: u16 = 0x54; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HDMA5` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:74:15 [INFO] [stdout] | [INFO] [stdout] 74 | pub const HDMA5: u16 = 0x55; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RP` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:75:15 [INFO] [stdout] | [INFO] [stdout] 75 | pub const RP: u16 = 0x56; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BCPS` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:76:15 [INFO] [stdout] | [INFO] [stdout] 76 | pub const BCPS: u16 = 0x68; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BCPD` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:77:15 [INFO] [stdout] | [INFO] [stdout] 77 | pub const BCPD: u16 = 0x69; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OCPS` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:78:15 [INFO] [stdout] | [INFO] [stdout] 78 | pub const OCPS: u16 = 0x6A; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OCPD` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:79:15 [INFO] [stdout] | [INFO] [stdout] 79 | pub const OCPD: u16 = 0x6B; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OPRI` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:80:15 [INFO] [stdout] | [INFO] [stdout] 80 | pub const OPRI: u16 = 0x6C; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SVBK` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:81:15 [INFO] [stdout] | [INFO] [stdout] 81 | pub const SVBK: u16 = 0x70; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PSWX` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:82:15 [INFO] [stdout] | [INFO] [stdout] 82 | pub const PSWX: u16 = 0x72; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PSWY` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:83:15 [INFO] [stdout] | [INFO] [stdout] 83 | pub const PSWY: u16 = 0x73; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PSW` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:84:15 [INFO] [stdout] | [INFO] [stdout] 84 | pub const PSW: u16 = 0x74; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNK75` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:85:15 [INFO] [stdout] | [INFO] [stdout] 85 | pub const UNK75: u16 = 0x75; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PCM12` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:86:15 [INFO] [stdout] | [INFO] [stdout] 86 | pub const PCM12: u16 = 0x76; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PCM34` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:87:15 [INFO] [stdout] | [INFO] [stdout] 87 | pub const PCM34: u16 = 0x77; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:88:15 [INFO] [stdout] | [INFO] [stdout] 88 | pub const MAX: u16 = 0x100; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `af` is never used [INFO] [stdout] --> gem_gba/src/gb/sm83/mod.rs:138:12 [INFO] [stdout] | [INFO] [stdout] 113 | impl SM83CPU { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn af(&self) -> u16 { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `tma` is never read [INFO] [stdout] --> gem_gba/src/gb/timer.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Timer { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 26 | pub tma: u8, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> gem_gba/src/circle_buffer.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | .expect(&format!("Allocation of {cap} bytes failed")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("Allocation of {cap} bytes failed"))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] = note: `#[warn(clippy::expect_fun_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `DMA` contains a capitalized acronym [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | DMA(fn(&mut EventScheduler, &mut SM83CPU, &mut MemoryBus, u32)), [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Dma` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> gem_gba/src/gb/sm83/mod.rs:209:37 [INFO] [stdout] | [INFO] [stdout] 209 | pub(crate) fn enable_interrupts(cpu: &mut Self, bus: &mut MemoryBus) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-canonical implementation of `partial_cmp` on an `Ord` type [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:67:1 [INFO] [stdout] | [INFO] [stdout] 67 | / impl PartialOrd for EmuEvent { [INFO] [stdout] 68 | | fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 69 | | use std::cmp::Ordering::*; [INFO] [stdout] 70 | | match self.when.cmp(&other.when) { [INFO] [stdout] ... | [INFO] [stdout] 75 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_canonical_partial_ord_impl [INFO] [stdout] = note: `#[warn(clippy::non_canonical_partial_ord_impl)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 68 - fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 69 - use std::cmp::Ordering::*; [INFO] [stdout] 70 - match self.when.cmp(&other.when) { [INFO] [stdout] 71 - Equal => Some(self.priority.cmp(&other.priority)), [INFO] [stdout] 72 - ord => Some(ord.reverse()), [INFO] [stdout] 73 - } [INFO] [stdout] 74 - } [INFO] [stdout] 68 + fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CircleBuffer` is never constructed [INFO] [stdout] --> gem_gba/src/circle_buffer.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct CircleBuffer { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> gem_gba/src/circle_buffer.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl CircleBuffer { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 11 | pub fn with_capacity(cap: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn write_byte(&mut self, byte: u8) -> i32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn write_word(&mut self, word: u16) -> i32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn write_dword(&mut self, dword: u32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn write(&mut self, input: &[T], len: usize) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | fn write_truncate(&mut self, input: &[T], mut len: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn read_byte(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn read_word(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub fn read_dword(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn read(&mut self, output: &mut [T], len: usize) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 238 | pub fn dump(&mut self, output: &mut [T], len: usize, mut offset: usize) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `APU` contains a capitalized acronym [INFO] [stdout] --> gem_gba/src/gb/apu.rs:194:12 [INFO] [stdout] | [INFO] [stdout] 194 | pub struct APU { [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Apu` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `GBAEventKind` is never used [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:47:17 [INFO] [stdout] | [INFO] [stdout] 47 | pub(crate) enum GBAEventKind {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `global_cycles` is never read [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:93:16 [INFO] [stdout] | [INFO] [stdout] 87 | pub(crate) struct EventScheduler { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 93 | pub(crate) global_cycles: u64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `current_time` and `global_time` are never used [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:127:12 [INFO] [stdout] | [INFO] [stdout] 95 | impl EventScheduler { [INFO] [stdout] | ------------------------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn current_time(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn global_time(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Envelope` is never constructed [INFO] [stdout] --> gem_gba/src/gb/apu.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct Envelope { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SquareControl` is never constructed [INFO] [stdout] --> gem_gba/src/gb/apu.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct SquareControl { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Sweep` is never constructed [INFO] [stdout] --> gem_gba/src/gb/apu.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 54 | pub struct Sweep { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SquareChannel` is never constructed [INFO] [stdout] --> gem_gba/src/gb/apu.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 64 | pub struct SquareChannel { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: union `WaveData` is never used [INFO] [stdout] --> gem_gba/src/gb/apu.rs:73:11 [INFO] [stdout] | [INFO] [stdout] 73 | pub union WaveData { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WaveChannel` is never constructed [INFO] [stdout] --> gem_gba/src/gb/apu.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 77 | pub struct WaveChannel { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `wave_data32`, `set_wave_data32`, `wave_data8`, and `set_wave_data8` are never used [INFO] [stdout] --> gem_gba/src/gb/apu.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 91 | impl WaveChannel { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 92 | pub fn wave_data32(&self, idx: usize) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn set_wave_data32(&mut self, idx: usize, value: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn wave_data8(&self, idx: usize) -> u8 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn set_wave_data8(&mut self, idx: usize, value: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NoiseChannel` is never constructed [INFO] [stdout] --> gem_gba/src/gb/apu.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 114 | pub struct NoiseChannel { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StereoSample` is never constructed [INFO] [stdout] --> gem_gba/src/gb/apu.rs:128:12 [INFO] [stdout] | [INFO] [stdout] 128 | pub struct StereoSample { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AudioBuffer` is never constructed [INFO] [stdout] --> gem_gba/src/gb/apu.rs:133:12 [INFO] [stdout] | [INFO] [stdout] 133 | pub struct AudioBuffer { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> gem_gba/src/gb/apu.rs:138:12 [INFO] [stdout] | [INFO] [stdout] 137 | impl AudioBuffer { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 138 | pub fn new(cap: usize, n_channels: u32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | pub fn available(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn capacity(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn peek(&mut self, channel: u32, offset: usize) -> i16 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | pub fn dump(&mut self, samples: &mut [u16], count: usize, offset: usize) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn read(&mut self, samples: &mut [u16], count: usize) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub fn write(&mut self, samples: &[u16], mut count: usize) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `APU` is never constructed [INFO] [stdout] --> gem_gba/src/gb/apu.rs:194:12 [INFO] [stdout] | [INFO] [stdout] 194 | pub struct APU { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `logo`, `title_short`, `maker`, and `licensee` are never used [INFO] [stdout] --> gem_gba/src/gb/cartridge/header.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl<'data> CartridgeHeader<'data> { [INFO] [stdout] | ---------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn logo(&self) -> &[u8] { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn title_short(&self) -> &[u8] { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn maker(&self) -> &[u8] { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn licensee(&self) -> &[u8] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `JOYP` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | pub const JOYP: u16 = 0x00; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DIV` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | pub const DIV: u16 = 0x04; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TIMA` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | pub const TIMA: u16 = 0x05; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TMA` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:8:15 [INFO] [stdout] | [INFO] [stdout] 8 | pub const TMA: u16 = 0x06; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR10` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | pub const NR10: u16 = 0x10; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR11` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:15:15 [INFO] [stdout] | [INFO] [stdout] 15 | pub const NR11: u16 = 0x11; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR12` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:16:15 [INFO] [stdout] | [INFO] [stdout] 16 | pub const NR12: u16 = 0x12; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR13` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | pub const NR13: u16 = 0x13; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR14` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:18:15 [INFO] [stdout] | [INFO] [stdout] 18 | pub const NR14: u16 = 0x14; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR21` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:19:15 [INFO] [stdout] | [INFO] [stdout] 19 | pub const NR21: u16 = 0x16; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR22` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:20:15 [INFO] [stdout] | [INFO] [stdout] 20 | pub const NR22: u16 = 0x17; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR23` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:21:15 [INFO] [stdout] | [INFO] [stdout] 21 | pub const NR23: u16 = 0x18; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `MBC` contains a capitalized acronym [INFO] [stdout] --> gem_gba/src/gb/cartridge/mbc.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub trait MBC { [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Mbc` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR24` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:22:15 [INFO] [stdout] | [INFO] [stdout] 22 | pub const NR24: u16 = 0x19; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR30` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:23:15 [INFO] [stdout] | [INFO] [stdout] 23 | pub const NR30: u16 = 0x1A; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR31` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:24:15 [INFO] [stdout] | [INFO] [stdout] 24 | pub const NR31: u16 = 0x1B; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR32` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:25:15 [INFO] [stdout] | [INFO] [stdout] 25 | pub const NR32: u16 = 0x1C; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR33` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:26:15 [INFO] [stdout] | [INFO] [stdout] 26 | pub const NR33: u16 = 0x1D; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR34` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:27:15 [INFO] [stdout] | [INFO] [stdout] 27 | pub const NR34: u16 = 0x1E; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR41` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:28:15 [INFO] [stdout] | [INFO] [stdout] 28 | pub const NR41: u16 = 0x20; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR42` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:29:15 [INFO] [stdout] | [INFO] [stdout] 29 | pub const NR42: u16 = 0x21; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR43` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:30:15 [INFO] [stdout] | [INFO] [stdout] 30 | pub const NR43: u16 = 0x22; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR44` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:31:15 [INFO] [stdout] | [INFO] [stdout] 31 | pub const NR44: u16 = 0x23; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR50` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:32:15 [INFO] [stdout] | [INFO] [stdout] 32 | pub const NR50: u16 = 0x24; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR51` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:33:15 [INFO] [stdout] | [INFO] [stdout] 33 | pub const NR51: u16 = 0x25; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NR52` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:34:15 [INFO] [stdout] | [INFO] [stdout] 34 | pub const NR52: u16 = 0x26; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_0` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:36:15 [INFO] [stdout] | [INFO] [stdout] 36 | pub const WAVE_0: u16 = 0x30; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_1` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | pub const WAVE_1: u16 = 0x31; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_2` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:38:15 [INFO] [stdout] | [INFO] [stdout] 38 | pub const WAVE_2: u16 = 0x32; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_3` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:39:15 [INFO] [stdout] | [INFO] [stdout] 39 | pub const WAVE_3: u16 = 0x33; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_4` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:40:15 [INFO] [stdout] | [INFO] [stdout] 40 | pub const WAVE_4: u16 = 0x34; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_5` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:41:15 [INFO] [stdout] | [INFO] [stdout] 41 | pub const WAVE_5: u16 = 0x35; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_6` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:42:15 [INFO] [stdout] | [INFO] [stdout] 42 | pub const WAVE_6: u16 = 0x36; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_7` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:43:15 [INFO] [stdout] | [INFO] [stdout] 43 | pub const WAVE_7: u16 = 0x37; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_8` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:44:15 [INFO] [stdout] | [INFO] [stdout] 44 | pub const WAVE_8: u16 = 0x38; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_9` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:45:15 [INFO] [stdout] | [INFO] [stdout] 45 | pub const WAVE_9: u16 = 0x39; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_A` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | pub const WAVE_A: u16 = 0x3A; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_B` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:47:15 [INFO] [stdout] | [INFO] [stdout] 47 | pub const WAVE_B: u16 = 0x3B; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_C` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:48:15 [INFO] [stdout] | [INFO] [stdout] 48 | pub const WAVE_C: u16 = 0x3C; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_D` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:49:15 [INFO] [stdout] | [INFO] [stdout] 49 | pub const WAVE_D: u16 = 0x3D; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_E` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:50:15 [INFO] [stdout] | [INFO] [stdout] 50 | pub const WAVE_E: u16 = 0x3E; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `DMA` contains a capitalized acronym [INFO] [stdout] --> gem_gba/src/gb/memory_bus.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct DMA { [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Dma` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WAVE_F` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:51:15 [INFO] [stdout] | [INFO] [stdout] 51 | pub const WAVE_F: u16 = 0x3F; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STAT` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:54:15 [INFO] [stdout] | [INFO] [stdout] 54 | pub const STAT: u16 = 0x41; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SCY` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:55:15 [INFO] [stdout] | [INFO] [stdout] 55 | pub const SCY: u16 = 0x42; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SCX` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:56:15 [INFO] [stdout] | [INFO] [stdout] 56 | pub const SCX: u16 = 0x43; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LYC` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:58:15 [INFO] [stdout] | [INFO] [stdout] 58 | pub const LYC: u16 = 0x45; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DMA` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:59:15 [INFO] [stdout] | [INFO] [stdout] 59 | pub const DMA: u16 = 0x46; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BGP` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:60:15 [INFO] [stdout] | [INFO] [stdout] 60 | pub const BGP: u16 = 0x47; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OBP0` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:61:15 [INFO] [stdout] | [INFO] [stdout] 61 | pub const OBP0: u16 = 0x48; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OBP1` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:62:15 [INFO] [stdout] | [INFO] [stdout] 62 | pub const OBP1: u16 = 0x49; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WY` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:63:15 [INFO] [stdout] | [INFO] [stdout] 63 | pub const WY: u16 = 0x4A; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WX` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:64:15 [INFO] [stdout] | [INFO] [stdout] 64 | pub const WX: u16 = 0x4B; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KEY0` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:66:15 [INFO] [stdout] | [INFO] [stdout] 66 | pub const KEY0: u16 = 0x4C; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KEY1` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:67:15 [INFO] [stdout] | [INFO] [stdout] 67 | pub const KEY1: u16 = 0x4D; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VBK` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:68:15 [INFO] [stdout] | [INFO] [stdout] 68 | pub const VBK: u16 = 0x4F; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BANK` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:69:15 [INFO] [stdout] | [INFO] [stdout] 69 | pub const BANK: u16 = 0x50; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HDMA1` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:70:15 [INFO] [stdout] | [INFO] [stdout] 70 | pub const HDMA1: u16 = 0x51; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HDMA2` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:71:15 [INFO] [stdout] | [INFO] [stdout] 71 | pub const HDMA2: u16 = 0x52; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HDMA3` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:72:15 [INFO] [stdout] | [INFO] [stdout] 72 | pub const HDMA3: u16 = 0x53; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HDMA4` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:73:15 [INFO] [stdout] | [INFO] [stdout] 73 | pub const HDMA4: u16 = 0x54; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HDMA5` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:74:15 [INFO] [stdout] | [INFO] [stdout] 74 | pub const HDMA5: u16 = 0x55; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RP` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:75:15 [INFO] [stdout] | [INFO] [stdout] 75 | pub const RP: u16 = 0x56; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BCPS` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:76:15 [INFO] [stdout] | [INFO] [stdout] 76 | pub const BCPS: u16 = 0x68; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BCPD` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:77:15 [INFO] [stdout] | [INFO] [stdout] 77 | pub const BCPD: u16 = 0x69; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OCPS` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:78:15 [INFO] [stdout] | [INFO] [stdout] 78 | pub const OCPS: u16 = 0x6A; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OCPD` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:79:15 [INFO] [stdout] | [INFO] [stdout] 79 | pub const OCPD: u16 = 0x6B; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OPRI` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:80:15 [INFO] [stdout] | [INFO] [stdout] 80 | pub const OPRI: u16 = 0x6C; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SVBK` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:81:15 [INFO] [stdout] | [INFO] [stdout] 81 | pub const SVBK: u16 = 0x70; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PSWX` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:82:15 [INFO] [stdout] | [INFO] [stdout] 82 | pub const PSWX: u16 = 0x72; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PSWY` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:83:15 [INFO] [stdout] | [INFO] [stdout] 83 | pub const PSWY: u16 = 0x73; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PSW` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:84:15 [INFO] [stdout] | [INFO] [stdout] 84 | pub const PSW: u16 = 0x74; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNK75` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:85:15 [INFO] [stdout] | [INFO] [stdout] 85 | pub const UNK75: u16 = 0x75; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PCM12` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:86:15 [INFO] [stdout] | [INFO] [stdout] 86 | pub const PCM12: u16 = 0x76; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PCM34` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:87:15 [INFO] [stdout] | [INFO] [stdout] 87 | pub const PCM34: u16 = 0x77; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX` is never used [INFO] [stdout] --> gem_gba/src/gb/io.rs:88:15 [INFO] [stdout] | [INFO] [stdout] 88 | pub const MAX: u16 = 0x100; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> gem_gba/src/gb/memory_bus.rs:104:27 [INFO] [stdout] | [INFO] [stdout] 104 | self.wram[self.wram_bank as usize * 0x1000 + (addr as usize & 0xFFF)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.wram_bank` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `af` is never used [INFO] [stdout] --> gem_gba/src/gb/sm83/mod.rs:138:12 [INFO] [stdout] | [INFO] [stdout] 113 | impl SM83CPU { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn af(&self) -> u16 { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `tma` is never read [INFO] [stdout] --> gem_gba/src/gb/timer.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Timer { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 26 | pub tma: u8, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> gem_gba/src/gb/memory_bus.rs:125:27 [INFO] [stdout] | [INFO] [stdout] 125 | self.wram[self.wram_bank as usize * 0x1000 + (addr as usize & 0xFFF)] = value [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.wram_bank` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> gem_gba/src/gb/memory_bus.rs:180:17 [INFO] [stdout] | [INFO] [stdout] 180 | / if value == 0x81 { [INFO] [stdout] 181 | | //println!("MESSAGE!!!! {}", self.sb as char) [INFO] [stdout] 182 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 179 ~ SC [INFO] [stdout] 180 ~ if value == 0x81 => { [INFO] [stdout] 181 | //println!("MESSAGE!!!! {}", self.sb as char) [INFO] [stdout] 182 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> gem_gba/src/circle_buffer.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | .expect(&format!("Allocation of {cap} bytes failed")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|_| panic!("Allocation of {cap} bytes failed"))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] = note: `#[warn(clippy::expect_fun_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `RETEI` contains a capitalized acronym [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | RETEI(fn(&mut SM83CPU, &mut MemoryBus, schedule: &mut EventScheduler)), [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Retei` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `HALT` contains a capitalized acronym [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | HALT(fn(&mut GameBoy)), [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Halt` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `DMA` contains a capitalized acronym [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | DMA(fn(&mut EventScheduler, &mut SM83CPU, &mut MemoryBus, u32)), [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Dma` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-canonical implementation of `partial_cmp` on an `Ord` type [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:67:1 [INFO] [stdout] | [INFO] [stdout] 67 | / impl PartialOrd for EmuEvent { [INFO] [stdout] 68 | | fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 69 | | use std::cmp::Ordering::*; [INFO] [stdout] 70 | | match self.when.cmp(&other.when) { [INFO] [stdout] ... | [INFO] [stdout] 75 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_canonical_partial_ord_impl [INFO] [stdout] = note: `#[warn(clippy::non_canonical_partial_ord_impl)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 68 - fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 69 - use std::cmp::Ordering::*; [INFO] [stdout] 70 - match self.when.cmp(&other.when) { [INFO] [stdout] 71 - Equal => Some(self.priority.cmp(&other.priority)), [INFO] [stdout] 72 - ord => Some(ord.reverse()), [INFO] [stdout] 73 - } [INFO] [stdout] 74 - } [INFO] [stdout] 68 + fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `APU` contains a capitalized acronym [INFO] [stdout] --> gem_gba/src/gb/apu.rs:194:12 [INFO] [stdout] | [INFO] [stdout] 194 | pub struct APU { [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Apu` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `MBC` contains a capitalized acronym [INFO] [stdout] --> gem_gba/src/gb/cartridge/mbc.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub trait MBC { [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Mbc` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `DMA` contains a capitalized acronym [INFO] [stdout] --> gem_gba/src/gb/memory_bus.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct DMA { [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Dma` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> gem_gba/src/gb/memory_bus.rs:104:27 [INFO] [stdout] | [INFO] [stdout] 104 | self.wram[self.wram_bank as usize * 0x1000 + (addr as usize & 0xFFF)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.wram_bank` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> gem_gba/src/gb/memory_bus.rs:125:27 [INFO] [stdout] | [INFO] [stdout] 125 | self.wram[self.wram_bank as usize * 0x1000 + (addr as usize & 0xFFF)] = value [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.wram_bank` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> gem_gba/src/gb/memory_bus.rs:180:17 [INFO] [stdout] | [INFO] [stdout] 180 | / if value == 0x81 { [INFO] [stdout] 181 | | //println!("MESSAGE!!!! {}", self.sb as char) [INFO] [stdout] 182 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 179 ~ SC [INFO] [stdout] 180 ~ if value == 0x81 => { [INFO] [stdout] 181 | //println!("MESSAGE!!!! {}", self.sb as char) [INFO] [stdout] 182 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `RETEI` contains a capitalized acronym [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | RETEI(fn(&mut SM83CPU, &mut MemoryBus, schedule: &mut EventScheduler)), [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Retei` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `HALT` contains a capitalized acronym [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | HALT(fn(&mut GameBoy)), [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Halt` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:316:20 [INFO] [stdout] | [INFO] [stdout] 316 | .set_c((diff as u16 & 0xFF) as u16 + (cpu.sp & 0xFF) >= 0x100); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((diff as u16 & 0xFF))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u16` -> `u16`) [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:316:20 [INFO] [stdout] | [INFO] [stdout] 316 | .set_c((diff as u16 & 0xFF) as u16 + (cpu.sp & 0xFF) >= 0x100); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((diff as u16 & 0xFF))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this OR pattern can be rewritten using a range [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:816:13 [INFO] [stdout] | [INFO] [stdout] 816 | 0xEB | 0xEC | 0xED => unreachable!("ILLEGAL OPCODE 0x{opcode:2X}"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `0xEB..=0xED` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_patterns [INFO] [stdout] = note: `#[warn(clippy::manual_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> gem_gba/src/gb/sm83/mod.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | / impl Default for CpuState { [INFO] [stdout] 36 | | fn default() -> Self { [INFO] [stdout] 37 | | Self::Idle0 [INFO] [stdout] 38 | | } [INFO] [stdout] 39 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute and mark the default variant [INFO] [stdout] | [INFO] [stdout] 22 + #[derive(Default)] [INFO] [stdout] 23 | pub enum CpuState { [INFO] [stdout] 24 ~ #[default] [INFO] [stdout] 25 ~ Idle0 = 0, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> gem_gba/src/gb/mod.rs:205:46 [INFO] [stdout] | [INFO] [stdout] 205 | self.event_bus.rel_cycles += next_fetch as i32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `next_fetch` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> gem_gba/src/gb/mod.rs:215:21 [INFO] [stdout] | [INFO] [stdout] 215 | let shift = !(self.bus.double_speed == 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(self.bus.double_speed != 0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Eq, Ord)] [INFO] [stdout] | --------- in this derive macro expansion [INFO] [stdout] 9 | pub(crate) enum GBEventKind { [INFO] [stdout] 10 | DMA(fn(&mut EventScheduler, &mut SM83CPU, &mut MemoryBus, u32)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Eq, Ord)] [INFO] [stdout] | --------- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 11 | EI(fn(&mut SM83CPU, &mut MemoryBus)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Eq, Ord)] [INFO] [stdout] | --------- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 12 | TimerUpdate(fn(&mut EventScheduler, &mut SM83CPU, &mut MemoryBus, u32)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Eq, Ord)] [INFO] [stdout] | ---------- in this derive macro expansion [INFO] [stdout] 9 | pub(crate) enum GBEventKind { [INFO] [stdout] 10 | DMA(fn(&mut EventScheduler, &mut SM83CPU, &mut MemoryBus, u32)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Eq, Ord)] [INFO] [stdout] | ---------- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 11 | EI(fn(&mut SM83CPU, &mut MemoryBus)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Eq, Ord)] [INFO] [stdout] | ---------- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 12 | TimerUpdate(fn(&mut EventScheduler, &mut SM83CPU, &mut MemoryBus, u32)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Eq, Ord)] [INFO] [stdout] | --- in this derive macro expansion [INFO] [stdout] 9 | pub(crate) enum GBEventKind { [INFO] [stdout] 10 | DMA(fn(&mut EventScheduler, &mut SM83CPU, &mut MemoryBus, u32)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Eq, Ord)] [INFO] [stdout] | --- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 11 | EI(fn(&mut SM83CPU, &mut MemoryBus)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Eq, Ord)] [INFO] [stdout] | --- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 12 | TimerUpdate(fn(&mut EventScheduler, &mut SM83CPU, &mut MemoryBus, u32)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this OR pattern can be rewritten using a range [INFO] [stdout] --> gem_gba/src/gb/sm83/isa.rs:816:13 [INFO] [stdout] | [INFO] [stdout] 816 | 0xEB | 0xEC | 0xED => unreachable!("ILLEGAL OPCODE 0x{opcode:2X}"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `0xEB..=0xED` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_patterns [INFO] [stdout] = note: `#[warn(clippy::manual_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> gem_gba/src/gb/sm83/mod.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | / impl Default for CpuState { [INFO] [stdout] 36 | | fn default() -> Self { [INFO] [stdout] 37 | | Self::Idle0 [INFO] [stdout] 38 | | } [INFO] [stdout] 39 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute and mark the default variant [INFO] [stdout] | [INFO] [stdout] 22 + #[derive(Default)] [INFO] [stdout] 23 | pub enum CpuState { [INFO] [stdout] 24 ~ #[default] [INFO] [stdout] 25 ~ Idle0 = 0, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> gem_gba/src/gb/mod.rs:205:46 [INFO] [stdout] | [INFO] [stdout] 205 | self.event_bus.rel_cycles += next_fetch as i32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `next_fetch` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> gem_gba/src/gb/mod.rs:215:21 [INFO] [stdout] | [INFO] [stdout] 215 | let shift = !(self.bus.double_speed == 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(self.bus.double_speed != 0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Eq, Ord)] [INFO] [stdout] | --------- in this derive macro expansion [INFO] [stdout] 9 | pub(crate) enum GBEventKind { [INFO] [stdout] 10 | DMA(fn(&mut EventScheduler, &mut SM83CPU, &mut MemoryBus, u32)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Eq, Ord)] [INFO] [stdout] | --------- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 11 | EI(fn(&mut SM83CPU, &mut MemoryBus)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Eq, Ord)] [INFO] [stdout] | --------- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 12 | TimerUpdate(fn(&mut EventScheduler, &mut SM83CPU, &mut MemoryBus, u32)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Eq, Ord)] [INFO] [stdout] | ---------- in this derive macro expansion [INFO] [stdout] 9 | pub(crate) enum GBEventKind { [INFO] [stdout] 10 | DMA(fn(&mut EventScheduler, &mut SM83CPU, &mut MemoryBus, u32)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Eq, Ord)] [INFO] [stdout] | ---------- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 11 | EI(fn(&mut SM83CPU, &mut MemoryBus)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Eq, Ord)] [INFO] [stdout] | ---------- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 12 | TimerUpdate(fn(&mut EventScheduler, &mut SM83CPU, &mut MemoryBus, u32)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Eq, Ord)] [INFO] [stdout] | --- in this derive macro expansion [INFO] [stdout] 9 | pub(crate) enum GBEventKind { [INFO] [stdout] 10 | DMA(fn(&mut EventScheduler, &mut SM83CPU, &mut MemoryBus, u32)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Eq, Ord)] [INFO] [stdout] | --- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 11 | EI(fn(&mut SM83CPU, &mut MemoryBus)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> gem_gba/src/event_scheduler.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Eq, Ord)] [INFO] [stdout] | --- in this derive macro expansion [INFO] [stdout] ... [INFO] [stdout] 12 | TimerUpdate(fn(&mut EventScheduler, &mut SM83CPU, &mut MemoryBus, u32)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.43s [INFO] running `Command { std: "docker" "inspect" "6d685b4f1c455403dd9a75ba9b52148fec5b9dc2cc2668141dfb35cb29176cf5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6d685b4f1c455403dd9a75ba9b52148fec5b9dc2cc2668141dfb35cb29176cf5", kill_on_drop: false }` [INFO] [stdout] 6d685b4f1c455403dd9a75ba9b52148fec5b9dc2cc2668141dfb35cb29176cf5