[INFO] cloning repository https://github.com/patrickwilliner/nes-emulator [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/patrickwilliner/nes-emulator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpatrickwilliner%2Fnes-emulator", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpatrickwilliner%2Fnes-emulator'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] bfeb7371703072b4679b5fa88a386305fc8e598b [INFO] checking patrickwilliner/nes-emulator against master#e1beee4992ad4b235fc700bf7af1ee86f894ea53 for pr-74130 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpatrickwilliner%2Fnes-emulator" "/workspace/builds/worker-5/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/patrickwilliner/nes-emulator on toolchain e1beee4992ad4b235fc700bf7af1ee86f894ea53 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+e1beee4992ad4b235fc700bf7af1ee86f894ea53" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/patrickwilliner/nes-emulator [INFO] finished tweaking git repo https://github.com/patrickwilliner/nes-emulator [INFO] tweaked toml for git repo https://github.com/patrickwilliner/nes-emulator written to /workspace/builds/worker-5/source/Cargo.toml [INFO] crate git repo https://github.com/patrickwilliner/nes-emulator already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+e1beee4992ad4b235fc700bf7af1ee86f894ea53" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: package.debug [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env@sha256:819119df93c0f5eca3f29186f14981ef29945a311854d7222af07488600a2584" "/opt/rustwide/cargo-home/bin/cargo" "+e1beee4992ad4b235fc700bf7af1ee86f894ea53" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0096417143b2b1e025b8775e3974a6f6432362777d998776f88ba4dafbdb97b0 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "0096417143b2b1e025b8775e3974a6f6432362777d998776f88ba4dafbdb97b0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0096417143b2b1e025b8775e3974a6f6432362777d998776f88ba4dafbdb97b0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0096417143b2b1e025b8775e3974a6f6432362777d998776f88ba4dafbdb97b0", kill_on_drop: false }` [INFO] [stdout] 0096417143b2b1e025b8775e3974a6f6432362777d998776f88ba4dafbdb97b0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env@sha256:819119df93c0f5eca3f29186f14981ef29945a311854d7222af07488600a2584" "/opt/rustwide/cargo-home/bin/cargo" "+e1beee4992ad4b235fc700bf7af1ee86f894ea53" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 925d9ad957f2a3ef996f7f67af3481600dad977c021d588f217b65b4818119eb [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "925d9ad957f2a3ef996f7f67af3481600dad977c021d588f217b65b4818119eb", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: package.debug [INFO] [stderr] Compiling proc-macro2 v1.0.18 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Compiling syn v1.0.33 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.64 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.64 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.64 [INFO] [stderr] Checking wasm-bindgen v0.2.64 [INFO] [stderr] Checking js-sys v0.3.41 [INFO] [stderr] Checking console_error_panic_hook v0.1.6 [INFO] [stderr] Checking web-sys v0.3.41 [INFO] [stderr] Checking nes v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::olc2c02::Pixel` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::olc2c02::Pixel; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::olc2c02::Sprite` [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::olc2c02::Sprite; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `web_sys::CanvasRenderingContext2d` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use web_sys::CanvasRenderingContext2d; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::olc6502::Olc6502` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::olc6502::Olc6502; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::cartridge::Cartridge` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::cartridge::Cartridge; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::*` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use wasm_bindgen::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Bound::Included` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::ops::Bound::Included; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> src/main.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wasm_bindgen::JsCast` [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use wasm_bindgen::JsCast; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f64` [INFO] [stdout] --> src/main.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use std::f64; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/main.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/olc6502.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/olc6502.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/olc6502.rs:692:12 [INFO] [stdout] | [INFO] [stdout] 692 | if (cpu.address_mode_is_imp()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem::size_of` [INFO] [stdout] --> src/cartridge.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::mem::size_of; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::olc2c02::Pixel` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::olc2c02::Pixel; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::olc2c02::Sprite` [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::olc2c02::Sprite; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `web_sys::CanvasRenderingContext2d` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use web_sys::CanvasRenderingContext2d; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::olc6502::Olc6502` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::olc6502::Olc6502; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::cartridge::Cartridge` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::cartridge::Cartridge; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::*` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use wasm_bindgen::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Bound::Included` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::ops::Bound::Included; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> src/main.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wasm_bindgen::JsCast` [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use wasm_bindgen::JsCast; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f64` [INFO] [stdout] --> src/main.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use std::f64; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/main.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/olc6502.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/olc6502.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/olc6502.rs:692:12 [INFO] [stdout] | [INFO] [stdout] 692 | if (cpu.address_mode_is_imp()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem::size_of` [INFO] [stdout] --> src/cartridge.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::mem::size_of; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::olc2c02::Pixel` [INFO] [stdout] --> src/lib.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::olc2c02::Pixel; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::olc2c02::Sprite` [INFO] [stdout] --> src/lib.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::olc2c02::Sprite; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `web_sys::CanvasRenderingContext2d` [INFO] [stdout] --> src/lib.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use web_sys::CanvasRenderingContext2d; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::olc6502::Olc6502` [INFO] [stdout] --> src/lib.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::olc6502::Olc6502; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::cartridge::Cartridge` [INFO] [stdout] --> src/lib.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::cartridge::Cartridge; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Bound::Included` [INFO] [stdout] --> src/lib.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::ops::Bound::Included; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wasm_bindgen::JsCast` [INFO] [stdout] --> src/lib.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use wasm_bindgen::JsCast; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f64` [INFO] [stdout] --> src/lib.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use std::f64; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/olc6502.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/olc6502.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/olc6502.rs:692:12 [INFO] [stdout] | [INFO] [stdout] 692 | if (cpu.address_mode_is_imp()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem::size_of` [INFO] [stdout] --> src/cartridge.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::mem::size_of; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::olc2c02::Pixel` [INFO] [stdout] --> src/lib.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::olc2c02::Pixel; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::olc2c02::Sprite` [INFO] [stdout] --> src/lib.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::olc2c02::Sprite; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `web_sys::CanvasRenderingContext2d` [INFO] [stdout] --> src/lib.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use web_sys::CanvasRenderingContext2d; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::olc6502::Olc6502` [INFO] [stdout] --> src/lib.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::olc6502::Olc6502; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::cartridge::Cartridge` [INFO] [stdout] --> src/lib.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::cartridge::Cartridge; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Bound::Included` [INFO] [stdout] --> src/lib.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::ops::Bound::Included; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/lib.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Read` [INFO] [stdout] --> src/lib.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::io::Read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/lib.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `wasm_bindgen::JsCast` [INFO] [stdout] --> src/lib.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use wasm_bindgen::JsCast; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f64` [INFO] [stdout] --> src/lib.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use std::f64; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/lib.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/olc6502.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/olc6502.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/olc6502.rs:692:12 [INFO] [stdout] | [INFO] [stdout] 692 | if (cpu.address_mode_is_imp()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem::size_of` [INFO] [stdout] --> src/cartridge.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::mem::size_of; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `readOnly` [INFO] [stdout] --> src/bus.rs:57:39 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn cpu_read(&self, addr: u16, readOnly: bool) -> u8 { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_readOnly` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/olc6502.rs:1265:16 [INFO] [stdout] | [INFO] [stdout] 1265 | pub fn xxx(cpu: &mut Olc6502<'a>) -> u8 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `value` is never read [INFO] [stdout] --> src/olc6502.rs:1292:13 [INFO] [stdout] | [INFO] [stdout] 1292 | let mut value: u8 = 0x00; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `lo` is never read [INFO] [stdout] --> src/olc6502.rs:1293:13 [INFO] [stdout] | [INFO] [stdout] 1293 | let mut lo: u8 = 0x00; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `hi` is never read [INFO] [stdout] --> src/olc6502.rs:1294:13 [INFO] [stdout] | [INFO] [stdout] 1294 | let mut hi: u8 = 0x00; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `line_addr` is never read [INFO] [stdout] --> src/olc6502.rs:1295:13 [INFO] [stdout] | [INFO] [stdout] 1295 | let mut line_addr: u16 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `hi` is never read [INFO] [stdout] --> src/olc6502.rs:1319:17 [INFO] [stdout] | [INFO] [stdout] 1319 | hi = 0x00; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `hi` is never read [INFO] [stdout] --> src/olc6502.rs:1324:17 [INFO] [stdout] | [INFO] [stdout] 1324 | hi = 0x00; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `hi` is never read [INFO] [stdout] --> src/olc6502.rs:1329:17 [INFO] [stdout] | [INFO] [stdout] 1329 | hi = 0x00; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `hi` is never read [INFO] [stdout] --> src/olc6502.rs:1334:17 [INFO] [stdout] | [INFO] [stdout] 1334 | hi = 0x00; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `hi` is never read [INFO] [stdout] --> src/olc6502.rs:1339:17 [INFO] [stdout] | [INFO] [stdout] 1339 | hi = 0x00; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mirror` [INFO] [stdout] --> src/cartridge.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | let mirror = if (header.mapper1 & 0x01) != 0 { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_mirror` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `read_only` [INFO] [stdout] --> src/cartridge.rs:100:39 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn cpu_read(&self, addr: u16, read_only: bool) -> Option { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_read_only` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `read_only` [INFO] [stdout] --> src/cartridge.rs:117:39 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn ppu_read(&self, addr: u16, read_only: bool) -> Option { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_read_only` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `read_only` [INFO] [stdout] --> src/olc2c02.rs:241:43 [INFO] [stdout] | [INFO] [stdout] 241 | pub fn cpu_read(&mut self, addr: u16, read_only: bool) -> u8 { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_read_only` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `read_only` [INFO] [stdout] --> src/olc2c02.rs:312:39 [INFO] [stdout] | [INFO] [stdout] 312 | pub fn ppu_read(&self, addr: u16, read_only: bool) -> u8 { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_read_only` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `readOnly` [INFO] [stdout] --> src/bus.rs:57:39 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn cpu_read(&self, addr: u16, readOnly: bool) -> u8 { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_readOnly` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/olc6502.rs:1265:16 [INFO] [stdout] | [INFO] [stdout] 1265 | pub fn xxx(cpu: &mut Olc6502<'a>) -> u8 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `value` is never read [INFO] [stdout] --> src/olc6502.rs:1292:13 [INFO] [stdout] | [INFO] [stdout] 1292 | let mut value: u8 = 0x00; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `lo` is never read [INFO] [stdout] --> src/olc6502.rs:1293:13 [INFO] [stdout] | [INFO] [stdout] 1293 | let mut lo: u8 = 0x00; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `hi` is never read [INFO] [stdout] --> src/olc6502.rs:1294:13 [INFO] [stdout] | [INFO] [stdout] 1294 | let mut hi: u8 = 0x00; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `line_addr` is never read [INFO] [stdout] --> src/olc6502.rs:1295:13 [INFO] [stdout] | [INFO] [stdout] 1295 | let mut line_addr: u16 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `hi` is never read [INFO] [stdout] --> src/olc6502.rs:1319:17 [INFO] [stdout] | [INFO] [stdout] 1319 | hi = 0x00; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `hi` is never read [INFO] [stdout] --> src/olc6502.rs:1324:17 [INFO] [stdout] | [INFO] [stdout] 1324 | hi = 0x00; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `hi` is never read [INFO] [stdout] --> src/olc6502.rs:1329:17 [INFO] [stdout] | [INFO] [stdout] 1329 | hi = 0x00; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `hi` is never read [INFO] [stdout] --> src/olc6502.rs:1334:17 [INFO] [stdout] | [INFO] [stdout] 1334 | hi = 0x00; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `hi` is never read [INFO] [stdout] --> src/olc6502.rs:1339:17 [INFO] [stdout] | [INFO] [stdout] 1339 | hi = 0x00; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mirror` [INFO] [stdout] --> src/cartridge.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | let mirror = if (header.mapper1 & 0x01) != 0 { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_mirror` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `read_only` [INFO] [stdout] --> src/cartridge.rs:100:39 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn cpu_read(&self, addr: u16, read_only: bool) -> Option { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_read_only` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `read_only` [INFO] [stdout] --> src/cartridge.rs:117:39 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn ppu_read(&self, addr: u16, read_only: bool) -> Option { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_read_only` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `read_only` [INFO] [stdout] --> src/olc2c02.rs:241:43 [INFO] [stdout] | [INFO] [stdout] 241 | pub fn cpu_read(&mut self, addr: u16, read_only: bool) -> u8 { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_read_only` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `read_only` [INFO] [stdout] --> src/olc2c02.rs:312:39 [INFO] [stdout] | [INFO] [stdout] 312 | pub fn ppu_read(&self, addr: u16, read_only: bool) -> u8 { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_read_only` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address` [INFO] [stdout] --> src/lib.rs:66:14 [INFO] [stdout] | [INFO] [stdout] 66 | for (address, value) in code { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `palette_id` [INFO] [stdout] --> src/lib.rs:100:21 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn render_frame(palette_id: u8) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_palette_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `readOnly` [INFO] [stdout] --> src/bus.rs:57:39 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn cpu_read(&self, addr: u16, readOnly: bool) -> u8 { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_readOnly` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/olc6502.rs:1265:16 [INFO] [stdout] | [INFO] [stdout] 1265 | pub fn xxx(cpu: &mut Olc6502<'a>) -> u8 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `value` is never read [INFO] [stdout] --> src/olc6502.rs:1292:13 [INFO] [stdout] | [INFO] [stdout] 1292 | let mut value: u8 = 0x00; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `lo` is never read [INFO] [stdout] --> src/olc6502.rs:1293:13 [INFO] [stdout] | [INFO] [stdout] 1293 | let mut lo: u8 = 0x00; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `hi` is never read [INFO] [stdout] --> src/olc6502.rs:1294:13 [INFO] [stdout] | [INFO] [stdout] 1294 | let mut hi: u8 = 0x00; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `line_addr` is never read [INFO] [stdout] --> src/olc6502.rs:1295:13 [INFO] [stdout] | [INFO] [stdout] 1295 | let mut line_addr: u16 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `hi` is never read [INFO] [stdout] --> src/olc6502.rs:1319:17 [INFO] [stdout] | [INFO] [stdout] 1319 | hi = 0x00; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `hi` is never read [INFO] [stdout] --> src/olc6502.rs:1324:17 [INFO] [stdout] | [INFO] [stdout] 1324 | hi = 0x00; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `hi` is never read [INFO] [stdout] --> src/olc6502.rs:1329:17 [INFO] [stdout] | [INFO] [stdout] 1329 | hi = 0x00; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `hi` is never read [INFO] [stdout] --> src/olc6502.rs:1334:17 [INFO] [stdout] | [INFO] [stdout] 1334 | hi = 0x00; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `hi` is never read [INFO] [stdout] --> src/olc6502.rs:1339:17 [INFO] [stdout] | [INFO] [stdout] 1339 | hi = 0x00; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mirror` [INFO] [stdout] --> src/cartridge.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | let mirror = if (header.mapper1 & 0x01) != 0 { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_mirror` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `read_only` [INFO] [stdout] --> src/cartridge.rs:100:39 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn cpu_read(&self, addr: u16, read_only: bool) -> Option { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_read_only` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `read_only` [INFO] [stdout] --> src/cartridge.rs:117:39 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn ppu_read(&self, addr: u16, read_only: bool) -> Option { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_read_only` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `read_only` [INFO] [stdout] --> src/olc2c02.rs:241:43 [INFO] [stdout] | [INFO] [stdout] 241 | pub fn cpu_read(&mut self, addr: u16, read_only: bool) -> u8 { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_read_only` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `read_only` [INFO] [stdout] --> src/olc2c02.rs:312:39 [INFO] [stdout] | [INFO] [stdout] 312 | pub fn ppu_read(&self, addr: u16, read_only: bool) -> u8 { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_read_only` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | let mut nes = get_nes(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address` [INFO] [stdout] --> src/lib.rs:66:14 [INFO] [stdout] | [INFO] [stdout] 66 | for (address, value) in code { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `palette_id` [INFO] [stdout] --> src/lib.rs:100:21 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn render_frame(palette_id: u8) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_palette_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `readOnly` [INFO] [stdout] --> src/bus.rs:57:39 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn cpu_read(&self, addr: u16, readOnly: bool) -> u8 { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_readOnly` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/olc6502.rs:1265:16 [INFO] [stdout] | [INFO] [stdout] 1265 | pub fn xxx(cpu: &mut Olc6502<'a>) -> u8 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `value` is never read [INFO] [stdout] --> src/olc6502.rs:1292:13 [INFO] [stdout] | [INFO] [stdout] 1292 | let mut value: u8 = 0x00; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `lo` is never read [INFO] [stdout] --> src/olc6502.rs:1293:13 [INFO] [stdout] | [INFO] [stdout] 1293 | let mut lo: u8 = 0x00; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `hi` is never read [INFO] [stdout] --> src/olc6502.rs:1294:13 [INFO] [stdout] | [INFO] [stdout] 1294 | let mut hi: u8 = 0x00; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `line_addr` is never read [INFO] [stdout] --> src/olc6502.rs:1295:13 [INFO] [stdout] | [INFO] [stdout] 1295 | let mut line_addr: u16 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `hi` is never read [INFO] [stdout] --> src/olc6502.rs:1319:17 [INFO] [stdout] | [INFO] [stdout] 1319 | hi = 0x00; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `hi` is never read [INFO] [stdout] --> src/olc6502.rs:1324:17 [INFO] [stdout] | [INFO] [stdout] 1324 | hi = 0x00; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `hi` is never read [INFO] [stdout] --> src/olc6502.rs:1329:17 [INFO] [stdout] | [INFO] [stdout] 1329 | hi = 0x00; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `hi` is never read [INFO] [stdout] --> src/olc6502.rs:1334:17 [INFO] [stdout] | [INFO] [stdout] 1334 | hi = 0x00; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `hi` is never read [INFO] [stdout] --> src/olc6502.rs:1339:17 [INFO] [stdout] | [INFO] [stdout] 1339 | hi = 0x00; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mirror` [INFO] [stdout] --> src/cartridge.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | let mirror = if (header.mapper1 & 0x01) != 0 { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_mirror` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `read_only` [INFO] [stdout] --> src/cartridge.rs:100:39 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn cpu_read(&self, addr: u16, read_only: bool) -> Option { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_read_only` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `read_only` [INFO] [stdout] --> src/cartridge.rs:117:39 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn ppu_read(&self, addr: u16, read_only: bool) -> Option { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_read_only` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `read_only` [INFO] [stdout] --> src/olc2c02.rs:241:43 [INFO] [stdout] | [INFO] [stdout] 241 | pub fn cpu_read(&mut self, addr: u16, read_only: bool) -> u8 { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_read_only` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `read_only` [INFO] [stdout] --> src/olc2c02.rs:312:39 [INFO] [stdout] | [INFO] [stdout] 312 | pub fn ppu_read(&self, addr: u16, read_only: bool) -> u8 { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_read_only` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | let mut nes = get_nes(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/nes.rs:39:13 [INFO] [stdout] | [INFO] [stdout] 39 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `irq` [INFO] [stdout] --> src/olc6502.rs:407:12 [INFO] [stdout] | [INFO] [stdout] 407 | pub fn irq(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `nmi` [INFO] [stdout] --> src/olc6502.rs:415:12 [INFO] [stdout] | [INFO] [stdout] 415 | pub fn nmi(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `is_address_mode` [INFO] [stdout] --> src/olc6502.rs:1278:8 [INFO] [stdout] | [INFO] [stdout] 1278 | fn is_address_mode(&self, opcode: u8, fn_pointer_1: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_bus` [INFO] [stdout] --> src/olc6502.rs:1283:8 [INFO] [stdout] | [INFO] [stdout] 1283 | fn get_bus(&self) -> &'a Bus<'a> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `disassemble` [INFO] [stdout] --> src/olc6502.rs:1289:12 [INFO] [stdout] | [INFO] [stdout] 1289 | pub fn disassemble(&self, memStart: u16, memEnd: u16) -> BTreeMap { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `OneScreenLo` [INFO] [stdout] --> src/cartridge.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | OneScreenLo, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `OneScreenHi` [INFO] [stdout] --> src/cartridge.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | OneScreenHi [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `chr_memory` [INFO] [stdout] --> src/cartridge.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | chr_memory: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `mapper_id` [INFO] [stdout] --> src/cartridge.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | mapper_id: u8, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `prg_banks` [INFO] [stdout] --> src/cartridge.rs:30:2 [INFO] [stdout] | [INFO] [stdout] 30 | prg_banks: u8, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `chr_banks` [INFO] [stdout] --> src/cartridge.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | chr_banks: u8, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `image_valid` [INFO] [stdout] --> src/cartridge.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | image_valid: bool [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `ppu_write` [INFO] [stdout] --> src/cartridge.rs:123:12 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn ppu_write(&mut self, addr: u16, data: u8) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Status` [INFO] [stdout] --> src/olc2c02.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | struct Status { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `DEF_STATUS` [INFO] [stdout] --> src/olc2c02.rs:110:1 [INFO] [stdout] | [INFO] [stdout] 110 | / const DEF_STATUS: Status = Status{ [INFO] [stdout] 111 | | unused: 5, [INFO] [stdout] 112 | | sprite_overflow: 1, [INFO] [stdout] 113 | | sprite_zero_hit: 1, [INFO] [stdout] 114 | | vertical_blank: 1 [INFO] [stdout] 115 | | }; [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Mask` [INFO] [stdout] --> src/olc2c02.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 117 | struct Mask { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `DEF_MASK` [INFO] [stdout] --> src/olc2c02.rs:128:1 [INFO] [stdout] | [INFO] [stdout] 128 | / const DEF_MASK: Mask = Mask{ [INFO] [stdout] 129 | | grayscale: 1, [INFO] [stdout] 130 | | render_background_left: 1, [INFO] [stdout] 131 | | render_sprites_left: 1, [INFO] [stdout] ... | [INFO] [stdout] 136 | | enhance_blue: 1 [INFO] [stdout] 137 | | }; [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Control` [INFO] [stdout] --> src/olc2c02.rs:139:8 [INFO] [stdout] | [INFO] [stdout] 139 | struct Control { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `DEF_CONTROL` [INFO] [stdout] --> src/olc2c02.rs:150:1 [INFO] [stdout] | [INFO] [stdout] 150 | / const DEF_CONTROL: Control = Control { [INFO] [stdout] 151 | | nametable_x: 1, [INFO] [stdout] 152 | | nametable_y: 1, [INFO] [stdout] 153 | | increment_mode: 1, [INFO] [stdout] ... | [INFO] [stdout] 158 | | enable_nmi: 1 [INFO] [stdout] 159 | | }; [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `tbl_name` [INFO] [stdout] --> src/olc2c02.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | tbl_name: [[u8;1024];2], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `spr_name_table` [INFO] [stdout] --> src/olc2c02.rs:171:5 [INFO] [stdout] | [INFO] [stdout] 171 | spr_name_table: [Sprite;2], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `spr_pattern_table` [INFO] [stdout] --> src/olc2c02.rs:172:5 [INFO] [stdout] | [INFO] [stdout] 172 | spr_pattern_table: [Sprite;2], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_screen` [INFO] [stdout] --> src/olc2c02.rs:196:12 [INFO] [stdout] | [INFO] [stdout] 196 | pub fn get_screen(&self) -> &Sprite { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_name_table` [INFO] [stdout] --> src/olc2c02.rs:200:8 [INFO] [stdout] | [INFO] [stdout] 200 | fn get_name_table(&self, idx: usize) -> &Sprite { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_pattern_table` [INFO] [stdout] --> src/olc2c02.rs:204:12 [INFO] [stdout] | [INFO] [stdout] 204 | pub fn get_pattern_table(&mut self, idx: usize, palette_idx: u8) -> &Sprite { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_color_from_palette_ram` [INFO] [stdout] --> src/olc2c02.rs:233:8 [INFO] [stdout] | [INFO] [stdout] 233 | fn get_color_from_palette_ram(&self, palette: u8, pixel: u8) -> Pixel { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `ppu_write` [INFO] [stdout] --> src/olc2c02.rs:342:12 [INFO] [stdout] | [INFO] [stdout] 342 | pub fn ppu_write(&mut self, addr: u16, data: u8) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `chr_banks` [INFO] [stdout] --> src/mapper.rs:12:2 [INFO] [stdout] | [INFO] [stdout] 12 | chr_banks: u8 [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `ppu_map_write` [INFO] [stdout] --> src/mapper.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn ppu_map_write(&self, addr: u16) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `render_frame` [INFO] [stdout] --> src/nes.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn render_frame(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bus.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | if (addr >= 0x0000) && (addr <= 0x1FFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bus.rs:49:39 [INFO] [stdout] | [INFO] [stdout] 49 | } else if (addr >= 0x4020) && (addr <= 0xFFFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `readOnly` should have a snake case name [INFO] [stdout] --> src/bus.rs:57:39 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn cpu_read(&self, addr: u16, readOnly: bool) -> u8 { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `read_only` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bus.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | if (addr >= 0x0000) && (addr <= 0x1FFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bus.rs:70:39 [INFO] [stdout] | [INFO] [stdout] 70 | } else if (addr >= 0x4020) && (addr <= 0xFFFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `memStart` should have a snake case name [INFO] [stdout] --> src/olc6502.rs:1289:31 [INFO] [stdout] | [INFO] [stdout] 1289 | pub fn disassemble(&self, memStart: u16, memEnd: u16) -> BTreeMap { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `mem_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `memEnd` should have a snake case name [INFO] [stdout] --> src/olc6502.rs:1289:46 [INFO] [stdout] | [INFO] [stdout] 1289 | pub fn disassemble(&self, memStart: u16, memEnd: u16) -> BTreeMap { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `mem_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/olc2c02.rs:319:19 [INFO] [stdout] | [INFO] [stdout] 319 | } else if (temp_addr >= 0x0000) && (temp_addr <= 0x1FFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/olc2c02.rs:351:16 [INFO] [stdout] | [INFO] [stdout] 351 | if (temp_addr >= 0x0000) && (temp_addr <= 0x1FFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/mapper.rs:31:32 [INFO] [stdout] | [INFO] [stdout] 31 | if (addr >= 0x8000) && (addr <= 0xFFFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/mapper.rs:45:32 [INFO] [stdout] | [INFO] [stdout] 45 | if (addr >= 0x8000) && (addr <= 0xFFFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/mapper.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | if (addr >= 0x0000) && (addr <= 0x1FFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/mapper.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | if (addr >= 0x0000) && (addr <= 0x1FFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 77 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/nes.rs:39:13 [INFO] [stdout] | [INFO] [stdout] 39 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `irq` [INFO] [stdout] --> src/olc6502.rs:407:12 [INFO] [stdout] | [INFO] [stdout] 407 | pub fn irq(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `nmi` [INFO] [stdout] --> src/olc6502.rs:415:12 [INFO] [stdout] | [INFO] [stdout] 415 | pub fn nmi(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `is_address_mode` [INFO] [stdout] --> src/olc6502.rs:1278:8 [INFO] [stdout] | [INFO] [stdout] 1278 | fn is_address_mode(&self, opcode: u8, fn_pointer_1: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_bus` [INFO] [stdout] --> src/olc6502.rs:1283:8 [INFO] [stdout] | [INFO] [stdout] 1283 | fn get_bus(&self) -> &'a Bus<'a> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `disassemble` [INFO] [stdout] --> src/olc6502.rs:1289:12 [INFO] [stdout] | [INFO] [stdout] 1289 | pub fn disassemble(&self, memStart: u16, memEnd: u16) -> BTreeMap { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `OneScreenLo` [INFO] [stdout] --> src/cartridge.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | OneScreenLo, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `OneScreenHi` [INFO] [stdout] --> src/cartridge.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | OneScreenHi [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `chr_memory` [INFO] [stdout] --> src/cartridge.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | chr_memory: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `mapper_id` [INFO] [stdout] --> src/cartridge.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | mapper_id: u8, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `prg_banks` [INFO] [stdout] --> src/cartridge.rs:30:2 [INFO] [stdout] | [INFO] [stdout] 30 | prg_banks: u8, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `chr_banks` [INFO] [stdout] --> src/cartridge.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | chr_banks: u8, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `image_valid` [INFO] [stdout] --> src/cartridge.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | image_valid: bool [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `ppu_write` [INFO] [stdout] --> src/cartridge.rs:123:12 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn ppu_write(&mut self, addr: u16, data: u8) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Status` [INFO] [stdout] --> src/olc2c02.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | struct Status { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `DEF_STATUS` [INFO] [stdout] --> src/olc2c02.rs:110:1 [INFO] [stdout] | [INFO] [stdout] 110 | / const DEF_STATUS: Status = Status{ [INFO] [stdout] 111 | | unused: 5, [INFO] [stdout] 112 | | sprite_overflow: 1, [INFO] [stdout] 113 | | sprite_zero_hit: 1, [INFO] [stdout] 114 | | vertical_blank: 1 [INFO] [stdout] 115 | | }; [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Mask` [INFO] [stdout] --> src/olc2c02.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 117 | struct Mask { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `DEF_MASK` [INFO] [stdout] --> src/olc2c02.rs:128:1 [INFO] [stdout] | [INFO] [stdout] 128 | / const DEF_MASK: Mask = Mask{ [INFO] [stdout] 129 | | grayscale: 1, [INFO] [stdout] 130 | | render_background_left: 1, [INFO] [stdout] 131 | | render_sprites_left: 1, [INFO] [stdout] ... | [INFO] [stdout] 136 | | enhance_blue: 1 [INFO] [stdout] 137 | | }; [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Control` [INFO] [stdout] --> src/olc2c02.rs:139:8 [INFO] [stdout] | [INFO] [stdout] 139 | struct Control { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `DEF_CONTROL` [INFO] [stdout] --> src/olc2c02.rs:150:1 [INFO] [stdout] | [INFO] [stdout] 150 | / const DEF_CONTROL: Control = Control { [INFO] [stdout] 151 | | nametable_x: 1, [INFO] [stdout] 152 | | nametable_y: 1, [INFO] [stdout] 153 | | increment_mode: 1, [INFO] [stdout] ... | [INFO] [stdout] 158 | | enable_nmi: 1 [INFO] [stdout] 159 | | }; [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `tbl_name` [INFO] [stdout] --> src/olc2c02.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | tbl_name: [[u8;1024];2], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `spr_name_table` [INFO] [stdout] --> src/olc2c02.rs:171:5 [INFO] [stdout] | [INFO] [stdout] 171 | spr_name_table: [Sprite;2], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `spr_pattern_table` [INFO] [stdout] --> src/olc2c02.rs:172:5 [INFO] [stdout] | [INFO] [stdout] 172 | spr_pattern_table: [Sprite;2], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_screen` [INFO] [stdout] --> src/olc2c02.rs:196:12 [INFO] [stdout] | [INFO] [stdout] 196 | pub fn get_screen(&self) -> &Sprite { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_name_table` [INFO] [stdout] --> src/olc2c02.rs:200:8 [INFO] [stdout] | [INFO] [stdout] 200 | fn get_name_table(&self, idx: usize) -> &Sprite { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_pattern_table` [INFO] [stdout] --> src/olc2c02.rs:204:12 [INFO] [stdout] | [INFO] [stdout] 204 | pub fn get_pattern_table(&mut self, idx: usize, palette_idx: u8) -> &Sprite { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_color_from_palette_ram` [INFO] [stdout] --> src/olc2c02.rs:233:8 [INFO] [stdout] | [INFO] [stdout] 233 | fn get_color_from_palette_ram(&self, palette: u8, pixel: u8) -> Pixel { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `ppu_write` [INFO] [stdout] --> src/olc2c02.rs:342:12 [INFO] [stdout] | [INFO] [stdout] 342 | pub fn ppu_write(&mut self, addr: u16, data: u8) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `chr_banks` [INFO] [stdout] --> src/mapper.rs:12:2 [INFO] [stdout] | [INFO] [stdout] 12 | chr_banks: u8 [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `ppu_map_write` [INFO] [stdout] --> src/mapper.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn ppu_map_write(&self, addr: u16) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `render_frame` [INFO] [stdout] --> src/nes.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn render_frame(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bus.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | if (addr >= 0x0000) && (addr <= 0x1FFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bus.rs:49:39 [INFO] [stdout] | [INFO] [stdout] 49 | } else if (addr >= 0x4020) && (addr <= 0xFFFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `readOnly` should have a snake case name [INFO] [stdout] --> src/bus.rs:57:39 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn cpu_read(&self, addr: u16, readOnly: bool) -> u8 { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `read_only` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bus.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | if (addr >= 0x0000) && (addr <= 0x1FFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bus.rs:70:39 [INFO] [stdout] | [INFO] [stdout] 70 | } else if (addr >= 0x4020) && (addr <= 0xFFFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `memStart` should have a snake case name [INFO] [stdout] --> src/olc6502.rs:1289:31 [INFO] [stdout] | [INFO] [stdout] 1289 | pub fn disassemble(&self, memStart: u16, memEnd: u16) -> BTreeMap { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `mem_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `memEnd` should have a snake case name [INFO] [stdout] --> src/olc6502.rs:1289:46 [INFO] [stdout] | [INFO] [stdout] 1289 | pub fn disassemble(&self, memStart: u16, memEnd: u16) -> BTreeMap { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `mem_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/olc2c02.rs:319:19 [INFO] [stdout] | [INFO] [stdout] 319 | } else if (temp_addr >= 0x0000) && (temp_addr <= 0x1FFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/olc2c02.rs:351:16 [INFO] [stdout] | [INFO] [stdout] 351 | if (temp_addr >= 0x0000) && (temp_addr <= 0x1FFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/mapper.rs:31:32 [INFO] [stdout] | [INFO] [stdout] 31 | if (addr >= 0x8000) && (addr <= 0xFFFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/mapper.rs:45:32 [INFO] [stdout] | [INFO] [stdout] 45 | if (addr >= 0x8000) && (addr <= 0xFFFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/mapper.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | if (addr >= 0x0000) && (addr <= 0x1FFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/mapper.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | if (addr >= 0x0000) && (addr <= 0x1FFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/nes.rs:39:13 [INFO] [stdout] | [INFO] [stdout] 39 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `irq` [INFO] [stdout] --> src/olc6502.rs:407:12 [INFO] [stdout] | [INFO] [stdout] 407 | pub fn irq(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `nmi` [INFO] [stdout] --> src/olc6502.rs:415:12 [INFO] [stdout] | [INFO] [stdout] 415 | pub fn nmi(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `OneScreenLo` [INFO] [stdout] --> src/cartridge.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | OneScreenLo, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `OneScreenHi` [INFO] [stdout] --> src/cartridge.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | OneScreenHi [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `chr_memory` [INFO] [stdout] --> src/cartridge.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | chr_memory: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `mapper_id` [INFO] [stdout] --> src/cartridge.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | mapper_id: u8, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `prg_banks` [INFO] [stdout] --> src/cartridge.rs:30:2 [INFO] [stdout] | [INFO] [stdout] 30 | prg_banks: u8, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `chr_banks` [INFO] [stdout] --> src/cartridge.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | chr_banks: u8, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `image_valid` [INFO] [stdout] --> src/cartridge.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | image_valid: bool [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `ppu_write` [INFO] [stdout] --> src/cartridge.rs:123:12 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn ppu_write(&mut self, addr: u16, data: u8) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Status` [INFO] [stdout] --> src/olc2c02.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | struct Status { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `DEF_STATUS` [INFO] [stdout] --> src/olc2c02.rs:110:1 [INFO] [stdout] | [INFO] [stdout] 110 | / const DEF_STATUS: Status = Status{ [INFO] [stdout] 111 | | unused: 5, [INFO] [stdout] 112 | | sprite_overflow: 1, [INFO] [stdout] 113 | | sprite_zero_hit: 1, [INFO] [stdout] 114 | | vertical_blank: 1 [INFO] [stdout] 115 | | }; [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Mask` [INFO] [stdout] --> src/olc2c02.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 117 | struct Mask { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 77 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `DEF_MASK` [INFO] [stdout] --> src/olc2c02.rs:128:1 [INFO] [stdout] | [INFO] [stdout] 128 | / const DEF_MASK: Mask = Mask{ [INFO] [stdout] 129 | | grayscale: 1, [INFO] [stdout] 130 | | render_background_left: 1, [INFO] [stdout] 131 | | render_sprites_left: 1, [INFO] [stdout] ... | [INFO] [stdout] 136 | | enhance_blue: 1 [INFO] [stdout] 137 | | }; [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Control` [INFO] [stdout] --> src/olc2c02.rs:139:8 [INFO] [stdout] | [INFO] [stdout] 139 | struct Control { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `DEF_CONTROL` [INFO] [stdout] --> src/olc2c02.rs:150:1 [INFO] [stdout] | [INFO] [stdout] 150 | / const DEF_CONTROL: Control = Control { [INFO] [stdout] 151 | | nametable_x: 1, [INFO] [stdout] 152 | | nametable_y: 1, [INFO] [stdout] 153 | | increment_mode: 1, [INFO] [stdout] ... | [INFO] [stdout] 158 | | enable_nmi: 1 [INFO] [stdout] 159 | | }; [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `tbl_name` [INFO] [stdout] --> src/olc2c02.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | tbl_name: [[u8;1024];2], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `spr_name_table` [INFO] [stdout] --> src/olc2c02.rs:171:5 [INFO] [stdout] | [INFO] [stdout] 171 | spr_name_table: [Sprite;2], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_name_table` [INFO] [stdout] --> src/olc2c02.rs:200:8 [INFO] [stdout] | [INFO] [stdout] 200 | fn get_name_table(&self, idx: usize) -> &Sprite { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `ppu_write` [INFO] [stdout] --> src/olc2c02.rs:342:12 [INFO] [stdout] | [INFO] [stdout] 342 | pub fn ppu_write(&mut self, addr: u16, data: u8) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `chr_banks` [INFO] [stdout] --> src/mapper.rs:12:2 [INFO] [stdout] | [INFO] [stdout] 12 | chr_banks: u8 [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `ppu_map_write` [INFO] [stdout] --> src/mapper.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn ppu_map_write(&self, addr: u16) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `load_file` [INFO] [stdout] --> src/lib.rs:178:8 [INFO] [stdout] | [INFO] [stdout] 178 | fn load_file() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bus.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | if (addr >= 0x0000) && (addr <= 0x1FFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bus.rs:49:39 [INFO] [stdout] | [INFO] [stdout] 49 | } else if (addr >= 0x4020) && (addr <= 0xFFFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `readOnly` should have a snake case name [INFO] [stdout] --> src/bus.rs:57:39 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn cpu_read(&self, addr: u16, readOnly: bool) -> u8 { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `read_only` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bus.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | if (addr >= 0x0000) && (addr <= 0x1FFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bus.rs:70:39 [INFO] [stdout] | [INFO] [stdout] 70 | } else if (addr >= 0x4020) && (addr <= 0xFFFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `memStart` should have a snake case name [INFO] [stdout] --> src/olc6502.rs:1289:31 [INFO] [stdout] | [INFO] [stdout] 1289 | pub fn disassemble(&self, memStart: u16, memEnd: u16) -> BTreeMap { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `mem_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `memEnd` should have a snake case name [INFO] [stdout] --> src/olc6502.rs:1289:46 [INFO] [stdout] | [INFO] [stdout] 1289 | pub fn disassemble(&self, memStart: u16, memEnd: u16) -> BTreeMap { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `mem_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/olc2c02.rs:319:19 [INFO] [stdout] | [INFO] [stdout] 319 | } else if (temp_addr >= 0x0000) && (temp_addr <= 0x1FFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/olc2c02.rs:351:16 [INFO] [stdout] | [INFO] [stdout] 351 | if (temp_addr >= 0x0000) && (temp_addr <= 0x1FFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/mapper.rs:31:32 [INFO] [stdout] | [INFO] [stdout] 31 | if (addr >= 0x8000) && (addr <= 0xFFFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/mapper.rs:45:32 [INFO] [stdout] | [INFO] [stdout] 45 | if (addr >= 0x8000) && (addr <= 0xFFFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/mapper.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | if (addr >= 0x0000) && (addr <= 0x1FFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/mapper.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | if (addr >= 0x0000) && (addr <= 0x1FFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/lib.rs:192:13 [INFO] [stdout] | [INFO] [stdout] 192 | file.write(format!("{}, ", x).as_bytes()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/nes.rs:39:13 [INFO] [stdout] | [INFO] [stdout] 39 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `irq` [INFO] [stdout] --> src/olc6502.rs:407:12 [INFO] [stdout] | [INFO] [stdout] 407 | pub fn irq(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `nmi` [INFO] [stdout] --> src/olc6502.rs:415:12 [INFO] [stdout] | [INFO] [stdout] 415 | pub fn nmi(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `OneScreenLo` [INFO] [stdout] --> src/cartridge.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | OneScreenLo, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `OneScreenHi` [INFO] [stdout] --> src/cartridge.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | OneScreenHi [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `chr_memory` [INFO] [stdout] --> src/cartridge.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | chr_memory: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `mapper_id` [INFO] [stdout] --> src/cartridge.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | mapper_id: u8, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `prg_banks` [INFO] [stdout] --> src/cartridge.rs:30:2 [INFO] [stdout] | [INFO] [stdout] 30 | prg_banks: u8, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `chr_banks` [INFO] [stdout] --> src/cartridge.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | chr_banks: u8, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `image_valid` [INFO] [stdout] --> src/cartridge.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | image_valid: bool [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `ppu_write` [INFO] [stdout] --> src/cartridge.rs:123:12 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn ppu_write(&mut self, addr: u16, data: u8) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Status` [INFO] [stdout] --> src/olc2c02.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | struct Status { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `DEF_STATUS` [INFO] [stdout] --> src/olc2c02.rs:110:1 [INFO] [stdout] | [INFO] [stdout] 110 | / const DEF_STATUS: Status = Status{ [INFO] [stdout] 111 | | unused: 5, [INFO] [stdout] 112 | | sprite_overflow: 1, [INFO] [stdout] 113 | | sprite_zero_hit: 1, [INFO] [stdout] 114 | | vertical_blank: 1 [INFO] [stdout] 115 | | }; [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Mask` [INFO] [stdout] --> src/olc2c02.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 117 | struct Mask { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `DEF_MASK` [INFO] [stdout] --> src/olc2c02.rs:128:1 [INFO] [stdout] | [INFO] [stdout] 128 | / const DEF_MASK: Mask = Mask{ [INFO] [stdout] 129 | | grayscale: 1, [INFO] [stdout] 130 | | render_background_left: 1, [INFO] [stdout] 131 | | render_sprites_left: 1, [INFO] [stdout] ... | [INFO] [stdout] 136 | | enhance_blue: 1 [INFO] [stdout] 137 | | }; [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Control` [INFO] [stdout] --> src/olc2c02.rs:139:8 [INFO] [stdout] | [INFO] [stdout] 139 | struct Control { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `DEF_CONTROL` [INFO] [stdout] --> src/olc2c02.rs:150:1 [INFO] [stdout] | [INFO] [stdout] 150 | / const DEF_CONTROL: Control = Control { [INFO] [stdout] 151 | | nametable_x: 1, [INFO] [stdout] 152 | | nametable_y: 1, [INFO] [stdout] 153 | | increment_mode: 1, [INFO] [stdout] ... | [INFO] [stdout] 158 | | enable_nmi: 1 [INFO] [stdout] 159 | | }; [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `tbl_name` [INFO] [stdout] --> src/olc2c02.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | tbl_name: [[u8;1024];2], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `spr_name_table` [INFO] [stdout] --> src/olc2c02.rs:171:5 [INFO] [stdout] | [INFO] [stdout] 171 | spr_name_table: [Sprite;2], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_name_table` [INFO] [stdout] --> src/olc2c02.rs:200:8 [INFO] [stdout] | [INFO] [stdout] 200 | fn get_name_table(&self, idx: usize) -> &Sprite { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `ppu_write` [INFO] [stdout] --> src/olc2c02.rs:342:12 [INFO] [stdout] | [INFO] [stdout] 342 | pub fn ppu_write(&mut self, addr: u16, data: u8) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `chr_banks` [INFO] [stdout] --> src/mapper.rs:12:2 [INFO] [stdout] | [INFO] [stdout] 12 | chr_banks: u8 [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `ppu_map_write` [INFO] [stdout] --> src/mapper.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn ppu_map_write(&self, addr: u16) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 69 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bus.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | if (addr >= 0x0000) && (addr <= 0x1FFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bus.rs:49:39 [INFO] [stdout] | [INFO] [stdout] 49 | } else if (addr >= 0x4020) && (addr <= 0xFFFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `readOnly` should have a snake case name [INFO] [stdout] --> src/bus.rs:57:39 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn cpu_read(&self, addr: u16, readOnly: bool) -> u8 { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `read_only` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bus.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | if (addr >= 0x0000) && (addr <= 0x1FFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/bus.rs:70:39 [INFO] [stdout] | [INFO] [stdout] 70 | } else if (addr >= 0x4020) && (addr <= 0xFFFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `memStart` should have a snake case name [INFO] [stdout] --> src/olc6502.rs:1289:31 [INFO] [stdout] | [INFO] [stdout] 1289 | pub fn disassemble(&self, memStart: u16, memEnd: u16) -> BTreeMap { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `mem_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `memEnd` should have a snake case name [INFO] [stdout] --> src/olc6502.rs:1289:46 [INFO] [stdout] | [INFO] [stdout] 1289 | pub fn disassemble(&self, memStart: u16, memEnd: u16) -> BTreeMap { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `mem_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/olc2c02.rs:319:19 [INFO] [stdout] | [INFO] [stdout] 319 | } else if (temp_addr >= 0x0000) && (temp_addr <= 0x1FFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/olc2c02.rs:351:16 [INFO] [stdout] | [INFO] [stdout] 351 | if (temp_addr >= 0x0000) && (temp_addr <= 0x1FFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/mapper.rs:31:32 [INFO] [stdout] | [INFO] [stdout] 31 | if (addr >= 0x8000) && (addr <= 0xFFFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/mapper.rs:45:32 [INFO] [stdout] | [INFO] [stdout] 45 | if (addr >= 0x8000) && (addr <= 0xFFFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/mapper.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | if (addr >= 0x0000) && (addr <= 0x1FFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/mapper.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | if (addr >= 0x0000) && (addr <= 0x1FFF) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 71 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 43.85s [INFO] running `Command { std: "docker" "inspect" "925d9ad957f2a3ef996f7f67af3481600dad977c021d588f217b65b4818119eb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "925d9ad957f2a3ef996f7f67af3481600dad977c021d588f217b65b4818119eb", kill_on_drop: false }` [INFO] [stdout] 925d9ad957f2a3ef996f7f67af3481600dad977c021d588f217b65b4818119eb