[INFO] cloning repository https://github.com/NicholasHallman/dmg-emu-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/NicholasHallman/dmg-emu-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNicholasHallman%2Fdmg-emu-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNicholasHallman%2Fdmg-emu-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b68740f1517982ded1c8834860b83d3231d10f2f [INFO] checking NicholasHallman/dmg-emu-rs against master#385fa9d845dd326c6bbfd58c22244215e431948a for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNicholasHallman%2Fdmg-emu-rs" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/NicholasHallman/dmg-emu-rs on toolchain 385fa9d845dd326c6bbfd58c22244215e431948a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/NicholasHallman/dmg-emu-rs [INFO] finished tweaking git repo https://github.com/NicholasHallman/dmg-emu-rs [INFO] tweaked toml for git repo https://github.com/NicholasHallman/dmg-emu-rs written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/NicholasHallman/dmg-emu-rs 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" "+385fa9d845dd326c6bbfd58c22244215e431948a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded cascade v1.0.0 [INFO] [stderr] Downloaded test-case v1.1.0 [INFO] [stderr] Downloaded wasm-bindgen-test v0.3.24 [INFO] [stderr] Downloaded wasm-bindgen-test-macro v0.3.24 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 059298de2ab9cd6d334ca3ee9b0124d79ca794ef2bcd3bb57cfe327b9ffa2def [INFO] running `Command { std: "docker" "start" "-a" "059298de2ab9cd6d334ca3ee9b0124d79ca794ef2bcd3bb57cfe327b9ffa2def", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "059298de2ab9cd6d334ca3ee9b0124d79ca794ef2bcd3bb57cfe327b9ffa2def", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "059298de2ab9cd6d334ca3ee9b0124d79ca794ef2bcd3bb57cfe327b9ffa2def", kill_on_drop: false }` [INFO] [stdout] 059298de2ab9cd6d334ca3ee9b0124d79ca794ef2bcd3bb57cfe327b9ffa2def [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f0699ac14efa9e0196991419e95520ba89228d195654e45c7f8bc72eb20a668a [INFO] running `Command { std: "docker" "start" "-a" "f0699ac14efa9e0196991419e95520ba89228d195654e45c7f8bc72eb20a668a", kill_on_drop: false }` [INFO] [stderr] Compiling syn v1.0.72 [INFO] [stderr] Compiling proc-macro2 v1.0.26 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.74 [INFO] [stderr] Compiling bumpalo v3.7.0 [INFO] [stderr] Compiling wasm-bindgen v0.2.74 [INFO] [stderr] Checking scoped-tls v1.0.0 [INFO] [stderr] Checking cascade v1.0.0 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Compiling test-case v1.1.0 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Compiling wasm-bindgen-test-macro v0.3.24 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.74 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.74 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.74 [INFO] [stderr] Checking js-sys v0.3.51 [INFO] [stderr] Checking console_error_panic_hook v0.1.6 [INFO] [stderr] Checking wasm-bindgen-futures v0.4.24 [INFO] [stderr] Checking web-sys v0.3.51 [INFO] [stderr] Checking wasm-bindgen-test v0.3.24 [INFO] [stderr] Checking dmg_emu v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused macro definition: `log` [INFO] [stdout] --> src/mem.rs:10:14 [INFO] [stdout] | [INFO] [stdout] 10 | macro_rules! log { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `log` [INFO] [stdout] --> src/cpu.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | macro_rules! log { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/ppu.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `js_sys::SharedArrayBuffer` [INFO] [stdout] --> src/apu.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use js_sys::SharedArrayBuffer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `log` [INFO] [stdout] --> src/mem.rs:10:14 [INFO] [stdout] | [INFO] [stdout] 10 | macro_rules! log { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `log` [INFO] [stdout] --> src/cpu.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | macro_rules! log { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/ppu.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `js_sys::SharedArrayBuffer` [INFO] [stdout] --> src/apu.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use js_sys::SharedArrayBuffer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/mem.rs:138:13 [INFO] [stdout] | [INFO] [stdout] 138 | _ => 0xFF [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mem` [INFO] [stdout] --> src/cpu.rs:621:22 [INFO] [stdout] | [INFO] [stdout] 621 | fn di(&mut self, mem: &mut Mem) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_mem` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mem` [INFO] [stdout] --> src/cpu.rs:626:22 [INFO] [stdout] | [INFO] [stdout] 626 | fn ei(&mut self, mem: &mut Mem) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_mem` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/mem.rs:138:13 [INFO] [stdout] | [INFO] [stdout] 138 | _ => 0xFF [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mem` [INFO] [stdout] --> src/cpu.rs:621:22 [INFO] [stdout] | [INFO] [stdout] 621 | fn di(&mut self, mem: &mut Mem) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_mem` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mem` [INFO] [stdout] --> src/cpu.rs:626:22 [INFO] [stdout] | [INFO] [stdout] 626 | fn ei(&mut self, mem: &mut Mem) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_mem` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mask` [INFO] [stdout] --> src/mbc.rs:211:21 [INFO] [stdout] | [INFO] [stdout] 211 | let mask = self.properties.ram_banks - 1; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mask` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rom` [INFO] [stdout] --> src/mbc.rs:226:29 [INFO] [stdout] | [INFO] [stdout] 226 | fn load_cart(&mut self, rom: Vec) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:244:20 [INFO] [stdout] | [INFO] [stdout] 244 | fn read(&self, addr: u16) -> u8 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:248:25 [INFO] [stdout] | [INFO] [stdout] 248 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/mbc.rs:248:36 [INFO] [stdout] | [INFO] [stdout] 248 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rom` [INFO] [stdout] --> src/mbc.rs:252:29 [INFO] [stdout] | [INFO] [stdout] 252 | fn load_cart(&mut self, rom: Vec) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:270:20 [INFO] [stdout] | [INFO] [stdout] 270 | fn read(&self, addr: u16) -> u8 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:274:25 [INFO] [stdout] | [INFO] [stdout] 274 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/mbc.rs:274:36 [INFO] [stdout] | [INFO] [stdout] 274 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rom` [INFO] [stdout] --> src/mbc.rs:278:29 [INFO] [stdout] | [INFO] [stdout] 278 | fn load_cart(&mut self, rom: Vec) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:296:20 [INFO] [stdout] | [INFO] [stdout] 296 | fn read(&self, addr: u16) -> u8 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:300:25 [INFO] [stdout] | [INFO] [stdout] 300 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/mbc.rs:300:36 [INFO] [stdout] | [INFO] [stdout] 300 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rom` [INFO] [stdout] --> src/mbc.rs:304:29 [INFO] [stdout] | [INFO] [stdout] 304 | fn load_cart(&mut self, rom: Vec) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:322:20 [INFO] [stdout] | [INFO] [stdout] 322 | fn read(&self, addr: u16) -> u8 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:326:25 [INFO] [stdout] | [INFO] [stdout] 326 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/mbc.rs:326:36 [INFO] [stdout] | [INFO] [stdout] 326 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rom` [INFO] [stdout] --> src/mbc.rs:330:29 [INFO] [stdout] | [INFO] [stdout] 330 | fn load_cart(&mut self, rom: Vec) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:348:20 [INFO] [stdout] | [INFO] [stdout] 348 | fn read(&self, addr: u16) -> u8 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:352:25 [INFO] [stdout] | [INFO] [stdout] 352 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/mbc.rs:352:36 [INFO] [stdout] | [INFO] [stdout] 352 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rom` [INFO] [stdout] --> src/mbc.rs:356:29 [INFO] [stdout] | [INFO] [stdout] 356 | fn load_cart(&mut self, rom: Vec) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:374:20 [INFO] [stdout] | [INFO] [stdout] 374 | fn read(&self, addr: u16) -> u8 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:378:25 [INFO] [stdout] | [INFO] [stdout] 378 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/mbc.rs:378:36 [INFO] [stdout] | [INFO] [stdout] 378 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rom` [INFO] [stdout] --> src/mbc.rs:382:29 [INFO] [stdout] | [INFO] [stdout] 382 | fn load_cart(&mut self, rom: Vec) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:400:20 [INFO] [stdout] | [INFO] [stdout] 400 | fn read(&self, addr: u16) -> u8 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:404:25 [INFO] [stdout] | [INFO] [stdout] 404 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/mbc.rs:404:36 [INFO] [stdout] | [INFO] [stdout] 404 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rom` [INFO] [stdout] --> src/mbc.rs:408:29 [INFO] [stdout] | [INFO] [stdout] 408 | fn load_cart(&mut self, rom: Vec) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:422:20 [INFO] [stdout] | [INFO] [stdout] 422 | fn read(&self, addr: u16) -> u8 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:426:25 [INFO] [stdout] | [INFO] [stdout] 426 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/mbc.rs:426:36 [INFO] [stdout] | [INFO] [stdout] 426 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rom` [INFO] [stdout] --> src/mbc.rs:430:29 [INFO] [stdout] | [INFO] [stdout] 430 | fn load_cart(&mut self, rom: Vec) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `ppu_enabled` and `get_obj_enabled` are never used [INFO] [stdout] --> src/ppu.rs:600:8 [INFO] [stdout] | [INFO] [stdout] 597 | trait FetcherHelpers { [INFO] [stdout] | -------------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 600 | fn ppu_enabled(&self, mem: &Mem) -> bool; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 606 | fn get_obj_enabled(&self, mem: &Mem) -> bool; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DIV_TICK` is never used [INFO] [stdout] --> src/io.rs:78:7 [INFO] [stdout] | [INFO] [stdout] 78 | const DIV_TICK: u32 = 16384; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FREQUENCY` is never used [INFO] [stdout] --> src/io.rs:90:7 [INFO] [stdout] | [INFO] [stdout] 90 | const FREQUENCY: u32 = 4_194_304; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `features` is never read [INFO] [stdout] --> src/mbc.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct MBCProperties { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | features: Vec [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `properties` is never read [INFO] [stdout] --> src/mbc.rs:232:5 [INFO] [stdout] | [INFO] [stdout] 231 | pub struct MBC2 { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 232 | properties: MBCProperties, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `properties` is never read [INFO] [stdout] --> src/mbc.rs:258:5 [INFO] [stdout] | [INFO] [stdout] 257 | pub struct MBC3 { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 258 | properties: MBCProperties [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `properties` is never read [INFO] [stdout] --> src/mbc.rs:284:5 [INFO] [stdout] | [INFO] [stdout] 283 | pub struct MBC4 { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 284 | properties: MBCProperties [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `properties` is never read [INFO] [stdout] --> src/mbc.rs:310:5 [INFO] [stdout] | [INFO] [stdout] 309 | pub struct MBC5 { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 310 | properties: MBCProperties [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `properties` is never read [INFO] [stdout] --> src/mbc.rs:336:5 [INFO] [stdout] | [INFO] [stdout] 335 | pub struct MBC6 { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 336 | properties: MBCProperties [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `properties` is never read [INFO] [stdout] --> src/mbc.rs:362:5 [INFO] [stdout] | [INFO] [stdout] 361 | pub struct MBC7 { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 362 | properties: MBCProperties [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `properties` is never read [INFO] [stdout] --> src/mbc.rs:388:5 [INFO] [stdout] | [INFO] [stdout] 387 | pub struct MMM01 { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 388 | properties: MBCProperties [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SAMPLE_RATE` is never used [INFO] [stdout] --> src/apu.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const SAMPLE_RATE: usize = 44100; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `buffer_channel_1` is never used [INFO] [stdout] --> src/apu.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 21 | impl APU { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 76 | fn buffer_channel_1(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `LCDControl` should have a snake case name [INFO] [stdout] --> src/mem.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | LCDControl: u8, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `lcdcontrol` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `LCDStatus` should have a snake case name [INFO] [stdout] --> src/mem.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | LCDStatus: u8, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `lcdstatus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `AF` should have a snake case name [INFO] [stdout] --> src/cpu.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | pub AF: u16, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `af` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `BC` should have a snake case name [INFO] [stdout] --> src/cpu.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | pub BC: u16, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `bc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `DE` should have a snake case name [INFO] [stdout] --> src/cpu.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | pub DE: u16, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `de` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `HL` should have a snake case name [INFO] [stdout] --> src/cpu.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | pub HL: u16, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `hl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `SP` should have a snake case name [INFO] [stdout] --> src/cpu.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | pub SP: u16, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `sp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `PC` should have a snake case name [INFO] [stdout] --> src/cpu.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | pub PC: u16, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `pc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `AF` should have a snake case name [INFO] [stdout] --> src/cpu.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | pub AF: u16, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `af` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `BC` should have a snake case name [INFO] [stdout] --> src/cpu.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | pub BC: u16, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `bc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `DE` should have a snake case name [INFO] [stdout] --> src/cpu.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 76 | pub DE: u16, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `de` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `HL` should have a snake case name [INFO] [stdout] --> src/cpu.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | pub HL: u16, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `hl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `SP` should have a snake case name [INFO] [stdout] --> src/cpu.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | pub SP: u16, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `sp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `PC` should have a snake case name [INFO] [stdout] --> src/cpu.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | pub PC: u16, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `pc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `SB` should have a snake case name [INFO] [stdout] --> src/io.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | SB: u8, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `sb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `SC` should have a snake case name [INFO] [stdout] --> src/io.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | SC: u8, [INFO] [stdout] | ^^ help: convert the identifier to snake case (notice the capitalization): `sc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `DIV` should have a snake case name [INFO] [stdout] --> src/io.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | pub DIV: u16, [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `div` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `TIMA` should have a snake case name [INFO] [stdout] --> src/io.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | pub TIMA: u8, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `tima` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `TMA` should have a snake case name [INFO] [stdout] --> src/io.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | pub TMA: u8, [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `tma` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `TAC` should have a snake case name [INFO] [stdout] --> src/io.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | pub TAC: u8, [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `tac` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `NR50` should have a snake case name [INFO] [stdout] --> src/apu.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | NR50: u8, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `nr50` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `NR51` should have a snake case name [INFO] [stdout] --> src/apu.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | NR51: u8, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `nr51` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `NR52` should have a snake case name [INFO] [stdout] --> src/apu.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | NR52: u8, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `nr52` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 77 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mask` [INFO] [stdout] --> src/mbc.rs:211:21 [INFO] [stdout] | [INFO] [stdout] 211 | let mask = self.properties.ram_banks - 1; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mask` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rom` [INFO] [stdout] --> src/mbc.rs:226:29 [INFO] [stdout] | [INFO] [stdout] 226 | fn load_cart(&mut self, rom: Vec) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:244:20 [INFO] [stdout] | [INFO] [stdout] 244 | fn read(&self, addr: u16) -> u8 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:248:25 [INFO] [stdout] | [INFO] [stdout] 248 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/mbc.rs:248:36 [INFO] [stdout] | [INFO] [stdout] 248 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rom` [INFO] [stdout] --> src/mbc.rs:252:29 [INFO] [stdout] | [INFO] [stdout] 252 | fn load_cart(&mut self, rom: Vec) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:270:20 [INFO] [stdout] | [INFO] [stdout] 270 | fn read(&self, addr: u16) -> u8 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:274:25 [INFO] [stdout] | [INFO] [stdout] 274 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/mbc.rs:274:36 [INFO] [stdout] | [INFO] [stdout] 274 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rom` [INFO] [stdout] --> src/mbc.rs:278:29 [INFO] [stdout] | [INFO] [stdout] 278 | fn load_cart(&mut self, rom: Vec) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:296:20 [INFO] [stdout] | [INFO] [stdout] 296 | fn read(&self, addr: u16) -> u8 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:300:25 [INFO] [stdout] | [INFO] [stdout] 300 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/mbc.rs:300:36 [INFO] [stdout] | [INFO] [stdout] 300 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rom` [INFO] [stdout] --> src/mbc.rs:304:29 [INFO] [stdout] | [INFO] [stdout] 304 | fn load_cart(&mut self, rom: Vec) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:322:20 [INFO] [stdout] | [INFO] [stdout] 322 | fn read(&self, addr: u16) -> u8 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:326:25 [INFO] [stdout] | [INFO] [stdout] 326 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/mbc.rs:326:36 [INFO] [stdout] | [INFO] [stdout] 326 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rom` [INFO] [stdout] --> src/mbc.rs:330:29 [INFO] [stdout] | [INFO] [stdout] 330 | fn load_cart(&mut self, rom: Vec) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:348:20 [INFO] [stdout] | [INFO] [stdout] 348 | fn read(&self, addr: u16) -> u8 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:352:25 [INFO] [stdout] | [INFO] [stdout] 352 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/mbc.rs:352:36 [INFO] [stdout] | [INFO] [stdout] 352 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rom` [INFO] [stdout] --> src/mbc.rs:356:29 [INFO] [stdout] | [INFO] [stdout] 356 | fn load_cart(&mut self, rom: Vec) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:374:20 [INFO] [stdout] | [INFO] [stdout] 374 | fn read(&self, addr: u16) -> u8 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:378:25 [INFO] [stdout] | [INFO] [stdout] 378 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/mbc.rs:378:36 [INFO] [stdout] | [INFO] [stdout] 378 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rom` [INFO] [stdout] --> src/mbc.rs:382:29 [INFO] [stdout] | [INFO] [stdout] 382 | fn load_cart(&mut self, rom: Vec) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:400:20 [INFO] [stdout] | [INFO] [stdout] 400 | fn read(&self, addr: u16) -> u8 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:404:25 [INFO] [stdout] | [INFO] [stdout] 404 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/mbc.rs:404:36 [INFO] [stdout] | [INFO] [stdout] 404 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rom` [INFO] [stdout] --> src/mbc.rs:408:29 [INFO] [stdout] | [INFO] [stdout] 408 | fn load_cart(&mut self, rom: Vec) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:422:20 [INFO] [stdout] | [INFO] [stdout] 422 | fn read(&self, addr: u16) -> u8 { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mbc.rs:426:25 [INFO] [stdout] | [INFO] [stdout] 426 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/mbc.rs:426:36 [INFO] [stdout] | [INFO] [stdout] 426 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rom` [INFO] [stdout] --> src/mbc.rs:430:29 [INFO] [stdout] | [INFO] [stdout] 430 | fn load_cart(&mut self, rom: Vec) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `ppu_enabled` and `get_obj_enabled` are never used [INFO] [stdout] --> src/ppu.rs:600:8 [INFO] [stdout] | [INFO] [stdout] 597 | trait FetcherHelpers { [INFO] [stdout] | -------------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 600 | fn ppu_enabled(&self, mem: &Mem) -> bool; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 606 | fn get_obj_enabled(&self, mem: &Mem) -> bool; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DIV_TICK` is never used [INFO] [stdout] --> src/io.rs:78:7 [INFO] [stdout] | [INFO] [stdout] 78 | const DIV_TICK: u32 = 16384; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FREQUENCY` is never used [INFO] [stdout] --> src/io.rs:90:7 [INFO] [stdout] | [INFO] [stdout] 90 | const FREQUENCY: u32 = 4_194_304; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `features` is never read [INFO] [stdout] --> src/mbc.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct MBCProperties { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | features: Vec [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `properties` is never read [INFO] [stdout] --> src/mbc.rs:232:5 [INFO] [stdout] | [INFO] [stdout] 231 | pub struct MBC2 { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 232 | properties: MBCProperties, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `properties` is never read [INFO] [stdout] --> src/mbc.rs:258:5 [INFO] [stdout] | [INFO] [stdout] 257 | pub struct MBC3 { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 258 | properties: MBCProperties [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `properties` is never read [INFO] [stdout] --> src/mbc.rs:284:5 [INFO] [stdout] | [INFO] [stdout] 283 | pub struct MBC4 { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 284 | properties: MBCProperties [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `properties` is never read [INFO] [stdout] --> src/mbc.rs:310:5 [INFO] [stdout] | [INFO] [stdout] 309 | pub struct MBC5 { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 310 | properties: MBCProperties [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `properties` is never read [INFO] [stdout] --> src/mbc.rs:336:5 [INFO] [stdout] | [INFO] [stdout] 335 | pub struct MBC6 { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 336 | properties: MBCProperties [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `properties` is never read [INFO] [stdout] --> src/mbc.rs:362:5 [INFO] [stdout] | [INFO] [stdout] 361 | pub struct MBC7 { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 362 | properties: MBCProperties [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `properties` is never read [INFO] [stdout] --> src/mbc.rs:388:5 [INFO] [stdout] | [INFO] [stdout] 387 | pub struct MMM01 { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 388 | properties: MBCProperties [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SAMPLE_RATE` is never used [INFO] [stdout] --> src/apu.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const SAMPLE_RATE: usize = 44100; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `buffer_channel_1` is never used [INFO] [stdout] --> src/apu.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 21 | impl APU { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 76 | fn buffer_channel_1(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `LCDControl` should have a snake case name [INFO] [stdout] --> src/mem.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | LCDControl: u8, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `lcdcontrol` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `LCDStatus` should have a snake case name [INFO] [stdout] --> src/mem.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | LCDStatus: u8, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `lcdstatus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `AF` should have a snake case name [INFO] [stdout] --> src/cpu.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | pub AF: u16, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `af` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `BC` should have a snake case name [INFO] [stdout] --> src/cpu.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | pub BC: u16, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `bc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `DE` should have a snake case name [INFO] [stdout] --> src/cpu.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | pub DE: u16, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `de` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `HL` should have a snake case name [INFO] [stdout] --> src/cpu.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | pub HL: u16, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `hl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `SP` should have a snake case name [INFO] [stdout] --> src/cpu.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | pub SP: u16, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `sp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `PC` should have a snake case name [INFO] [stdout] --> src/cpu.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | pub PC: u16, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `pc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `AF` should have a snake case name [INFO] [stdout] --> src/cpu.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | pub AF: u16, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `af` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `BC` should have a snake case name [INFO] [stdout] --> src/cpu.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | pub BC: u16, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `bc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `DE` should have a snake case name [INFO] [stdout] --> src/cpu.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 76 | pub DE: u16, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `de` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `HL` should have a snake case name [INFO] [stdout] --> src/cpu.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | pub HL: u16, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `hl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `SP` should have a snake case name [INFO] [stdout] --> src/cpu.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | pub SP: u16, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `sp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `PC` should have a snake case name [INFO] [stdout] --> src/cpu.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | pub PC: u16, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `pc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `SB` should have a snake case name [INFO] [stdout] --> src/io.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | SB: u8, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `sb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `SC` should have a snake case name [INFO] [stdout] --> src/io.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | SC: u8, [INFO] [stdout] | ^^ help: convert the identifier to snake case (notice the capitalization): `sc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `DIV` should have a snake case name [INFO] [stdout] --> src/io.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | pub DIV: u16, [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `div` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `TIMA` should have a snake case name [INFO] [stdout] --> src/io.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | pub TIMA: u8, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `tima` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `TMA` should have a snake case name [INFO] [stdout] --> src/io.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | pub TMA: u8, [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `tma` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `TAC` should have a snake case name [INFO] [stdout] --> src/io.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | pub TAC: u8, [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `tac` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `NR50` should have a snake case name [INFO] [stdout] --> src/apu.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | NR50: u8, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `nr50` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `NR51` should have a snake case name [INFO] [stdout] --> src/apu.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | NR51: u8, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `nr51` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `NR52` should have a snake case name [INFO] [stdout] --> src/apu.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | NR52: u8, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `nr52` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 77 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `assert` is never used [INFO] [stdout] --> tests/cpu_assert.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub trait EmuTester { [INFO] [stdout] | --------- method in this trait [INFO] [stdout] 5 | fn assert(self) -> Assert; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `tick_cpu` and `tick_till_done` are never used [INFO] [stdout] --> tests/cpu_assert.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub trait EmuTestHelpers { [INFO] [stdout] | -------------- methods in this trait [INFO] [stdout] 16 | fn tick_cpu(&mut self, times: u16); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 17 | fn tick_till_done(&mut self); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> tests/cpu_assert.rs:36:10 [INFO] [stdout] | [INFO] [stdout] 36 | Half(HalfReg), [INFO] [stdout] | ---- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 36 | Half(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> tests/cpu_assert.rs:37:10 [INFO] [stdout] | [INFO] [stdout] 37 | Full(Reg) [INFO] [stdout] | ---- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 37 | Full(()) [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> tests/cpu_assert.rs:53:10 [INFO] [stdout] | [INFO] [stdout] 53 | Half(u8), [INFO] [stdout] | ---- ^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 53 | Half(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> tests/cpu_assert.rs:54:10 [INFO] [stdout] | [INFO] [stdout] 54 | Full(u16) [INFO] [stdout] | ---- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 54 | Full(()) [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Mem`, `Flag`, and `Reg` are never constructed [INFO] [stdout] --> tests/cpu_assert.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 69 | enum LastCompared { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] 70 | Mem, [INFO] [stdout] | ^^^ [INFO] [stdout] 71 | Flag, [INFO] [stdout] | ^^^^ [INFO] [stdout] 72 | Reg, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `emu`, `last_value`, and `last_compared` are never read [INFO] [stdout] --> tests/cpu_assert.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct Assert { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 77 | emu: Emu, [INFO] [stdout] | ^^^ [INFO] [stdout] 78 | last_value: CompValue, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 79 | last_compared: LastCompared [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> tests/cpu_assert.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | U16(u16), [INFO] [stdout] | --- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 83 | U16(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> tests/cpu_assert.rs:84:10 [INFO] [stdout] | [INFO] [stdout] 84 | Bool(bool), [INFO] [stdout] | ---- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 84 | Bool(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> tests/cpu_assert.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | U8(u8), [INFO] [stdout] | -- ^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 85 | U8(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `mem`, `flag`, `reg`, and `equals` are never used [INFO] [stdout] --> tests/cpu_assert.rs:116:12 [INFO] [stdout] | [INFO] [stdout] 107 | impl Assert { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn mem(&mut self, addr: u16) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn flag(&mut self, f: Flag) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | pub fn reg(&mut self, r: R) where R: Into{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn equals(&self, given: T) where T: Into { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `assert` is never used [INFO] [stdout] --> tests/cpu_assert.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub trait EmuTester { [INFO] [stdout] | --------- method in this trait [INFO] [stdout] 5 | fn assert(self) -> Assert; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `tick_cpu` and `tick_till_done` are never used [INFO] [stdout] --> tests/cpu_assert.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub trait EmuTestHelpers { [INFO] [stdout] | -------------- methods in this trait [INFO] [stdout] 16 | fn tick_cpu(&mut self, times: u16); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 17 | fn tick_till_done(&mut self); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `tick_cpu` is never used [INFO] [stdout] --> tests/cpu_assert.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub trait EmuTestHelpers { [INFO] [stdout] | -------------- method in this trait [INFO] [stdout] 16 | fn tick_cpu(&mut self, times: u16); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> tests/cpu_assert.rs:36:10 [INFO] [stdout] | [INFO] [stdout] 36 | Half(HalfReg), [INFO] [stdout] | ---- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 36 | Half(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> tests/cpu_assert.rs:37:10 [INFO] [stdout] | [INFO] [stdout] 37 | Full(Reg) [INFO] [stdout] | ---- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 37 | Full(()) [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> tests/cpu_assert.rs:53:10 [INFO] [stdout] | [INFO] [stdout] 53 | Half(u8), [INFO] [stdout] | ---- ^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 53 | Half(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> tests/cpu_assert.rs:53:10 [INFO] [stdout] | [INFO] [stdout] 53 | Half(u8), [INFO] [stdout] | ---- ^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 53 | Half(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> tests/cpu_assert.rs:54:10 [INFO] [stdout] | [INFO] [stdout] 54 | Full(u16) [INFO] [stdout] | ---- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 54 | Full(()) [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> tests/cpu_assert.rs:54:10 [INFO] [stdout] | [INFO] [stdout] 54 | Full(u16) [INFO] [stdout] | ---- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 54 | Full(()) [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Mem`, `Flag`, and `Reg` are never constructed [INFO] [stdout] --> tests/cpu_assert.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 69 | enum LastCompared { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] 70 | Mem, [INFO] [stdout] | ^^^ [INFO] [stdout] 71 | Flag, [INFO] [stdout] | ^^^^ [INFO] [stdout] 72 | Reg, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `emu`, `last_value`, and `last_compared` are never read [INFO] [stdout] --> tests/cpu_assert.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct Assert { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 77 | emu: Emu, [INFO] [stdout] | ^^^ [INFO] [stdout] 78 | last_value: CompValue, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 79 | last_compared: LastCompared [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> tests/cpu_assert.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | U16(u16), [INFO] [stdout] | --- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 83 | U16(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> tests/cpu_assert.rs:84:10 [INFO] [stdout] | [INFO] [stdout] 84 | Bool(bool), [INFO] [stdout] | ---- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 84 | Bool(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> tests/cpu_assert.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | U8(u8), [INFO] [stdout] | -- ^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 85 | U8(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `mem`, `flag`, `reg`, and `equals` are never used [INFO] [stdout] --> tests/cpu_assert.rs:116:12 [INFO] [stdout] | [INFO] [stdout] 107 | impl Assert { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn mem(&mut self, addr: u16) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn flag(&mut self, f: Flag) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | pub fn reg(&mut self, r: R) where R: Into{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn equals(&self, given: T) where T: Into { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.13s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: wasm-bindgen v0.2.74 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2` [INFO] running `Command { std: "docker" "inspect" "f0699ac14efa9e0196991419e95520ba89228d195654e45c7f8bc72eb20a668a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f0699ac14efa9e0196991419e95520ba89228d195654e45c7f8bc72eb20a668a", kill_on_drop: false }` [INFO] [stdout] f0699ac14efa9e0196991419e95520ba89228d195654e45c7f8bc72eb20a668a