[INFO] cloning repository https://github.com/shmuelamit/Nust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/shmuelamit/Nust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshmuelamit%2FNust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshmuelamit%2FNust'... [INFO] updating cached repository https://github.com/shmuelamit/Nust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune", kill_on_drop: false }` [INFO] updating cached repository https://github.com/shmuelamit/Nust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune", kill_on_drop: false }` [INFO] updating cached repository https://github.com/shmuelamit/Nust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune", kill_on_drop: false }` [INFO] updating cached repository https://github.com/shmuelamit/Nust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune", kill_on_drop: false }` [INFO] updating cached repository https://github.com/shmuelamit/Nust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune", kill_on_drop: false }` [INFO] updating cached repository https://github.com/shmuelamit/Nust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune", kill_on_drop: false }` [INFO] updating cached repository https://github.com/shmuelamit/Nust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune", kill_on_drop: false }` [INFO] updating cached repository https://github.com/shmuelamit/Nust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune", kill_on_drop: false }` [INFO] updating cached repository https://github.com/shmuelamit/Nust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune", kill_on_drop: false }` [INFO] updating cached repository https://github.com/shmuelamit/Nust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune", kill_on_drop: false }` [INFO] updating cached repository https://github.com/shmuelamit/Nust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune", kill_on_drop: false }` [INFO] updating cached repository https://github.com/shmuelamit/Nust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune", kill_on_drop: false }` [INFO] updating cached repository https://github.com/shmuelamit/Nust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune", kill_on_drop: false }` [INFO] updating cached repository https://github.com/shmuelamit/Nust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune", kill_on_drop: false }` [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f202d0aa4dcc7919cce1a055b2d11c1a78317527 [INFO] checking shmuelamit/Nust against master#1673f1450eeaf4a5452e086db0fe2ae274a0144f for pr-99413 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshmuelamit%2FNust" "/workspace/builds/worker-3/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/shmuelamit/Nust on toolchain 1673f1450eeaf4a5452e086db0fe2ae274a0144f [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1673f1450eeaf4a5452e086db0fe2ae274a0144f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/shmuelamit/Nust [INFO] finished tweaking git repo https://github.com/shmuelamit/Nust [INFO] tweaked toml for git repo https://github.com/shmuelamit/Nust written to /workspace/builds/worker-3/source/Cargo.toml [INFO] crate git repo https://github.com/shmuelamit/Nust already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1673f1450eeaf4a5452e086db0fe2ae274a0144f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded gfx-renderdoc v0.1.0 [INFO] [stderr] Downloaded gpu-alloc v0.4.7 [INFO] [stderr] Downloaded gfx-hal v0.9.0 [INFO] [stderr] Downloaded naga v0.5.0 [INFO] [stderr] Downloaded gfx-backend-metal v0.9.1 [INFO] [stderr] Downloaded gfx-backend-vulkan v0.9.0 [INFO] [stderr] Downloaded thunderdome v0.4.1 [INFO] [stderr] Downloaded glow v0.9.0 [INFO] [stderr] Downloaded d3d12 v0.4.0 [INFO] [stderr] Downloaded gfx-backend-dx12 v0.9.1 [INFO] [stderr] Downloaded gfx-auxil v0.10.0 [INFO] [stderr] Downloaded gfx-backend-empty v0.9.0 [INFO] [stderr] Downloaded external-memory v0.0.1 [INFO] [stderr] Downloaded rose_tree v0.2.0 [INFO] [stderr] Downloaded gfx-backend-dx11 v0.9.0 [INFO] [stderr] Downloaded metal v0.23.0 [INFO] [stderr] Downloaded ash v0.32.1 [INFO] [stderr] Downloaded drm-fourcc v2.1.1 [INFO] [stderr] Downloaded wgpu v0.9.0 [INFO] [stderr] Downloaded wgpu-types v0.9.0 [INFO] [stderr] Downloaded gfx-backend-gl v0.9.0 [INFO] [stderr] Downloaded wgpu-core v0.9.2 [INFO] [stderr] Downloaded pixels v0.5.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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:ecb52c4cf6672b83cc996368a05b4a059042425f2b6ba9cd23a06cdead5d8d70" "/opt/rustwide/cargo-home/bin/cargo" "+1673f1450eeaf4a5452e086db0fe2ae274a0144f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] bcb9d9a27cc6d8d7cadd012bd8e26593d9ec2f91e3a04a932efc00d35ee98c26 [INFO] running `Command { std: "docker" "start" "-a" "bcb9d9a27cc6d8d7cadd012bd8e26593d9ec2f91e3a04a932efc00d35ee98c26", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "bcb9d9a27cc6d8d7cadd012bd8e26593d9ec2f91e3a04a932efc00d35ee98c26", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bcb9d9a27cc6d8d7cadd012bd8e26593d9ec2f91e3a04a932efc00d35ee98c26", kill_on_drop: false }` [INFO] [stdout] bcb9d9a27cc6d8d7cadd012bd8e26593d9ec2f91e3a04a932efc00d35ee98c26 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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:ecb52c4cf6672b83cc996368a05b4a059042425f2b6ba9cd23a06cdead5d8d70" "/opt/rustwide/cargo-home/bin/cargo" "+1673f1450eeaf4a5452e086db0fe2ae274a0144f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ad55ee7773ef9ebf1c31406aa61bc080c410c576aba9afd810913b4594f9571a [INFO] running `Command { std: "docker" "start" "-a" "ad55ee7773ef9ebf1c31406aa61bc080c410c576aba9afd810913b4594f9571a", kill_on_drop: false }` [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling libc v0.2.98 [INFO] [stderr] Compiling proc-macro2 v1.0.28 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling syn v1.0.74 [INFO] [stderr] Checking smallvec v1.6.1 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Compiling pkg-config v0.3.19 [INFO] [stderr] Compiling serde_derive v1.0.127 [INFO] [stderr] Checking arrayvec v0.5.2 [INFO] [stderr] Compiling xml-rs v0.8.4 [INFO] [stderr] Checking hashbrown v0.11.2 [INFO] [stderr] Compiling serde v1.0.127 [INFO] [stderr] Checking fixedbitset v0.2.0 [INFO] [stderr] Compiling drm-fourcc v2.1.1 [INFO] [stderr] Compiling crossbeam-utils v0.8.5 [INFO] [stderr] Checking termcolor v1.1.2 [INFO] [stderr] Checking bit-vec v0.6.3 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Checking byteorder v1.4.3 [INFO] [stderr] Checking unicode-width v0.1.8 [INFO] [stderr] Compiling radium v0.5.3 [INFO] [stderr] Compiling memchr v2.3.4 [INFO] [stderr] Compiling lexical-core v0.7.6 [INFO] [stderr] Compiling version_check v0.9.3 [INFO] [stderr] Compiling crossbeam-epoch v0.9.5 [INFO] [stderr] Checking funty v1.1.0 [INFO] [stderr] Checking tap v1.0.1 [INFO] [stderr] Checking wyz v0.2.0 [INFO] [stderr] Checking once_cell v1.8.0 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Compiling khronos-egl v4.1.0 [INFO] [stderr] Checking ttf-parser v0.6.2 [INFO] [stderr] Checking scoped-tls v1.0.0 [INFO] [stderr] Compiling nix v0.18.0 [INFO] [stderr] Checking downcast-rs v1.2.0 [INFO] [stderr] Compiling crossbeam-queue v0.3.2 [INFO] [stderr] Checking ab_glyph_rasterizer v0.1.4 [INFO] [stderr] Compiling cfg_aliases v0.1.1 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking renderdoc-sys v0.7.1 [INFO] [stderr] Checking ahash v0.4.7 [INFO] [stderr] Checking xdg v2.2.0 [INFO] [stderr] Checking bytemuck v1.7.2 [INFO] [stderr] Checking glow v0.9.0 [INFO] [stderr] Checking inplace_it v0.3.3 [INFO] [stderr] Checking copyless v0.1.5 [INFO] [stderr] Compiling winit v0.25.0 [INFO] [stderr] Checking profiling v1.0.3 [INFO] [stderr] Checking ppv-lite86 v0.2.10 [INFO] [stderr] Checking percent-encoding v2.1.0 [INFO] [stderr] Checking pollster v0.2.4 [INFO] [stderr] Checking libloading v0.7.0 [INFO] [stderr] Checking instant v0.1.10 [INFO] [stderr] Checking libloading v0.6.7 [INFO] [stderr] Checking lock_api v0.4.4 [INFO] [stderr] Compiling indexmap v1.7.0 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling memoffset v0.6.4 [INFO] [stderr] Checking bit-set v0.5.2 [INFO] [stderr] Compiling wayland-sys v0.28.6 [INFO] [stderr] Compiling x11-dl v2.18.5 [INFO] [stderr] Checking codespan-reporting v0.11.1 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Compiling nom v6.2.1 [INFO] [stderr] Compiling wgpu-core v0.9.2 [INFO] [stderr] Checking walkdir v2.3.2 [INFO] [stderr] Checking hashbrown v0.9.1 [INFO] [stderr] Checking safe_arch v0.5.2 [INFO] [stderr] Checking dlib v0.5.0 [INFO] [stderr] Checking ash v0.32.1 [INFO] [stderr] Checking dlib v0.4.2 [INFO] [stderr] Checking owned_ttf_parser v0.6.0 [INFO] [stderr] Checking gpu-alloc-types v0.2.0 [INFO] [stderr] Checking gpu-descriptor-types v0.1.1 [INFO] [stderr] Checking wgpu-types v0.9.0 [INFO] [stderr] Checking gfx-renderdoc v0.1.0 [INFO] [stderr] Checking wide v0.6.5 [INFO] [stderr] Checking crossbeam-channel v0.5.1 [INFO] [stderr] Checking rusttype v0.9.2 [INFO] [stderr] Checking bitvec v0.19.5 [INFO] [stderr] Checking gpu-descriptor v0.1.1 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Checking gpu-alloc v0.4.7 [INFO] [stderr] Checking petgraph v0.5.1 [INFO] [stderr] Checking andrew v0.3.1 [INFO] [stderr] Checking spirv_headers v1.5.0 [INFO] [stderr] Checking raw-window-handle v0.3.3 [INFO] [stderr] Checking parking_lot_core v0.8.3 [INFO] [stderr] Checking nix v0.20.0 [INFO] [stderr] Checking mio v0.7.13 [INFO] [stderr] Checking memmap2 v0.1.0 [INFO] [stderr] Checking getrandom v0.2.3 [INFO] [stderr] Compiling wayland-scanner v0.28.6 [INFO] [stderr] Checking crossbeam-deque v0.8.1 [INFO] [stderr] Checking ultraviolet v0.8.1 [INFO] [stderr] Checking parking_lot v0.11.1 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Checking rose_tree v0.2.0 [INFO] [stderr] Checking crossbeam v0.8.1 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking mio-misc v1.2.1 [INFO] [stderr] Checking rand v0.8.4 [INFO] [stderr] Compiling wayland-client v0.28.6 [INFO] [stderr] Compiling wayland-protocols v0.28.6 [INFO] [stderr] Checking calloop v0.6.5 [INFO] [stderr] Checking wayland-commons v0.28.6 [INFO] [stderr] Checking xcursor v0.3.3 [INFO] [stderr] Checking wayland-cursor v0.28.6 [INFO] [stderr] Compiling thiserror-impl v1.0.26 [INFO] [stderr] Checking thiserror v1.0.26 [INFO] [stderr] Checking naga v0.5.0 [INFO] [stderr] Checking smithay-client-toolkit v0.12.3 [INFO] [stderr] Checking winit_input_helper v0.10.0 [INFO] [stderr] Checking external-memory v0.0.1 [INFO] [stderr] Checking gfx-hal v0.9.0 [INFO] [stderr] Checking gfx-backend-vulkan v0.9.0 [INFO] [stderr] Checking gfx-backend-empty v0.9.0 [INFO] [stderr] Checking gfx-backend-gl v0.9.0 [INFO] [stderr] Checking wgpu v0.9.0 [INFO] [stderr] Checking pixels v0.5.0 [INFO] [stderr] Checking nust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Error`, `Pixels`, `SurfaceTexture` [INFO] [stdout] --> src/main.rs:8:14 [INFO] [stdout] | [INFO] [stdout] 8 | use pixels::{Error, Pixels, SurfaceTexture}; [INFO] [stdout] | ^^^^^ ^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `winit::dpi::LogicalSize` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use winit::dpi::LogicalSize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `EventLoop` [INFO] [stdout] --> src/main.rs:11:38 [INFO] [stdout] | [INFO] [stdout] 11 | use winit::event_loop::{ControlFlow, EventLoop}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `winit::window::WindowBuilder` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use winit::window::WindowBuilder; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Error`, `Pixels`, `SurfaceTexture` [INFO] [stdout] --> src/main.rs:8:14 [INFO] [stdout] | [INFO] [stdout] 8 | use pixels::{Error, Pixels, SurfaceTexture}; [INFO] [stdout] | ^^^^^ ^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `winit::dpi::LogicalSize` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use winit::dpi::LogicalSize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `EventLoop` [INFO] [stdout] --> src/main.rs:11:38 [INFO] [stdout] | [INFO] [stdout] 11 | use winit::event_loop::{ControlFlow, EventLoop}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `winit::window::WindowBuilder` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use winit::window::WindowBuilder; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/bus.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | _ => { [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `scale` [INFO] [stdout] --> src/main.rs:18:13 [INFO] [stdout] | [INFO] [stdout] 18 | let mut scale = window.scale_factor(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_scale` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mode` [INFO] [stdout] --> src/cpu/instructions/routine_opcodes.rs:19:33 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn instr_plp(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/bus/mappers/mapper_0.rs:17:44 [INFO] [stdout] | [INFO] [stdout] 17 | fn cpu_map_write(&mut self, addr: u16, value: u8) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/bus/mappers/mapper_0.rs:25:28 [INFO] [stdout] | [INFO] [stdout] 25 | fn ppu_map_read(&self, addr: u16) -> Option { [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/bus/mappers/mapper_0.rs:29:33 [INFO] [stdout] | [INFO] [stdout] 29 | fn ppu_map_write(&mut self, addr: u16, value: u8) -> Option { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/bus/mappers/mapper_0.rs:29:44 [INFO] [stdout] | [INFO] [stdout] 29 | fn ppu_map_write(&mut self, addr: u16, value: u8) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/bus/mappers/mapper_3.rs:31:28 [INFO] [stdout] | [INFO] [stdout] 31 | fn ppu_map_read(&self, addr: u16) -> Option { [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/bus/mappers/mapper_3.rs:35:33 [INFO] [stdout] | [INFO] [stdout] 35 | fn ppu_map_write(&mut self, addr: u16, value: u8) -> Option { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/bus/mappers/mapper_3.rs:35:44 [INFO] [stdout] | [INFO] [stdout] 35 | fn ppu_map_write(&mut self, addr: u16, value: u8) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/screen.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | let mut pixels = Pixels::new( [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: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | let mut scale = window.scale_factor(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STACK_START_ADDR` is never used [INFO] [stdout] --> src/cpu.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const STACK_START_ADDR: u16 = 0x100; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `opcode_table` is never read [INFO] [stdout] --> src/cpu.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct Cpu { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 34 | opcode_table: [Opcode; 256], [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `get_bit` is never used [INFO] [stdout] --> src/cpu.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn get_bit(&self, flag: Self) -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `execute_next` is never used [INFO] [stdout] --> src/cpu.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn execute_next(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `stack_push` is never used [INFO] [stdout] --> src/cpu.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn stack_push(&mut self, value: u8) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `stack_push_word` is never used [INFO] [stdout] --> src/cpu.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn stack_push_word(&mut self, value: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `stack_pop` is never used [INFO] [stdout] --> src/cpu.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn stack_pop(&mut self) -> u8 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `stack_pop_word` is never used [INFO] [stdout] --> src/cpu.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn stack_pop_word(&mut self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `get_opcode_table` is never used [INFO] [stdout] --> src/cpu.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn get_opcode_table(&self) -> [Opcode; 256] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `create_from_bus` is never used [INFO] [stdout] --> src/cpu.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn create_from_bus(bus: Bus) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/cpu/instructions.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum AddresingMode { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 13 | NON, // Invalid Instruction [INFO] [stdout] 14 | ZPG, // Zero page [INFO] [stdout] | ^^^ [INFO] [stdout] 15 | ZPX, // Zero page, X [INFO] [stdout] | ^^^ [INFO] [stdout] 16 | ZPY, // Zero page, Y [INFO] [stdout] | ^^^ [INFO] [stdout] 17 | ABS, // Absolute [INFO] [stdout] | ^^^ [INFO] [stdout] 18 | ABX, // Absolute, X [INFO] [stdout] | ^^^ [INFO] [stdout] 19 | ABY, // Absolute, Y [INFO] [stdout] | ^^^ [INFO] [stdout] 20 | IND, // Indirect [INFO] [stdout] | ^^^ [INFO] [stdout] 21 | IMP, // Implied [INFO] [stdout] | ^^^ [INFO] [stdout] 22 | ACC, // Accumulator [INFO] [stdout] | ^^^ [INFO] [stdout] 23 | IMM, // Immediate [INFO] [stdout] | ^^^ [INFO] [stdout] 24 | REL, // Relative [INFO] [stdout] | ^^^ [INFO] [stdout] 25 | IDX, // (Indirect, X) [INFO] [stdout] | ^^^ [INFO] [stdout] 26 | IDY, // (Indirect), Y [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AddresingMode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `addr_to_instr` is never used [INFO] [stdout] --> src/cpu/instructions.rs:84:8 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn addr_to_instr(cpu: &Cpu, addr: u16) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dump_current_instruction` is never used [INFO] [stdout] --> src/cpu/instructions.rs:148:8 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn dump_current_instruction(cpu: &mut Cpu) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_opcode` is never used [INFO] [stdout] --> src/cpu/instructions.rs:202:4 [INFO] [stdout] | [INFO] [stdout] 202 | fn make_opcode( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_opcode_table` is never used [INFO] [stdout] --> src/cpu/instructions.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | pub fn get_opcode_table() -> [Opcode; 256] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `get_length` is never used [INFO] [stdout] --> src/cpu/instructions.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn get_length(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `is_input_address` is never used [INFO] [stdout] --> src/cpu/instructions.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | fn is_input_address(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `get_length` is never used [INFO] [stdout] --> src/cpu/instructions.rs:187:12 [INFO] [stdout] | [INFO] [stdout] 187 | pub fn get_length(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_value` is never used [INFO] [stdout] --> src/cpu/instructions/utils.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn get_value(cpu: &mut Cpu, mode: AddresingMode, input: u16) -> u8 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_nz_flags` is never used [INFO] [stdout] --> src/cpu/instructions/utils.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn set_nz_flags(cpu: &mut Cpu, result: u8) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `does_current_instr_need_cross` is never used [INFO] [stdout] --> src/cpu/instructions/utils.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn does_current_instr_need_cross(cpu: &mut Cpu) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add_chk_page_cross` is never used [INFO] [stdout] --> src/cpu/instructions/utils.rs:28:4 [INFO] [stdout] | [INFO] [stdout] 28 | fn add_chk_page_cross(cpu: &mut Cpu, addr: u16, offset: u16) -> (u16, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_input` is never used [INFO] [stdout] --> src/cpu/instructions/utils.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn get_input(cpu: &mut Cpu, addresing_mode: AddresingMode) -> (u16, bool) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_instr_value` is never used [INFO] [stdout] --> src/cpu/instructions/utils.rs:77:8 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn read_instr_value(cpu: &mut Cpu, mode: AddresingMode) -> (u16, u8, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `branch` is never used [INFO] [stdout] --> src/cpu/instructions/branch_opcodes.rs:4:4 [INFO] [stdout] | [INFO] [stdout] 4 | fn branch(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_bcs` is never used [INFO] [stdout] --> src/cpu/instructions/branch_opcodes.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn instr_bcs(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_bcc` is never used [INFO] [stdout] --> src/cpu/instructions/branch_opcodes.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn instr_bcc(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_beq` is never used [INFO] [stdout] --> src/cpu/instructions/branch_opcodes.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn instr_beq(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_bne` is never used [INFO] [stdout] --> src/cpu/instructions/branch_opcodes.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn instr_bne(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_bmi` is never used [INFO] [stdout] --> src/cpu/instructions/branch_opcodes.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn instr_bmi(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_bpl` is never used [INFO] [stdout] --> src/cpu/instructions/branch_opcodes.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn instr_bpl(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_bvs` is never used [INFO] [stdout] --> src/cpu/instructions/branch_opcodes.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn instr_bvs(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_bvc` is never used [INFO] [stdout] --> src/cpu/instructions/branch_opcodes.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn instr_bvc(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_sei` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn instr_sei(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_sed` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn instr_sed(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_sec` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn instr_sec(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_clc` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn instr_clc(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_cld` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn instr_cld(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_cli` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn instr_cli(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_clv` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn instr_clv(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_nop` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn instr_nop(_cpu: &mut Cpu, _mode: AddresingMode) {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_inx` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn instr_inx(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_dex` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn instr_dex(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_iny` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn instr_iny(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_dey` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn instr_dey(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_tax` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn instr_tax(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_tay` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn instr_tay(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_tsx` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn instr_tsx(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_txs` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:77:8 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn instr_txs(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_txa` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:81:8 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn instr_txa(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_tya` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn instr_tya(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_lda` is never used [INFO] [stdout] --> src/cpu/instructions/read_opcodes.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn instr_lda(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_ldx` is never used [INFO] [stdout] --> src/cpu/instructions/read_opcodes.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn instr_ldx(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_ldy` is never used [INFO] [stdout] --> src/cpu/instructions/read_opcodes.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn instr_ldy(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_cmp` is never used [INFO] [stdout] --> src/cpu/instructions/read_opcodes.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn instr_cmp(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_and` is never used [INFO] [stdout] --> src/cpu/instructions/read_opcodes.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn instr_and(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_eor` is never used [INFO] [stdout] --> src/cpu/instructions/read_opcodes.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn instr_eor(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_ora` is never used [INFO] [stdout] --> src/cpu/instructions/read_opcodes.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn instr_ora(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_bit` is never used [INFO] [stdout] --> src/cpu/instructions/read_opcodes.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn instr_bit(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_adc` is never used [INFO] [stdout] --> src/cpu/instructions/read_opcodes.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn instr_adc(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_sbc` is never used [INFO] [stdout] --> src/cpu/instructions/read_opcodes.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn instr_sbc(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_cpx` is never used [INFO] [stdout] --> src/cpu/instructions/read_opcodes.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn instr_cpx(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_cpy` is never used [INFO] [stdout] --> src/cpu/instructions/read_opcodes.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn instr_cpy(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `general_shift` is never used [INFO] [stdout] --> src/cpu/instructions/rmw_opcodes.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn general_shift( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_asl` is never used [INFO] [stdout] --> src/cpu/instructions/rmw_opcodes.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn instr_asl(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_lsr` is never used [INFO] [stdout] --> src/cpu/instructions/rmw_opcodes.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn instr_lsr(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_rol` is never used [INFO] [stdout] --> src/cpu/instructions/rmw_opcodes.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn instr_rol(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_ror` is never used [INFO] [stdout] --> src/cpu/instructions/rmw_opcodes.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn instr_ror(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_inc` is never used [INFO] [stdout] --> src/cpu/instructions/rmw_opcodes.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn instr_inc(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_dec` is never used [INFO] [stdout] --> src/cpu/instructions/rmw_opcodes.rs:84:8 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn instr_dec(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_pha` is never used [INFO] [stdout] --> src/cpu/instructions/routine_opcodes.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn instr_pha(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_php` is never used [INFO] [stdout] --> src/cpu/instructions/routine_opcodes.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn instr_php(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_pla` is never used [INFO] [stdout] --> src/cpu/instructions/routine_opcodes.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn instr_pla(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_plp` is never used [INFO] [stdout] --> src/cpu/instructions/routine_opcodes.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn instr_plp(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_jmp` is never used [INFO] [stdout] --> src/cpu/instructions/routine_opcodes.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn instr_jmp(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_brk` is never used [INFO] [stdout] --> src/cpu/instructions/routine_opcodes.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn instr_brk(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_rti` is never used [INFO] [stdout] --> src/cpu/instructions/routine_opcodes.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn instr_rti(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_jsr` is never used [INFO] [stdout] --> src/cpu/instructions/routine_opcodes.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn instr_jsr(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_rts` is never used [INFO] [stdout] --> src/cpu/instructions/routine_opcodes.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn instr_rts(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_sta` is never used [INFO] [stdout] --> src/cpu/instructions/write_opcodes.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn instr_sta(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_sty` is never used [INFO] [stdout] --> src/cpu/instructions/write_opcodes.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn instr_sty(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_stx` is never used [INFO] [stdout] --> src/cpu/instructions/write_opcodes.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn instr_stx(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Vertical`, `Horizontal` and `FourWay` are never constructed [INFO] [stdout] --> src/nes_parser.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub enum Mirroring { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 37 | Vertical, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 38 | Horizontal, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 39 | FourWay, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sign_parse` is never used [INFO] [stdout] --> src/nes_parser.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn sign_parse(input: &[u8]) -> IResult<&[u8], &[u8]> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mapper_flags_parse` is never used [INFO] [stdout] --> src/nes_parser.rs:80:4 [INFO] [stdout] | [INFO] [stdout] 80 | fn mapper_flags_parse(input: &[u8]) -> IResult<&[u8], (u8, InesFlags6, InesFlags7)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_ines_header` is never used [INFO] [stdout] --> src/nes_parser.rs:94:4 [INFO] [stdout] | [INFO] [stdout] 94 | fn parse_ines_header(input: &[u8]) -> IResult<&[u8], InesHeader> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_ines_bytes` is never used [INFO] [stdout] --> src/nes_parser.rs:113:4 [INFO] [stdout] | [INFO] [stdout] 113 | fn parse_ines_bytes(input: &[u8]) -> IResult<&[u8], InesFile> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_file_as_byte_vec` is never used [INFO] [stdout] --> src/nes_parser.rs:146:4 [INFO] [stdout] | [INFO] [stdout] 146 | fn get_file_as_byte_vec(filename: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ines_to_cartridge` is never used [INFO] [stdout] --> src/nes_parser.rs:155:4 [INFO] [stdout] | [INFO] [stdout] 155 | fn ines_to_cartridge(ines: InesFile) -> Cartridge { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_cartridge_from_file` is never used [INFO] [stdout] --> src/nes_parser.rs:177:8 [INFO] [stdout] | [INFO] [stdout] 177 | pub fn get_cartridge_from_file(filename: &str) -> Cartridge { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cycles` is never read [INFO] [stdout] --> src/bus.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Bus { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 8 | cycles: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `cpu_read_word` is never used [INFO] [stdout] --> src/bus.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn cpu_read_word(&self, addr: u16) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `cpu_read_zp_word` is never used [INFO] [stdout] --> src/bus.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn cpu_read_zp_word(&self, addr: u8) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `cpu_write` is never used [INFO] [stdout] --> src/bus.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn cpu_write(&mut self, addr: u16, value: u8) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `cpu_write_word` is never used [INFO] [stdout] --> src/bus.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn cpu_write_word(&mut self, addr: u16, value: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `cpu_write_zp_word` is never used [INFO] [stdout] --> src/bus.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn cpu_write_zp_word(&mut self, addr: u8, value: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `cycle` is never used [INFO] [stdout] --> src/bus.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn cycle(&mut self, cycles: u8) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `get_cycles` is never used [INFO] [stdout] --> src/bus.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn get_cycles(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `create_from_crt` is never used [INFO] [stdout] --> src/bus.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn create_from_crt(crt: Cartridge) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_mapper` is never used [INFO] [stdout] --> src/bus/mappers.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn get_mapper(ines: &InesFile) -> Option> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `chr_banks` is never read [INFO] [stdout] --> src/bus/mappers/mapper_0.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub(crate) struct Mapper0 { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 4 | pub prg_banks: u8, [INFO] [stdout] 5 | pub chr_banks: u8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `chr_banks` is never read [INFO] [stdout] --> src/bus/mappers/mapper_3.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub(crate) struct Mapper3 { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 4 | pub prg_banks: u8, [INFO] [stdout] 5 | pub chr_banks: u8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ppu` is never constructed [INFO] [stdout] --> src/ppu.rs:1:19 [INFO] [stdout] | [INFO] [stdout] 1 | pub(crate) struct Ppu { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 119 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/bus.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | _ => { [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `scale` [INFO] [stdout] --> src/main.rs:18:13 [INFO] [stdout] | [INFO] [stdout] 18 | let mut scale = window.scale_factor(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_scale` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mode` [INFO] [stdout] --> src/cpu/instructions/routine_opcodes.rs:19:33 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn instr_plp(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_mode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/bus/mappers/mapper_0.rs:17:44 [INFO] [stdout] | [INFO] [stdout] 17 | fn cpu_map_write(&mut self, addr: u16, value: u8) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/bus/mappers/mapper_0.rs:25:28 [INFO] [stdout] | [INFO] [stdout] 25 | fn ppu_map_read(&self, addr: u16) -> Option { [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/bus/mappers/mapper_0.rs:29:33 [INFO] [stdout] | [INFO] [stdout] 29 | fn ppu_map_write(&mut self, addr: u16, value: u8) -> Option { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/bus/mappers/mapper_0.rs:29:44 [INFO] [stdout] | [INFO] [stdout] 29 | fn ppu_map_write(&mut self, addr: u16, value: u8) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/bus/mappers/mapper_3.rs:31:28 [INFO] [stdout] | [INFO] [stdout] 31 | fn ppu_map_read(&self, addr: u16) -> Option { [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/bus/mappers/mapper_3.rs:35:33 [INFO] [stdout] | [INFO] [stdout] 35 | fn ppu_map_write(&mut self, addr: u16, value: u8) -> Option { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/bus/mappers/mapper_3.rs:35:44 [INFO] [stdout] | [INFO] [stdout] 35 | fn ppu_map_write(&mut self, addr: u16, value: u8) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/screen.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | let mut pixels = Pixels::new( [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: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | let mut scale = window.scale_factor(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STACK_START_ADDR` is never used [INFO] [stdout] --> src/cpu.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const STACK_START_ADDR: u16 = 0x100; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `opcode_table` is never read [INFO] [stdout] --> src/cpu.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct Cpu { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 34 | opcode_table: [Opcode; 256], [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `get_bit` is never used [INFO] [stdout] --> src/cpu.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn get_bit(&self, flag: Self) -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `execute_next` is never used [INFO] [stdout] --> src/cpu.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn execute_next(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `stack_push` is never used [INFO] [stdout] --> src/cpu.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn stack_push(&mut self, value: u8) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `stack_push_word` is never used [INFO] [stdout] --> src/cpu.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn stack_push_word(&mut self, value: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `stack_pop` is never used [INFO] [stdout] --> src/cpu.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn stack_pop(&mut self) -> u8 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `stack_pop_word` is never used [INFO] [stdout] --> src/cpu.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn stack_pop_word(&mut self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `get_opcode_table` is never used [INFO] [stdout] --> src/cpu.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn get_opcode_table(&self) -> [Opcode; 256] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `create_from_bus` is never used [INFO] [stdout] --> src/cpu.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn create_from_bus(bus: Bus) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/cpu/instructions.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum AddresingMode { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 13 | NON, // Invalid Instruction [INFO] [stdout] 14 | ZPG, // Zero page [INFO] [stdout] | ^^^ [INFO] [stdout] 15 | ZPX, // Zero page, X [INFO] [stdout] | ^^^ [INFO] [stdout] 16 | ZPY, // Zero page, Y [INFO] [stdout] | ^^^ [INFO] [stdout] 17 | ABS, // Absolute [INFO] [stdout] | ^^^ [INFO] [stdout] 18 | ABX, // Absolute, X [INFO] [stdout] | ^^^ [INFO] [stdout] 19 | ABY, // Absolute, Y [INFO] [stdout] | ^^^ [INFO] [stdout] 20 | IND, // Indirect [INFO] [stdout] | ^^^ [INFO] [stdout] 21 | IMP, // Implied [INFO] [stdout] | ^^^ [INFO] [stdout] 22 | ACC, // Accumulator [INFO] [stdout] | ^^^ [INFO] [stdout] 23 | IMM, // Immediate [INFO] [stdout] | ^^^ [INFO] [stdout] 24 | REL, // Relative [INFO] [stdout] | ^^^ [INFO] [stdout] 25 | IDX, // (Indirect, X) [INFO] [stdout] | ^^^ [INFO] [stdout] 26 | IDY, // (Indirect), Y [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AddresingMode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `addr_to_instr` is never used [INFO] [stdout] --> src/cpu/instructions.rs:84:8 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn addr_to_instr(cpu: &Cpu, addr: u16) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dump_current_instruction` is never used [INFO] [stdout] --> src/cpu/instructions.rs:148:8 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn dump_current_instruction(cpu: &mut Cpu) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_opcode` is never used [INFO] [stdout] --> src/cpu/instructions.rs:202:4 [INFO] [stdout] | [INFO] [stdout] 202 | fn make_opcode( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_opcode_table` is never used [INFO] [stdout] --> src/cpu/instructions.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | pub fn get_opcode_table() -> [Opcode; 256] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `get_length` is never used [INFO] [stdout] --> src/cpu/instructions.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn get_length(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `is_input_address` is never used [INFO] [stdout] --> src/cpu/instructions.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | fn is_input_address(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `get_length` is never used [INFO] [stdout] --> src/cpu/instructions.rs:187:12 [INFO] [stdout] | [INFO] [stdout] 187 | pub fn get_length(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_value` is never used [INFO] [stdout] --> src/cpu/instructions/utils.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn get_value(cpu: &mut Cpu, mode: AddresingMode, input: u16) -> u8 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_nz_flags` is never used [INFO] [stdout] --> src/cpu/instructions/utils.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn set_nz_flags(cpu: &mut Cpu, result: u8) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `does_current_instr_need_cross` is never used [INFO] [stdout] --> src/cpu/instructions/utils.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn does_current_instr_need_cross(cpu: &mut Cpu) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add_chk_page_cross` is never used [INFO] [stdout] --> src/cpu/instructions/utils.rs:28:4 [INFO] [stdout] | [INFO] [stdout] 28 | fn add_chk_page_cross(cpu: &mut Cpu, addr: u16, offset: u16) -> (u16, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_input` is never used [INFO] [stdout] --> src/cpu/instructions/utils.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn get_input(cpu: &mut Cpu, addresing_mode: AddresingMode) -> (u16, bool) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_instr_value` is never used [INFO] [stdout] --> src/cpu/instructions/utils.rs:77:8 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn read_instr_value(cpu: &mut Cpu, mode: AddresingMode) -> (u16, u8, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `branch` is never used [INFO] [stdout] --> src/cpu/instructions/branch_opcodes.rs:4:4 [INFO] [stdout] | [INFO] [stdout] 4 | fn branch(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_bcs` is never used [INFO] [stdout] --> src/cpu/instructions/branch_opcodes.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn instr_bcs(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_bcc` is never used [INFO] [stdout] --> src/cpu/instructions/branch_opcodes.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn instr_bcc(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_beq` is never used [INFO] [stdout] --> src/cpu/instructions/branch_opcodes.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn instr_beq(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_bne` is never used [INFO] [stdout] --> src/cpu/instructions/branch_opcodes.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn instr_bne(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_bmi` is never used [INFO] [stdout] --> src/cpu/instructions/branch_opcodes.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn instr_bmi(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_bpl` is never used [INFO] [stdout] --> src/cpu/instructions/branch_opcodes.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn instr_bpl(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_bvs` is never used [INFO] [stdout] --> src/cpu/instructions/branch_opcodes.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn instr_bvs(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_bvc` is never used [INFO] [stdout] --> src/cpu/instructions/branch_opcodes.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn instr_bvc(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_sei` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn instr_sei(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_sed` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn instr_sed(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_sec` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn instr_sec(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_clc` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn instr_clc(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_cld` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn instr_cld(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_cli` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn instr_cli(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_clv` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn instr_clv(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_nop` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn instr_nop(_cpu: &mut Cpu, _mode: AddresingMode) {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_inx` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn instr_inx(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_dex` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn instr_dex(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_iny` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn instr_iny(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_dey` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn instr_dey(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_tax` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn instr_tax(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_tay` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn instr_tay(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_tsx` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn instr_tsx(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_txs` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:77:8 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn instr_txs(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_txa` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:81:8 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn instr_txa(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_tya` is never used [INFO] [stdout] --> src/cpu/instructions/imp_opcodes.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn instr_tya(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_lda` is never used [INFO] [stdout] --> src/cpu/instructions/read_opcodes.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn instr_lda(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_ldx` is never used [INFO] [stdout] --> src/cpu/instructions/read_opcodes.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn instr_ldx(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_ldy` is never used [INFO] [stdout] --> src/cpu/instructions/read_opcodes.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn instr_ldy(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_cmp` is never used [INFO] [stdout] --> src/cpu/instructions/read_opcodes.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn instr_cmp(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_and` is never used [INFO] [stdout] --> src/cpu/instructions/read_opcodes.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn instr_and(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_eor` is never used [INFO] [stdout] --> src/cpu/instructions/read_opcodes.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn instr_eor(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_ora` is never used [INFO] [stdout] --> src/cpu/instructions/read_opcodes.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn instr_ora(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_bit` is never used [INFO] [stdout] --> src/cpu/instructions/read_opcodes.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn instr_bit(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_adc` is never used [INFO] [stdout] --> src/cpu/instructions/read_opcodes.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn instr_adc(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_sbc` is never used [INFO] [stdout] --> src/cpu/instructions/read_opcodes.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn instr_sbc(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_cpx` is never used [INFO] [stdout] --> src/cpu/instructions/read_opcodes.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn instr_cpx(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_cpy` is never used [INFO] [stdout] --> src/cpu/instructions/read_opcodes.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn instr_cpy(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `general_shift` is never used [INFO] [stdout] --> src/cpu/instructions/rmw_opcodes.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn general_shift( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_asl` is never used [INFO] [stdout] --> src/cpu/instructions/rmw_opcodes.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn instr_asl(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_lsr` is never used [INFO] [stdout] --> src/cpu/instructions/rmw_opcodes.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn instr_lsr(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_rol` is never used [INFO] [stdout] --> src/cpu/instructions/rmw_opcodes.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn instr_rol(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_ror` is never used [INFO] [stdout] --> src/cpu/instructions/rmw_opcodes.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn instr_ror(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_inc` is never used [INFO] [stdout] --> src/cpu/instructions/rmw_opcodes.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn instr_inc(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_dec` is never used [INFO] [stdout] --> src/cpu/instructions/rmw_opcodes.rs:84:8 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn instr_dec(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_pha` is never used [INFO] [stdout] --> src/cpu/instructions/routine_opcodes.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn instr_pha(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_php` is never used [INFO] [stdout] --> src/cpu/instructions/routine_opcodes.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn instr_php(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_pla` is never used [INFO] [stdout] --> src/cpu/instructions/routine_opcodes.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn instr_pla(cpu: &mut Cpu, _mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_plp` is never used [INFO] [stdout] --> src/cpu/instructions/routine_opcodes.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn instr_plp(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_jmp` is never used [INFO] [stdout] --> src/cpu/instructions/routine_opcodes.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn instr_jmp(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_brk` is never used [INFO] [stdout] --> src/cpu/instructions/routine_opcodes.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn instr_brk(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_rti` is never used [INFO] [stdout] --> src/cpu/instructions/routine_opcodes.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn instr_rti(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_jsr` is never used [INFO] [stdout] --> src/cpu/instructions/routine_opcodes.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn instr_jsr(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_rts` is never used [INFO] [stdout] --> src/cpu/instructions/routine_opcodes.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn instr_rts(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_sta` is never used [INFO] [stdout] --> src/cpu/instructions/write_opcodes.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn instr_sta(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_sty` is never used [INFO] [stdout] --> src/cpu/instructions/write_opcodes.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn instr_sty(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `instr_stx` is never used [INFO] [stdout] --> src/cpu/instructions/write_opcodes.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn instr_stx(cpu: &mut Cpu, mode: AddresingMode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Vertical`, `Horizontal` and `FourWay` are never constructed [INFO] [stdout] --> src/nes_parser.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub enum Mirroring { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 37 | Vertical, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 38 | Horizontal, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 39 | FourWay, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sign_parse` is never used [INFO] [stdout] --> src/nes_parser.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn sign_parse(input: &[u8]) -> IResult<&[u8], &[u8]> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mapper_flags_parse` is never used [INFO] [stdout] --> src/nes_parser.rs:80:4 [INFO] [stdout] | [INFO] [stdout] 80 | fn mapper_flags_parse(input: &[u8]) -> IResult<&[u8], (u8, InesFlags6, InesFlags7)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_ines_header` is never used [INFO] [stdout] --> src/nes_parser.rs:94:4 [INFO] [stdout] | [INFO] [stdout] 94 | fn parse_ines_header(input: &[u8]) -> IResult<&[u8], InesHeader> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_ines_bytes` is never used [INFO] [stdout] --> src/nes_parser.rs:113:4 [INFO] [stdout] | [INFO] [stdout] 113 | fn parse_ines_bytes(input: &[u8]) -> IResult<&[u8], InesFile> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_file_as_byte_vec` is never used [INFO] [stdout] --> src/nes_parser.rs:146:4 [INFO] [stdout] | [INFO] [stdout] 146 | fn get_file_as_byte_vec(filename: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ines_to_cartridge` is never used [INFO] [stdout] --> src/nes_parser.rs:155:4 [INFO] [stdout] | [INFO] [stdout] 155 | fn ines_to_cartridge(ines: InesFile) -> Cartridge { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_cartridge_from_file` is never used [INFO] [stdout] --> src/nes_parser.rs:177:8 [INFO] [stdout] | [INFO] [stdout] 177 | pub fn get_cartridge_from_file(filename: &str) -> Cartridge { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cycles` is never read [INFO] [stdout] --> src/bus.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Bus { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 8 | cycles: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `cpu_read_word` is never used [INFO] [stdout] --> src/bus.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn cpu_read_word(&self, addr: u16) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `cpu_read_zp_word` is never used [INFO] [stdout] --> src/bus.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn cpu_read_zp_word(&self, addr: u8) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `cpu_write` is never used [INFO] [stdout] --> src/bus.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn cpu_write(&mut self, addr: u16, value: u8) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `cpu_write_word` is never used [INFO] [stdout] --> src/bus.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn cpu_write_word(&mut self, addr: u16, value: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `cpu_write_zp_word` is never used [INFO] [stdout] --> src/bus.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn cpu_write_zp_word(&mut self, addr: u8, value: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `cycle` is never used [INFO] [stdout] --> src/bus.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn cycle(&mut self, cycles: u8) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `get_cycles` is never used [INFO] [stdout] --> src/bus.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn get_cycles(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `create_from_crt` is never used [INFO] [stdout] --> src/bus.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn create_from_crt(crt: Cartridge) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_mapper` is never used [INFO] [stdout] --> src/bus/mappers.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn get_mapper(ines: &InesFile) -> Option> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `chr_banks` is never read [INFO] [stdout] --> src/bus/mappers/mapper_0.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub(crate) struct Mapper0 { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 4 | pub prg_banks: u8, [INFO] [stdout] 5 | pub chr_banks: u8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `chr_banks` is never read [INFO] [stdout] --> src/bus/mappers/mapper_3.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub(crate) struct Mapper3 { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 4 | pub prg_banks: u8, [INFO] [stdout] 5 | pub chr_banks: u8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ppu` is never constructed [INFO] [stdout] --> src/ppu.rs:1:19 [INFO] [stdout] | [INFO] [stdout] 1 | pub(crate) struct Ppu { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 119 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 40s [INFO] running `Command { std: "docker" "inspect" "ad55ee7773ef9ebf1c31406aa61bc080c410c576aba9afd810913b4594f9571a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ad55ee7773ef9ebf1c31406aa61bc080c410c576aba9afd810913b4594f9571a", kill_on_drop: false }` [INFO] [stdout] ad55ee7773ef9ebf1c31406aa61bc080c410c576aba9afd810913b4594f9571a