[INFO] cloning repository https://github.com/rainapepe/rust-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/rainapepe/rust-nes-emulator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frainapepe%2Frust-nes-emulator", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frainapepe%2Frust-nes-emulator'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] aacccee5fdb1672e61a488c2e5abb133638718a6 [INFO] testing rainapepe/rust-nes-emulator against 1.91.0 for beta-1.92-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frainapepe%2Frust-nes-emulator" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/rainapepe/rust-nes-emulator [INFO] finished tweaking git repo https://github.com/rainapepe/rust-nes-emulator [INFO] tweaked toml for git repo https://github.com/rainapepe/rust-nes-emulator written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/rainapepe/rust-nes-emulator on toolchain 1.91.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/rainapepe/rust-nes-emulator already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded ppv-lite86 v0.2.10 [INFO] [stderr] Downloaded rand_hc v0.2.0 [INFO] [stderr] Downloaded piston_window v0.120.0 [INFO] [stderr] Downloaded raw-window-handle v0.3.3 [INFO] [stderr] Downloaded piston-texture v0.8.0 [INFO] [stderr] Downloaded glutin_wgl_sys v0.1.5 [INFO] [stderr] Downloaded num_enum_derive v0.4.3 [INFO] [stderr] Downloaded core-foundation-sys v0.8.2 [INFO] [stderr] Downloaded slab v0.4.3 [INFO] [stderr] Downloaded ndk-glue v0.2.1 [INFO] [stderr] Downloaded core-foundation-sys v0.7.0 [INFO] [stderr] Downloaded interpolation v0.2.0 [INFO] [stderr] Downloaded gfx_device_gl v0.16.2 [INFO] [stderr] Downloaded png v0.16.8 [INFO] [stderr] Downloaded nix v0.18.0 [INFO] [stderr] Downloaded piston2d-opengl_graphics v0.78.0 [INFO] [stderr] Downloaded getrandom v0.1.16 [INFO] [stderr] Downloaded core-foundation v0.7.0 [INFO] [stderr] Downloaded khronos_api v2.2.0 [INFO] [stderr] Downloaded osmesa-sys v0.1.2 [INFO] [stderr] Downloaded cocoa-foundation v0.1.0 [INFO] [stderr] Downloaded cocoa v0.24.0 [INFO] [stderr] Downloaded core-graphics v0.19.2 [INFO] [stderr] Downloaded pistoncore-window v0.47.0 [INFO] [stderr] Downloaded num_enum v0.4.3 [INFO] [stderr] Downloaded ndk-sys v0.2.1 [INFO] [stderr] Downloaded xcursor v0.3.3 [INFO] [stderr] Downloaded glutin v0.26.0 [INFO] [stderr] Downloaded glutin_glx_sys v0.1.7 [INFO] [stderr] Downloaded glutin_gles2_sys v0.1.5 [INFO] [stderr] Downloaded ndk-macro v0.2.0 [INFO] [stderr] Downloaded scoped-tls v1.0.0 [INFO] [stderr] Downloaded owned_ttf_parser v0.6.0 [INFO] [stderr] Downloaded miow v0.2.2 [INFO] [stderr] Downloaded dlib v0.4.2 [INFO] [stderr] Downloaded wayland-client v0.28.5 [INFO] [stderr] Downloaded shared_library v0.1.9 [INFO] [stderr] Downloaded redox_syscall v0.2.6 [INFO] [stderr] Downloaded wayland-egl v0.28.5 [INFO] [stderr] Downloaded once_cell v1.7.2 [INFO] [stderr] Downloaded proc-macro2 v1.0.26 [INFO] [stderr] Downloaded mio-extras v2.0.6 [INFO] [stderr] Downloaded darling_core v0.10.2 [INFO] [stderr] Downloaded memchr v2.3.4 [INFO] [stderr] Downloaded piston-float v1.0.0 [INFO] [stderr] Downloaded serde_derive v1.0.125 [INFO] [stderr] Downloaded strsim v0.9.3 [INFO] [stderr] Downloaded toml v0.5.8 [INFO] [stderr] Downloaded instant v0.1.9 [INFO] [stderr] Downloaded gfx_gl v0.6.1 [INFO] [stderr] Downloaded syn v1.0.70 [INFO] [stderr] Downloaded draw_state v0.8.0 [INFO] [stderr] Downloaded piston2d-graphics v0.40.0 [INFO] [stderr] Downloaded num-iter v0.1.42 [INFO] [stderr] Downloaded crossbeam-utils v0.8.3 [INFO] [stderr] Downloaded cocoa v0.23.0 [INFO] [stderr] Downloaded vecmath v1.0.0 [INFO] [stderr] Downloaded gl_generator v0.13.1 [INFO] [stderr] Downloaded serde v1.0.125 [INFO] [stderr] Downloaded wasi v0.9.0+wasi-snapshot-preview1 [INFO] [stderr] Downloaded pistoncore-glutin_window v0.69.0 [INFO] [stderr] Downloaded spin_sleep v1.0.0 [INFO] [stderr] Downloaded rand v0.7.3 [INFO] [stderr] Downloaded ndk v0.2.1 [INFO] [stderr] Downloaded hermit-abi v0.1.18 [INFO] [stderr] Downloaded darling v0.10.2 [INFO] [stderr] Downloaded num-rational v0.3.2 [INFO] [stderr] Downloaded crossbeam-channel v0.5.1 [INFO] [stderr] Downloaded pistoncore-input v1.0.0 [INFO] [stderr] Downloaded deflate v0.8.6 [INFO] [stderr] Downloaded jpeg-decoder v0.1.22 [INFO] [stderr] Downloaded image v0.23.14 [INFO] [stderr] Downloaded piston v0.53.0 [INFO] [stderr] Downloaded bytemuck v1.5.1 [INFO] [stderr] Downloaded piston-gfx_texture v0.41.0 [INFO] [stderr] Downloaded glutin_egl_sys v0.1.5 [INFO] [stderr] Downloaded percent-encoding v2.1.0 [INFO] [stderr] Downloaded rusttype v0.9.2 [INFO] [stderr] Downloaded xdg v2.2.0 [INFO] [stderr] Downloaded quote v1.0.9 [INFO] [stderr] Downloaded core-video-sys v0.1.4 [INFO] [stderr] Downloaded net2 v0.2.37 [INFO] [stderr] Downloaded thiserror-impl v1.0.24 [INFO] [stderr] Downloaded cc v1.0.67 [INFO] [stderr] Downloaded crc32fast v1.2.1 [INFO] [stderr] Downloaded core-graphics v0.22.2 [INFO] [stderr] Downloaded scoped_threadpool v0.1.9 [INFO] [stderr] Downloaded winit v0.24.0 [INFO] [stderr] Downloaded pistoncore-event_loop v0.53.0 [INFO] [stderr] Downloaded either v1.6.1 [INFO] [stderr] Downloaded crossbeam-deque v0.8.0 [INFO] [stderr] Downloaded piston-graphics_api_version v1.0.0 [INFO] [stderr] Downloaded unicode-xid v0.2.1 [INFO] [stderr] Downloaded shader_version v0.7.0 [INFO] [stderr] Downloaded core-foundation v0.9.1 [INFO] [stderr] Downloaded miniz_oxide v0.4.4 [INFO] [stderr] Downloaded weezl v0.1.5 [INFO] [stderr] Downloaded calloop v0.6.5 [INFO] [stderr] Downloaded memmap2 v0.1.0 [INFO] [stderr] Downloaded nom v6.1.2 [INFO] [stderr] Downloaded gl v0.13.0 [INFO] [stderr] Downloaded thiserror v1.0.24 [INFO] [stderr] Downloaded gif v0.11.2 [INFO] [stderr] Downloaded nix v0.20.0 [INFO] [stderr] Downloaded glutin_emscripten_sys v0.1.1 [INFO] [stderr] Downloaded x11-dl v2.18.5 [INFO] [stderr] Downloaded piston-viewport v1.0.0 [INFO] [stderr] Downloaded rand_chacha v0.2.2 [INFO] [stderr] Downloaded libc v0.2.93 [INFO] [stderr] Downloaded smithay-client-toolkit v0.12.3 [INFO] [stderr] Downloaded dlib v0.5.0 [INFO] [stderr] Downloaded mio v0.6.23 [INFO] [stderr] Downloaded proc-macro-crate v0.1.5 [INFO] [stderr] Downloaded ttf-parser v0.6.2 [INFO] [stderr] Downloaded wayland-protocols v0.28.5 [INFO] [stderr] Downloaded smallvec v1.6.1 [INFO] [stderr] Downloaded wayland-scanner v0.28.5 [INFO] [stderr] Downloaded num-integer v0.1.44 [INFO] [stderr] Downloaded rand_core v0.5.1 [INFO] [stderr] Downloaded parking_lot v0.11.1 [INFO] [stderr] Downloaded parking_lot_core v0.8.3 [INFO] [stderr] Downloaded lock_api v0.4.3 [INFO] [stderr] Downloaded andrew v0.3.1 [INFO] [stderr] Downloaded wayland-cursor v0.28.5 [INFO] [stderr] Downloaded libloading v0.6.7 [INFO] [stderr] Downloaded log v0.4.14 [INFO] [stderr] Downloaded pkg-config v0.3.19 [INFO] [stderr] Downloaded walkdir v2.3.2 [INFO] [stderr] Downloaded version_check v0.9.3 [INFO] [stderr] Downloaded wayland-commons v0.28.5 [INFO] [stderr] Downloaded wayland-sys v0.28.5 [INFO] [stderr] Downloaded ab_glyph_rasterizer v0.1.4 [INFO] [stderr] Downloaded memoffset v0.6.3 [INFO] [stderr] Downloaded darling_macro v0.10.2 [INFO] [stderr] Downloaded libloading v0.7.0 [INFO] [stderr] Downloaded android_glue v0.2.3 [INFO] [stderr] Downloaded tiff v0.6.1 [INFO] [stderr] Downloaded piston-shaders_graphics2d v0.4.0 [INFO] [stderr] Downloaded rayon-core v1.9.0 [INFO] [stderr] Downloaded miniz_oxide v0.3.7 [INFO] [stderr] Downloaded xml-rs v0.8.3 [INFO] [stderr] Downloaded find_folder v0.3.0 [INFO] [stderr] Downloaded gfx v0.18.2 [INFO] [stderr] Downloaded piston2d-gfx_graphics v0.73.0 [INFO] [stderr] Downloaded read_color v1.0.0 [INFO] [stderr] Downloaded num-traits v0.2.14 [INFO] [stderr] Downloaded crossbeam-epoch v0.9.3 [INFO] [stderr] Downloaded gfx_core v0.9.2 [INFO] [stderr] Downloaded rayon v1.5.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 73301efdd2c661b443c671804672ba332b20683758a6e8f45192fdedd88d381f [INFO] running `Command { std: "docker" "start" "-a" "73301efdd2c661b443c671804672ba332b20683758a6e8f45192fdedd88d381f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "73301efdd2c661b443c671804672ba332b20683758a6e8f45192fdedd88d381f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "73301efdd2c661b443c671804672ba332b20683758a6e8f45192fdedd88d381f", kill_on_drop: false }` [INFO] [stdout] 73301efdd2c661b443c671804672ba332b20683758a6e8f45192fdedd88d381f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 37f88d2c9b4c8d80322f7593961ed659b5ffeb0bdbda62cb070b973e98ce9265 [INFO] running `Command { std: "docker" "start" "-a" "37f88d2c9b4c8d80322f7593961ed659b5ffeb0bdbda62cb070b973e98ce9265", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.93 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling xml-rs v0.8.3 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling proc-macro2 v1.0.26 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling khronos_api v3.1.0 [INFO] [stderr] Compiling pkg-config v0.3.19 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling libloading v0.7.0 [INFO] [stderr] Compiling smallvec v1.6.1 [INFO] [stderr] Compiling wayland-sys v0.28.5 [INFO] [stderr] Compiling crossbeam-utils v0.8.3 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Compiling memoffset v0.6.3 [INFO] [stderr] Compiling dlib v0.5.0 [INFO] [stderr] Compiling rayon-core v1.9.0 [INFO] [stderr] Compiling ttf-parser v0.6.2 [INFO] [stderr] Compiling piston-float v1.0.0 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Compiling crossbeam-epoch v0.9.3 [INFO] [stderr] Compiling version_check v0.9.3 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling once_cell v1.7.2 [INFO] [stderr] Compiling wayland-scanner v0.28.5 [INFO] [stderr] Compiling nix v0.20.0 [INFO] [stderr] Compiling ab_glyph_rasterizer v0.1.4 [INFO] [stderr] Compiling memchr v2.3.4 [INFO] [stderr] Compiling crossbeam-deque v0.8.0 [INFO] [stderr] Compiling nom v6.1.2 [INFO] [stderr] Compiling num_cpus v1.13.0 [INFO] [stderr] Compiling crossbeam-channel v0.5.1 [INFO] [stderr] Compiling piston-viewport v1.0.0 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling rayon v1.5.0 [INFO] [stderr] Compiling scoped-tls v1.0.0 [INFO] [stderr] Compiling downcast-rs v1.2.0 [INFO] [stderr] Compiling syn v1.0.70 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling owned_ttf_parser v0.6.0 [INFO] [stderr] Compiling adler32 v1.2.0 [INFO] [stderr] Compiling rusttype v0.9.2 [INFO] [stderr] Compiling serde v1.0.125 [INFO] [stderr] Compiling crc32fast v1.2.1 [INFO] [stderr] Compiling serde_derive v1.0.125 [INFO] [stderr] Compiling piston-graphics_api_version v1.0.0 [INFO] [stderr] Compiling nix v0.18.0 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling num-rational v0.3.2 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling x11-dl v2.18.5 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling wayland-client v0.28.5 [INFO] [stderr] Compiling wayland-protocols v0.28.5 [INFO] [stderr] Compiling weezl v0.1.5 [INFO] [stderr] Compiling deflate v0.8.6 [INFO] [stderr] Compiling walkdir v2.3.2 [INFO] [stderr] Compiling xcursor v0.3.3 [INFO] [stderr] Compiling wayland-commons v0.28.5 [INFO] [stderr] Compiling miniz_oxide v0.3.7 [INFO] [stderr] Compiling jpeg-decoder v0.1.22 [INFO] [stderr] Compiling iovec v0.1.4 [INFO] [stderr] Compiling net2 v0.2.37 [INFO] [stderr] Compiling gl_generator v0.13.1 [INFO] [stderr] Compiling draw_state v0.8.0 [INFO] [stderr] Compiling libloading v0.6.7 [INFO] [stderr] Compiling instant v0.1.9 [INFO] [stderr] Compiling color_quant v1.1.0 [INFO] [stderr] Compiling slab v0.4.3 [INFO] [stderr] Compiling xdg v2.2.0 [INFO] [stderr] Compiling mio v0.6.23 [INFO] [stderr] Compiling gif v0.11.2 [INFO] [stderr] Compiling wayland-cursor v0.28.5 [INFO] [stderr] Compiling andrew v0.3.1 [INFO] [stderr] Compiling parking_lot_core v0.8.3 [INFO] [stderr] Compiling calloop v0.6.5 [INFO] [stderr] Compiling gl v0.13.0 [INFO] [stderr] Compiling dlib v0.4.2 [INFO] [stderr] Compiling gfx_core v0.9.2 [INFO] [stderr] Compiling tiff v0.6.1 [INFO] [stderr] Compiling png v0.16.8 [INFO] [stderr] Compiling glutin_egl_sys v0.1.5 [INFO] [stderr] Compiling glutin_glx_sys v0.1.7 [INFO] [stderr] Compiling memmap2 v0.1.0 [INFO] [stderr] Compiling lock_api v0.4.3 [INFO] [stderr] Compiling scoped_threadpool v0.1.9 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Compiling bytemuck v1.5.1 [INFO] [stderr] Compiling lazycell v1.3.0 [INFO] [stderr] Compiling piston-texture v0.8.0 [INFO] [stderr] Compiling image v0.23.14 [INFO] [stderr] Compiling mio-extras v2.0.6 [INFO] [stderr] Compiling parking_lot v0.11.1 [INFO] [stderr] Compiling shader_version v0.7.0 [INFO] [stderr] Compiling gfx_gl v0.6.1 [INFO] [stderr] Compiling raw-window-handle v0.3.3 [INFO] [stderr] Compiling shared_library v0.1.9 [INFO] [stderr] Compiling vecmath v1.0.0 [INFO] [stderr] Compiling read_color v1.0.0 [INFO] [stderr] Compiling interpolation v0.2.0 [INFO] [stderr] Compiling percent-encoding v2.1.0 [INFO] [stderr] Compiling piston2d-graphics v0.40.0 [INFO] [stderr] Compiling osmesa-sys v0.1.2 [INFO] [stderr] Compiling gfx v0.18.2 [INFO] [stderr] Compiling wayland-egl v0.28.5 [INFO] [stderr] Compiling spin_sleep v1.0.0 [INFO] [stderr] Compiling piston-shaders_graphics2d v0.4.0 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.10 [INFO] [stderr] Compiling find_folder v0.3.0 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling pistoncore-input v1.0.0 [INFO] [stderr] Compiling pistoncore-window v0.47.0 [INFO] [stderr] Compiling pistoncore-event_loop v0.53.0 [INFO] [stderr] Compiling piston-gfx_texture v0.41.0 [INFO] [stderr] Compiling piston2d-opengl_graphics v0.78.0 [INFO] [stderr] Compiling piston v0.53.0 [INFO] [stderr] Compiling piston2d-gfx_graphics v0.73.0 [INFO] [stderr] Compiling gfx_device_gl v0.16.2 [INFO] [stderr] Compiling smithay-client-toolkit v0.12.3 [INFO] [stderr] Compiling winit v0.24.0 [INFO] [stderr] Compiling glutin v0.26.0 [INFO] [stderr] Compiling pistoncore-glutin_window v0.69.0 [INFO] [stderr] Compiling piston_window v0.120.0 [INFO] [stderr] Compiling rust-nes-emulator v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `cpu::Cpu6502` [INFO] [stdout] --> src/bus.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{cpu::Cpu6502, pad::Pad}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `load_file::*` [INFO] [stdout] --> src/cartridge/mod.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub use load_file::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `addres_mode::AddressMode` [INFO] [stdout] --> src/cpu/mod.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub use addres_mode::AddressMode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `instruction::Instruction` [INFO] [stdout] --> src/cpu/mod.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub use instruction::Instruction; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `opcode::Opcode` [INFO] [stdout] --> src/cpu/mod.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub use opcode::Opcode; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::video::Pixel` [INFO] [stdout] --> src/ppu/clock_helpers.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::video::Pixel; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/video/utils.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Cpu6502` and `Flags6502` [INFO] [stdout] --> src/video/utils.rs:6:18 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::cpu::{Cpu6502, Flags6502}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ImageBuffer`, `Rgb`, and `Rgba` [INFO] [stdout] --> src/video/video.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | use image::{ImageBuffer, Rgb, Rgba}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utils::*` [INFO] [stdout] --> src/video/mod.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub use utils::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `GAME_MODE` should have an upper camel case name [INFO] [stdout] --> src/main.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | enum GAME_MODE { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `GameMode` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cartridge/load_file.rs:61:13 [INFO] [stdout] | [INFO] [stdout] 61 | let mut buffer = slice::from_raw_parts_mut(&mut data as *mut T as *mut u8, num_bytes); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this arithmetic operation will overflow [INFO] [stdout] --> src/cpu/external_inputs.rs:66:24 [INFO] [stdout] | [INFO] [stdout] 66 | self.pc = ((hi << 8) | lo) as u16; [INFO] [stdout] | ^^^^^^^^^ attempt to shift left by `8_i32`, which would overflow [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(arithmetic_overflow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `value` is never read [INFO] [stdout] --> src/cpu/helpers.rs:36:17 [INFO] [stdout] | [INFO] [stdout] 36 | let mut value: u8 = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `lo` is never read [INFO] [stdout] --> src/cpu/helpers.rs:37:17 [INFO] [stdout] | [INFO] [stdout] 37 | let mut lo: u8 = 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/cpu/helpers.rs:38:17 [INFO] [stdout] | [INFO] [stdout] 38 | let mut hi: u8 = 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 `value` is never read [INFO] [stdout] --> src/cpu/helpers.rs:123:17 [INFO] [stdout] | [INFO] [stdout] 123 | let mut value: u8 = 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 `lo` is never read [INFO] [stdout] --> src/cpu/helpers.rs:124:17 [INFO] [stdout] | [INFO] [stdout] 124 | let mut lo: u8 = 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/cpu/helpers.rs:125:17 [INFO] [stdout] | [INFO] [stdout] 125 | let mut hi: u8 = 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 `line_addr` is never read [INFO] [stdout] --> src/cpu/helpers.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | 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/cpu/helpers.rs:153:21 [INFO] [stdout] | [INFO] [stdout] 153 | 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/cpu/helpers.rs:159:21 [INFO] [stdout] | [INFO] [stdout] 159 | 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/cpu/helpers.rs:165:21 [INFO] [stdout] | [INFO] [stdout] 165 | 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/cpu/helpers.rs:171:21 [INFO] [stdout] | [INFO] [stdout] 171 | 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/cpu/helpers.rs:177:21 [INFO] [stdout] | [INFO] [stdout] 177 | 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: `data` [INFO] [stdout] --> src/mapper/mappers/mapper_000.rs:23:54 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn cpu_map_write(mapper: &mut Mapper, addr: u16, data: u8) -> (bool, u32) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mapper` [INFO] [stdout] --> src/mapper/mappers/mapper_000.rs:34:21 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn ppu_map_read(mapper: &mut Mapper, addr: u16) -> (bool, u32) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_mapper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `sprite_pattern_bits_lo` is never read [INFO] [stdout] --> src/ppu/clock.rs:329:29 [INFO] [stdout] | [INFO] [stdout] 329 | let mut sprite_pattern_bits_lo: u8 = 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 `sprite_pattern_bits_hi` is never read [INFO] [stdout] --> src/ppu/clock.rs:330:29 [INFO] [stdout] | [INFO] [stdout] 330 | let mut sprite_pattern_bits_hi: u8 = 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 `sprite_pattern_addr_lo` is never read [INFO] [stdout] --> src/ppu/clock.rs:331:29 [INFO] [stdout] | [INFO] [stdout] 331 | let mut sprite_pattern_addr_lo: 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 `sprite_pattern_addr_hi` is never read [INFO] [stdout] --> src/ppu/clock.rs:332:29 [INFO] [stdout] | [INFO] [stdout] 332 | let mut sprite_pattern_addr_hi: u16 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `window` [INFO] [stdout] --> src/video/video.rs:18:28 [INFO] [stdout] | [INFO] [stdout] 18 | fn on_start(&mut self, window: &mut PistonWindow, texture_context: &mut G2dTextureContext) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `texture_context` [INFO] [stdout] --> src/video/video.rs:18:55 [INFO] [stdout] | [INFO] [stdout] 18 | fn on_start(&mut self, window: &mut PistonWindow, texture_context: &mut G2dTextureContext) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_texture_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `texture_context` [INFO] [stdout] --> src/video/video.rs:20:35 [INFO] [stdout] | [INFO] [stdout] 20 | fn update_textures(&mut self, texture_context: &mut G2dTextureContext) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_texture_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/video/video.rs:26:35 [INFO] [stdout] | [INFO] [stdout] 26 | fn on_buttom_press(&mut self, key: Key) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/video/video.rs:28:37 [INFO] [stdout] | [INFO] [stdout] 28 | fn on_buttom_release(&mut self, key: Key) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `version` is never read [INFO] [stdout] --> src/bus.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 42 | pub struct Bus { [INFO] [stdout] | --- field in this struct [INFO] [stdout] 43 | pub version: &'static str, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_buffer_hex` is never used [INFO] [stdout] --> src/cartridge/load_file.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn print_buffer_hex(buffer: &Vec, size: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset` is never used [INFO] [stdout] --> src/cartridge/memory_access.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 3 | impl PrgRom { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn reset(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset` is never used [INFO] [stdout] --> src/cartridge/memory_access.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl ChrRom { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn reset(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `OneScreenLo` and `OneScreenHi` are never constructed [INFO] [stdout] --> src/cartridge/types.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum Mirror { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 7 | OneScreenLo, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 8 | OneScreenHi, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Mirror` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `mirror`, `mapper_id`, and `prg_banks` are never read [INFO] [stdout] --> src/cartridge/types.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct PrgRom { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 14 | pub mirror: Mirror, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 15 | pub mapper_id: u8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 16 | pub prg_memory: Vec, [INFO] [stdout] 17 | pub prg_banks: u8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `mapper_id` and `chr_banks` are never read [INFO] [stdout] --> src/cartridge/types.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct ChrRom { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 24 | pub mirror: Mirror, [INFO] [stdout] 25 | pub mapper_id: u8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 26 | pub chr_banks: u8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name`, `prg_ram_size`, `tv_system1`, `tv_system2`, and `unused` are never read [INFO] [stdout] --> src/cartridge/types.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 53 | pub struct Header { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 54 | pub name: [u8; 4], [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub prg_ram_size: u8, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 60 | pub tv_system1: u8, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 61 | pub tv_system2: u8, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 62 | pub unused: [u8; 5], [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `ACC` is never constructed [INFO] [stdout] --> src/cpu/addres_mode.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum AddressMode { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 41 | ACC, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AddressMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `pc_back` is never used [INFO] [stdout] --> src/cpu/cpu6502.rs:128:12 [INFO] [stdout] | [INFO] [stdout] 122 | impl Cpu6502 { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 128 | pub fn pc_back(&mut self) -> u16 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `irq` is never used [INFO] [stdout] --> src/cpu/external_inputs.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 4 | impl Cpu6502 { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn irq(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `disassemble` is never used [INFO] [stdout] --> src/cpu/helpers.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl Cpu6502 { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn disassemble(&mut self, start: u16, stop: u16) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Instruct` is never constructed [INFO] [stdout] --> src/cpu/instruction.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Instruct(&'static str, Opcode, AddressMode, u8); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset` is never used [INFO] [stdout] --> src/mapper/mapper.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl Mapper { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn reset(&self) {} [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_type` is never used [INFO] [stdout] --> src/mapper/mapper.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 44 | impl Mapper { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn get_type(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `reset` and `get_reg` are never used [INFO] [stdout] --> src/pad.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl Pad { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn get_reg(&mut self) -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_screen` is never used [INFO] [stdout] --> src/ppu/output.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 4 | impl Ppu2C02 { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn get_screen<'a>(&'a self) -> &'a Frame { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `sprite_name_table` is never read [INFO] [stdout] --> src/ppu/ppu2C02.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Ppu2C02 { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 17 | pub sprite_name_table: [Frame; 2], // (não usado) visualização da nametables (tela final na memória) as duas são 256x240 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset` is never used [INFO] [stdout] --> src/ppu/ppu2C02.rs:133:12 [INFO] [stdout] | [INFO] [stdout] 74 | impl Ppu2C02 { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 133 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_unused`, `set_unused`, `get_sprite_overflow`, `get_sprite_zero_hit`, and `get_vertical_blank` are never used [INFO] [stdout] --> src/ppu/registers.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl Status { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 28 | // unused: 5 [INFO] [stdout] 29 | pub fn get_unused(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn set_unused(&mut self, data: u8) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn get_sprite_overflow(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn get_sprite_zero_hit(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn get_vertical_blank(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/ppu/registers.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 73 | impl Mask { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn set_grayscale(&mut self, data: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn set_render_background_left(&mut self, data: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn set_render_sprites_left(&mut self, data: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn set_render_background(&mut self, data: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn set_render_sprites(&mut self, data: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn get_enhance_red(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn set_enhance_red(&mut self, data: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn get_enhance_green(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | pub fn set_enhance_green(&mut self, data: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn get_enhance_blue(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn set_enhance_blue(&mut self, data: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/ppu/registers.rs:161:12 [INFO] [stdout] | [INFO] [stdout] 155 | impl PpuControl { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn set_nametable_x(&mut self, data: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn set_nametable_y(&mut self, data: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn set_increment_mode(&mut self, data: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub fn set_pattern_sprite(&mut self, data: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn set_pattern_background(&mut self, data: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | pub fn set_sprite_size(&mut self, data: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 211 | pub fn get_slave_mode(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | pub fn set_slave_mode(&mut self, data: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 224 | pub fn set_enable_nmi(&mut self, data: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_unused` and `set_unused` are never used [INFO] [stdout] --> src/ppu/registers.rs:288:12 [INFO] [stdout] | [INFO] [stdout] 238 | impl LoopyRegister { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 288 | pub fn get_unused(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 292 | pub fn set_unused(&mut self, data: u8) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PIXEL_SIZE` is never used [INFO] [stdout] --> src/video/frame.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const PIXEL_SIZE: f64 = 2.3; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_border` and `render` are never used [INFO] [stdout] --> src/video/frame.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl Frame { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn set_border(&mut self, color: Pixel) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn render(&self, x: usize, y: usize, pixel_size: f64, context: Context, gl: &mut G2d) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `white`, `red`, `green`, and `blue` are never used [INFO] [stdout] --> src/video/pixel.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 4 | impl Pixel { [INFO] [stdout] | ---------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 9 | pub fn white() -> Pixel { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | pub fn red() -> Pixel { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn green() -> Pixel { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn blue() -> Pixel { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_font_size` is never used [INFO] [stdout] --> src/video/utils.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl DrawText { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn with_font_size(font_size: usize, x: usize, y: usize, c: Context) -> DrawText { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/mapper/mappers/mapper_000.rs:13:26 [INFO] [stdout] | [INFO] [stdout] 13 | if addr >= 0x8000 && addr <= 0xFFFF { [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/mapper/mappers/mapper_000.rs:24:26 [INFO] [stdout] | [INFO] [stdout] 24 | 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/mappers/mapper_000.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | if addr >= 0 && addr <= 0x1FFF { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/mapper/mappers/mapper_000.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | if addr >= 0x0000 && addr <= 0x1FFF { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `ppu2C02` should have a snake case name [INFO] [stdout] --> src/ppu/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | mod ppu2C02; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `ppu2_c02` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 07s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v6.1.2 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "37f88d2c9b4c8d80322f7593961ed659b5ffeb0bdbda62cb070b973e98ce9265", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "37f88d2c9b4c8d80322f7593961ed659b5ffeb0bdbda62cb070b973e98ce9265", kill_on_drop: false }` [INFO] [stdout] 37f88d2c9b4c8d80322f7593961ed659b5ffeb0bdbda62cb070b973e98ce9265 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b8722d5cb7acaf949ee8389eb1fa6bfbe1356cc04bdc8b927e835b83d2585128 [INFO] running `Command { std: "docker" "start" "-a" "b8722d5cb7acaf949ee8389eb1fa6bfbe1356cc04bdc8b927e835b83d2585128", kill_on_drop: false }` [INFO] [stderr] Compiling rust-nes-emulator v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `cpu::Cpu6502` [INFO] [stdout] --> src/bus.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{cpu::Cpu6502, pad::Pad}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `load_file::*` [INFO] [stdout] --> src/cartridge/mod.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub use load_file::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `addres_mode::AddressMode` [INFO] [stdout] --> src/cpu/mod.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub use addres_mode::AddressMode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `instruction::Instruction` [INFO] [stdout] --> src/cpu/mod.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub use instruction::Instruction; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `opcode::Opcode` [INFO] [stdout] --> src/cpu/mod.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub use opcode::Opcode; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::video::Pixel` [INFO] [stdout] --> src/ppu/clock_helpers.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::video::Pixel; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/video/utils.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Cpu6502` and `Flags6502` [INFO] [stdout] --> src/video/utils.rs:6:18 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::cpu::{Cpu6502, Flags6502}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ImageBuffer`, `Rgb`, and `Rgba` [INFO] [stdout] --> src/video/video.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | use image::{ImageBuffer, Rgb, Rgba}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utils::*` [INFO] [stdout] --> src/video/mod.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub use utils::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `GAME_MODE` should have an upper camel case name [INFO] [stdout] --> src/main.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | enum GAME_MODE { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case: `GameMode` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cartridge/load_file.rs:61:13 [INFO] [stdout] | [INFO] [stdout] 61 | let mut buffer = slice::from_raw_parts_mut(&mut data as *mut T as *mut u8, num_bytes); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this arithmetic operation will overflow [INFO] [stdout] --> src/cpu/external_inputs.rs:66:24 [INFO] [stdout] | [INFO] [stdout] 66 | self.pc = ((hi << 8) | lo) as u16; [INFO] [stdout] | ^^^^^^^^^ attempt to shift left by `8_i32`, which would overflow [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(arithmetic_overflow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `value` is never read [INFO] [stdout] --> src/cpu/helpers.rs:36:17 [INFO] [stdout] | [INFO] [stdout] 36 | let mut value: u8 = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `lo` is never read [INFO] [stdout] --> src/cpu/helpers.rs:37:17 [INFO] [stdout] | [INFO] [stdout] 37 | let mut lo: u8 = 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/cpu/helpers.rs:38:17 [INFO] [stdout] | [INFO] [stdout] 38 | let mut hi: u8 = 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 `value` is never read [INFO] [stdout] --> src/cpu/helpers.rs:123:17 [INFO] [stdout] | [INFO] [stdout] 123 | let mut value: u8 = 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 `lo` is never read [INFO] [stdout] --> src/cpu/helpers.rs:124:17 [INFO] [stdout] | [INFO] [stdout] 124 | let mut lo: u8 = 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/cpu/helpers.rs:125:17 [INFO] [stdout] | [INFO] [stdout] 125 | let mut hi: u8 = 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 `line_addr` is never read [INFO] [stdout] --> src/cpu/helpers.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | 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/cpu/helpers.rs:153:21 [INFO] [stdout] | [INFO] [stdout] 153 | 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/cpu/helpers.rs:159:21 [INFO] [stdout] | [INFO] [stdout] 159 | 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/cpu/helpers.rs:165:21 [INFO] [stdout] | [INFO] [stdout] 165 | 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/cpu/helpers.rs:171:21 [INFO] [stdout] | [INFO] [stdout] 171 | 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/cpu/helpers.rs:177:21 [INFO] [stdout] | [INFO] [stdout] 177 | 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: `data` [INFO] [stdout] --> src/mapper/mappers/mapper_000.rs:23:54 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn cpu_map_write(mapper: &mut Mapper, addr: u16, data: u8) -> (bool, u32) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mapper` [INFO] [stdout] --> src/mapper/mappers/mapper_000.rs:34:21 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn ppu_map_read(mapper: &mut Mapper, addr: u16) -> (bool, u32) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_mapper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `sprite_pattern_bits_lo` is never read [INFO] [stdout] --> src/ppu/clock.rs:329:29 [INFO] [stdout] | [INFO] [stdout] 329 | let mut sprite_pattern_bits_lo: u8 = 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 `sprite_pattern_bits_hi` is never read [INFO] [stdout] --> src/ppu/clock.rs:330:29 [INFO] [stdout] | [INFO] [stdout] 330 | let mut sprite_pattern_bits_hi: u8 = 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 `sprite_pattern_addr_lo` is never read [INFO] [stdout] --> src/ppu/clock.rs:331:29 [INFO] [stdout] | [INFO] [stdout] 331 | let mut sprite_pattern_addr_lo: 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 `sprite_pattern_addr_hi` is never read [INFO] [stdout] --> src/ppu/clock.rs:332:29 [INFO] [stdout] | [INFO] [stdout] 332 | let mut sprite_pattern_addr_hi: u16 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `window` [INFO] [stdout] --> src/video/video.rs:18:28 [INFO] [stdout] | [INFO] [stdout] 18 | fn on_start(&mut self, window: &mut PistonWindow, texture_context: &mut G2dTextureContext) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `texture_context` [INFO] [stdout] --> src/video/video.rs:18:55 [INFO] [stdout] | [INFO] [stdout] 18 | fn on_start(&mut self, window: &mut PistonWindow, texture_context: &mut G2dTextureContext) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_texture_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `texture_context` [INFO] [stdout] --> src/video/video.rs:20:35 [INFO] [stdout] | [INFO] [stdout] 20 | fn update_textures(&mut self, texture_context: &mut G2dTextureContext) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_texture_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/video/video.rs:26:35 [INFO] [stdout] | [INFO] [stdout] 26 | fn on_buttom_press(&mut self, key: Key) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key` [INFO] [stdout] --> src/video/video.rs:28:37 [INFO] [stdout] | [INFO] [stdout] 28 | fn on_buttom_release(&mut self, key: Key) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `version` is never read [INFO] [stdout] --> src/bus.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 42 | pub struct Bus { [INFO] [stdout] | --- field in this struct [INFO] [stdout] 43 | pub version: &'static str, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_buffer_hex` is never used [INFO] [stdout] --> src/cartridge/load_file.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn print_buffer_hex(buffer: &Vec, size: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset` is never used [INFO] [stdout] --> src/cartridge/memory_access.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 3 | impl PrgRom { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn reset(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset` is never used [INFO] [stdout] --> src/cartridge/memory_access.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl ChrRom { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn reset(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `OneScreenLo` and `OneScreenHi` are never constructed [INFO] [stdout] --> src/cartridge/types.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum Mirror { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 7 | OneScreenLo, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 8 | OneScreenHi, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Mirror` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `mirror`, `mapper_id`, and `prg_banks` are never read [INFO] [stdout] --> src/cartridge/types.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct PrgRom { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 14 | pub mirror: Mirror, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 15 | pub mapper_id: u8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 16 | pub prg_memory: Vec, [INFO] [stdout] 17 | pub prg_banks: u8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `mapper_id` and `chr_banks` are never read [INFO] [stdout] --> src/cartridge/types.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct ChrRom { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 24 | pub mirror: Mirror, [INFO] [stdout] 25 | pub mapper_id: u8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 26 | pub chr_banks: u8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name`, `prg_ram_size`, `tv_system1`, `tv_system2`, and `unused` are never read [INFO] [stdout] --> src/cartridge/types.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 53 | pub struct Header { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 54 | pub name: [u8; 4], [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub prg_ram_size: u8, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 60 | pub tv_system1: u8, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 61 | pub tv_system2: u8, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 62 | pub unused: [u8; 5], [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `ACC` is never constructed [INFO] [stdout] --> src/cpu/addres_mode.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum AddressMode { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 41 | ACC, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AddressMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `pc_back` is never used [INFO] [stdout] --> src/cpu/cpu6502.rs:128:12 [INFO] [stdout] | [INFO] [stdout] 122 | impl Cpu6502 { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 128 | pub fn pc_back(&mut self) -> u16 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `irq` is never used [INFO] [stdout] --> src/cpu/external_inputs.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 4 | impl Cpu6502 { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn irq(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `disassemble` is never used [INFO] [stdout] --> src/cpu/helpers.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl Cpu6502 { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn disassemble(&mut self, start: u16, stop: u16) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Instruct` is never constructed [INFO] [stdout] --> src/cpu/instruction.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Instruct(&'static str, Opcode, AddressMode, u8); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset` is never used [INFO] [stdout] --> src/mapper/mapper.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl Mapper { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn reset(&self) {} [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_type` is never used [INFO] [stdout] --> src/mapper/mapper.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 44 | impl Mapper { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn get_type(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `reset` and `get_reg` are never used [INFO] [stdout] --> src/pad.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl Pad { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn get_reg(&mut self) -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_screen` is never used [INFO] [stdout] --> src/ppu/output.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 4 | impl Ppu2C02 { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn get_screen<'a>(&'a self) -> &'a Frame { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `sprite_name_table` is never read [INFO] [stdout] --> src/ppu/ppu2C02.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Ppu2C02 { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 17 | pub sprite_name_table: [Frame; 2], // (não usado) visualização da nametables (tela final na memória) as duas são 256x240 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset` is never used [INFO] [stdout] --> src/ppu/ppu2C02.rs:133:12 [INFO] [stdout] | [INFO] [stdout] 74 | impl Ppu2C02 { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 133 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_unused`, `set_unused`, `get_sprite_overflow`, `get_sprite_zero_hit`, and `get_vertical_blank` are never used [INFO] [stdout] --> src/ppu/registers.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl Status { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 28 | // unused: 5 [INFO] [stdout] 29 | pub fn get_unused(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn set_unused(&mut self, data: u8) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn get_sprite_overflow(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn get_sprite_zero_hit(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn get_vertical_blank(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/ppu/registers.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 73 | impl Mask { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn set_grayscale(&mut self, data: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn set_render_background_left(&mut self, data: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn set_render_sprites_left(&mut self, data: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn set_render_background(&mut self, data: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn set_render_sprites(&mut self, data: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn get_enhance_red(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn set_enhance_red(&mut self, data: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn get_enhance_green(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | pub fn set_enhance_green(&mut self, data: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn get_enhance_blue(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn set_enhance_blue(&mut self, data: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/ppu/registers.rs:161:12 [INFO] [stdout] | [INFO] [stdout] 155 | impl PpuControl { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn set_nametable_x(&mut self, data: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn set_nametable_y(&mut self, data: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn set_increment_mode(&mut self, data: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub fn set_pattern_sprite(&mut self, data: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn set_pattern_background(&mut self, data: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | pub fn set_sprite_size(&mut self, data: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 211 | pub fn get_slave_mode(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | pub fn set_slave_mode(&mut self, data: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 224 | pub fn set_enable_nmi(&mut self, data: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_unused` and `set_unused` are never used [INFO] [stdout] --> src/ppu/registers.rs:288:12 [INFO] [stdout] | [INFO] [stdout] 238 | impl LoopyRegister { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 288 | pub fn get_unused(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 292 | pub fn set_unused(&mut self, data: u8) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PIXEL_SIZE` is never used [INFO] [stdout] --> src/video/frame.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const PIXEL_SIZE: f64 = 2.3; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_border` and `render` are never used [INFO] [stdout] --> src/video/frame.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl Frame { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn set_border(&mut self, color: Pixel) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn render(&self, x: usize, y: usize, pixel_size: f64, context: Context, gl: &mut G2d) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `white`, `red`, `green`, and `blue` are never used [INFO] [stdout] --> src/video/pixel.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 4 | impl Pixel { [INFO] [stdout] | ---------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 9 | pub fn white() -> Pixel { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | pub fn red() -> Pixel { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn green() -> Pixel { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn blue() -> Pixel { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_font_size` is never used [INFO] [stdout] --> src/video/utils.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl DrawText { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn with_font_size(font_size: usize, x: usize, y: usize, c: Context) -> DrawText { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/mapper/mappers/mapper_000.rs:13:26 [INFO] [stdout] | [INFO] [stdout] 13 | if addr >= 0x8000 && addr <= 0xFFFF { [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/mapper/mappers/mapper_000.rs:24:26 [INFO] [stdout] | [INFO] [stdout] 24 | 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/mappers/mapper_000.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | if addr >= 0 && addr <= 0x1FFF { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/mapper/mappers/mapper_000.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | if addr >= 0x0000 && addr <= 0x1FFF { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `ppu2C02` should have a snake case name [INFO] [stdout] --> src/ppu/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | mod ppu2C02; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `ppu2_c02` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.09s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v6.1.2 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "b8722d5cb7acaf949ee8389eb1fa6bfbe1356cc04bdc8b927e835b83d2585128", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b8722d5cb7acaf949ee8389eb1fa6bfbe1356cc04bdc8b927e835b83d2585128", kill_on_drop: false }` [INFO] [stdout] b8722d5cb7acaf949ee8389eb1fa6bfbe1356cc04bdc8b927e835b83d2585128 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] d2c541d339433625b7f461647272e5758d41ec8307a048b216d7c5868f7dd203 [INFO] running `Command { std: "docker" "start" "-a" "d2c541d339433625b7f461647272e5758d41ec8307a048b216d7c5868f7dd203", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `cpu::Cpu6502` [INFO] [stderr] --> src/bus.rs:5:13 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::{cpu::Cpu6502, pad::Pad}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `load_file::*` [INFO] [stderr] --> src/cartridge/mod.rs:5:9 [INFO] [stderr] | [INFO] [stderr] 5 | pub use load_file::*; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `addres_mode::AddressMode` [INFO] [stderr] --> src/cpu/mod.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 8 | pub use addres_mode::AddressMode; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `instruction::Instruction` [INFO] [stderr] --> src/cpu/mod.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 10 | pub use instruction::Instruction; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `opcode::Opcode` [INFO] [stderr] --> src/cpu/mod.rs:11:9 [INFO] [stderr] | [INFO] [stderr] 11 | pub use opcode::Opcode; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::video::Pixel` [INFO] [stderr] --> src/ppu/clock_helpers.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::video::Pixel; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/video/utils.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Cpu6502` and `Flags6502` [INFO] [stderr] --> src/video/utils.rs:6:18 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::cpu::{Cpu6502, Flags6502}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ImageBuffer`, `Rgb`, and `Rgba` [INFO] [stderr] --> src/video/video.rs:10:13 [INFO] [stderr] | [INFO] [stderr] 10 | use image::{ImageBuffer, Rgb, Rgba}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `utils::*` [INFO] [stderr] --> src/video/mod.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 10 | pub use utils::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `GAME_MODE` should have an upper camel case name [INFO] [stderr] --> src/main.rs:14:6 [INFO] [stderr] | [INFO] [stderr] 14 | enum GAME_MODE { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `GameMode` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cartridge/load_file.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | let mut buffer = slice::from_raw_parts_mut(&mut data as *mut T as *mut u8, num_bytes); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: this arithmetic operation will overflow [INFO] [stderr] --> src/cpu/external_inputs.rs:66:24 [INFO] [stderr] | [INFO] [stderr] 66 | self.pc = ((hi << 8) | lo) as u16; [INFO] [stderr] | ^^^^^^^^^ attempt to shift left by `8_i32`, which would overflow [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(arithmetic_overflow)]` on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `value` is never read [INFO] [stderr] --> src/cpu/helpers.rs:36:17 [INFO] [stderr] | [INFO] [stderr] 36 | let mut value: u8 = 0; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `lo` is never read [INFO] [stderr] --> src/cpu/helpers.rs:37:17 [INFO] [stderr] | [INFO] [stderr] 37 | let mut lo: u8 = 0; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `hi` is never read [INFO] [stderr] --> src/cpu/helpers.rs:38:17 [INFO] [stderr] | [INFO] [stderr] 38 | let mut hi: u8 = 0; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `value` is never read [INFO] [stderr] --> src/cpu/helpers.rs:123:17 [INFO] [stderr] | [INFO] [stderr] 123 | let mut value: u8 = 0; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `lo` is never read [INFO] [stderr] --> src/cpu/helpers.rs:124:17 [INFO] [stderr] | [INFO] [stderr] 124 | let mut lo: u8 = 0; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `hi` is never read [INFO] [stderr] --> src/cpu/helpers.rs:125:17 [INFO] [stderr] | [INFO] [stderr] 125 | let mut hi: u8 = 0; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `line_addr` is never read [INFO] [stderr] --> src/cpu/helpers.rs:129:17 [INFO] [stderr] | [INFO] [stderr] 129 | let mut line_addr: u16 = 0; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `hi` is never read [INFO] [stderr] --> src/cpu/helpers.rs:153:21 [INFO] [stderr] | [INFO] [stderr] 153 | hi = 0x00; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `hi` is never read [INFO] [stderr] --> src/cpu/helpers.rs:159:21 [INFO] [stderr] | [INFO] [stderr] 159 | hi = 0x00; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `hi` is never read [INFO] [stderr] --> src/cpu/helpers.rs:165:21 [INFO] [stderr] | [INFO] [stderr] 165 | hi = 0x00; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `hi` is never read [INFO] [stderr] --> src/cpu/helpers.rs:171:21 [INFO] [stderr] | [INFO] [stderr] 171 | hi = 0x00; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `hi` is never read [INFO] [stderr] --> src/cpu/helpers.rs:177:21 [INFO] [stderr] | [INFO] [stderr] 177 | hi = 0x00; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data` [INFO] [stderr] --> src/mapper/mappers/mapper_000.rs:23:54 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn cpu_map_write(mapper: &mut Mapper, addr: u16, data: u8) -> (bool, u32) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mapper` [INFO] [stderr] --> src/mapper/mappers/mapper_000.rs:34:21 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn ppu_map_read(mapper: &mut Mapper, addr: u16) -> (bool, u32) { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_mapper` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `sprite_pattern_bits_lo` is never read [INFO] [stderr] --> src/ppu/clock.rs:329:29 [INFO] [stderr] | [INFO] [stderr] 329 | let mut sprite_pattern_bits_lo: u8 = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `sprite_pattern_bits_hi` is never read [INFO] [stderr] --> src/ppu/clock.rs:330:29 [INFO] [stderr] | [INFO] [stderr] 330 | let mut sprite_pattern_bits_hi: u8 = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `sprite_pattern_addr_lo` is never read [INFO] [stderr] --> src/ppu/clock.rs:331:29 [INFO] [stderr] | [INFO] [stderr] 331 | let mut sprite_pattern_addr_lo: u16 = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `sprite_pattern_addr_hi` is never read [INFO] [stderr] --> src/ppu/clock.rs:332:29 [INFO] [stderr] | [INFO] [stderr] 332 | let mut sprite_pattern_addr_hi: u16 = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `window` [INFO] [stderr] --> src/video/video.rs:18:28 [INFO] [stderr] | [INFO] [stderr] 18 | fn on_start(&mut self, window: &mut PistonWindow, texture_context: &mut G2dTextureContext) {} [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `texture_context` [INFO] [stderr] --> src/video/video.rs:18:55 [INFO] [stderr] | [INFO] [stderr] 18 | fn on_start(&mut self, window: &mut PistonWindow, texture_context: &mut G2dTextureContext) {} [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_texture_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `texture_context` [INFO] [stderr] --> src/video/video.rs:20:35 [INFO] [stderr] | [INFO] [stderr] 20 | fn update_textures(&mut self, texture_context: &mut G2dTextureContext) {} [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_texture_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/video/video.rs:26:35 [INFO] [stderr] | [INFO] [stderr] 26 | fn on_buttom_press(&mut self, key: Key) {} [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/video/video.rs:28:37 [INFO] [stderr] | [INFO] [stderr] 28 | fn on_buttom_release(&mut self, key: Key) {} [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_key` [INFO] [stderr] [INFO] [stderr] warning: field `version` is never read [INFO] [stderr] --> src/bus.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 42 | pub struct Bus { [INFO] [stderr] | --- field in this struct [INFO] [stderr] 43 | pub version: &'static str, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: function `print_buffer_hex` is never used [INFO] [stderr] --> src/cartridge/load_file.rs:74:8 [INFO] [stderr] | [INFO] [stderr] 74 | pub fn print_buffer_hex(buffer: &Vec, size: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `reset` is never used [INFO] [stderr] --> src/cartridge/memory_access.rs:29:12 [INFO] [stderr] | [INFO] [stderr] 3 | impl PrgRom { [INFO] [stderr] | ----------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 29 | pub fn reset(&self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `reset` is never used [INFO] [stderr] --> src/cartridge/memory_access.rs:57:12 [INFO] [stderr] | [INFO] [stderr] 34 | impl ChrRom { [INFO] [stderr] | ----------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 57 | pub fn reset(&self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `OneScreenLo` and `OneScreenHi` are never constructed [INFO] [stderr] --> src/cartridge/types.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 4 | pub enum Mirror { [INFO] [stderr] | ------ variants in this enum [INFO] [stderr] ... [INFO] [stderr] 7 | OneScreenLo, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 8 | OneScreenHi, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Mirror` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `mirror`, `mapper_id`, and `prg_banks` are never read [INFO] [stderr] --> src/cartridge/types.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 13 | pub struct PrgRom { [INFO] [stderr] | ------ fields in this struct [INFO] [stderr] 14 | pub mirror: Mirror, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 15 | pub mapper_id: u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 16 | pub prg_memory: Vec, [INFO] [stderr] 17 | pub prg_banks: u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `mapper_id` and `chr_banks` are never read [INFO] [stderr] --> src/cartridge/types.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 23 | pub struct ChrRom { [INFO] [stderr] | ------ fields in this struct [INFO] [stderr] 24 | pub mirror: Mirror, [INFO] [stderr] 25 | pub mapper_id: u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 26 | pub chr_banks: u8, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `name`, `prg_ram_size`, `tv_system1`, `tv_system2`, and `unused` are never read [INFO] [stderr] --> src/cartridge/types.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 53 | pub struct Header { [INFO] [stderr] | ------ fields in this struct [INFO] [stderr] 54 | pub name: [u8; 4], [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 59 | pub prg_ram_size: u8, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 60 | pub tv_system1: u8, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 61 | pub tv_system2: u8, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 62 | pub unused: [u8; 5], [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Header` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: variant `ACC` is never constructed [INFO] [stderr] --> src/cpu/addres_mode.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 15 | pub enum AddressMode { [INFO] [stderr] | ----------- variant in this enum [INFO] [stderr] ... [INFO] [stderr] 41 | ACC, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `AddressMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `pc_back` is never used [INFO] [stderr] --> src/cpu/cpu6502.rs:128:12 [INFO] [stderr] | [INFO] [stderr] 122 | impl Cpu6502 { [INFO] [stderr] | ------------ method in this implementation [INFO] [stderr] ... [INFO] [stderr] 128 | pub fn pc_back(&mut self) -> u16 { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `irq` is never used [INFO] [stderr] --> src/cpu/external_inputs.rs:47:12 [INFO] [stderr] | [INFO] [stderr] 4 | impl Cpu6502 { [INFO] [stderr] | ------------ method in this implementation [INFO] [stderr] ... [INFO] [stderr] 47 | pub fn irq(&mut self) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: method `disassemble` is never used [INFO] [stderr] --> src/cpu/helpers.rs:121:12 [INFO] [stderr] | [INFO] [stderr] 29 | impl Cpu6502 { [INFO] [stderr] | ------------ method in this implementation [INFO] [stderr] ... [INFO] [stderr] 121 | pub fn disassemble(&mut self, start: u16, stop: u16) -> HashMap { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Instruct` is never constructed [INFO] [stderr] --> src/cpu/instruction.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | pub struct Instruct(&'static str, Opcode, AddressMode, u8); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `reset` is never used [INFO] [stderr] --> src/mapper/mapper.rs:41:12 [INFO] [stderr] | [INFO] [stderr] 15 | impl Mapper { [INFO] [stderr] | ----------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 41 | pub fn reset(&self) {} [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `get_type` is never used [INFO] [stderr] --> src/mapper/mapper.rs:53:12 [INFO] [stderr] | [INFO] [stderr] 44 | impl Mapper { [INFO] [stderr] | ----------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 53 | pub fn get_type(&self) -> &'static str { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `reset` and `get_reg` are never used [INFO] [stderr] --> src/pad.rs:44:12 [INFO] [stderr] | [INFO] [stderr] 18 | impl Pad { [INFO] [stderr] | -------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 44 | pub fn reset(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 74 | pub fn get_reg(&mut self) -> u8 { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `get_screen` is never used [INFO] [stderr] --> src/ppu/output.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 4 | impl Ppu2C02 { [INFO] [stderr] | ------------ method in this implementation [INFO] [stderr] ... [INFO] [stderr] 20 | pub fn get_screen<'a>(&'a self) -> &'a Frame { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `sprite_name_table` is never read [INFO] [stderr] --> src/ppu/ppu2C02.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct Ppu2C02 { [INFO] [stderr] | ------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 17 | pub sprite_name_table: [Frame; 2], // (não usado) visualização da nametables (tela final na memória) as duas são 256x240 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `reset` is never used [INFO] [stderr] --> src/ppu/ppu2C02.rs:133:12 [INFO] [stderr] | [INFO] [stderr] 74 | impl Ppu2C02 { [INFO] [stderr] | ------------ method in this implementation [INFO] [stderr] ... [INFO] [stderr] 133 | pub fn reset(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `get_unused`, `set_unused`, `get_sprite_overflow`, `get_sprite_zero_hit`, and `get_vertical_blank` are never used [INFO] [stderr] --> src/ppu/registers.rs:29:12 [INFO] [stderr] | [INFO] [stderr] 27 | impl Status { [INFO] [stderr] | ----------- methods in this implementation [INFO] [stderr] 28 | // unused: 5 [INFO] [stderr] 29 | pub fn get_unused(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 33 | pub fn set_unused(&mut self, data: u8) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 38 | pub fn get_sprite_overflow(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 47 | pub fn get_sprite_zero_hit(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 56 | pub fn get_vertical_blank(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple methods are never used [INFO] [stderr] --> src/ppu/registers.rs:79:12 [INFO] [stderr] | [INFO] [stderr] 73 | impl Mask { [INFO] [stderr] | --------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 79 | pub fn set_grayscale(&mut self, data: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 88 | pub fn set_render_background_left(&mut self, data: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 97 | pub fn set_render_sprites_left(&mut self, data: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 106 | pub fn set_render_background(&mut self, data: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 115 | pub fn set_render_sprites(&mut self, data: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 120 | pub fn get_enhance_red(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 124 | pub fn set_enhance_red(&mut self, data: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 129 | pub fn get_enhance_green(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 133 | pub fn set_enhance_green(&mut self, data: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 138 | pub fn get_enhance_blue(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 142 | pub fn set_enhance_blue(&mut self, data: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple methods are never used [INFO] [stderr] --> src/ppu/registers.rs:161:12 [INFO] [stderr] | [INFO] [stderr] 155 | impl PpuControl { [INFO] [stderr] | --------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 161 | pub fn set_nametable_x(&mut self, data: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 170 | pub fn set_nametable_y(&mut self, data: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 179 | pub fn set_increment_mode(&mut self, data: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 188 | pub fn set_pattern_sprite(&mut self, data: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 197 | pub fn set_pattern_background(&mut self, data: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 206 | pub fn set_sprite_size(&mut self, data: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 211 | pub fn get_slave_mode(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 215 | pub fn set_slave_mode(&mut self, data: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 224 | pub fn set_enable_nmi(&mut self, data: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `get_unused` and `set_unused` are never used [INFO] [stderr] --> src/ppu/registers.rs:288:12 [INFO] [stderr] | [INFO] [stderr] 238 | impl LoopyRegister { [INFO] [stderr] | ------------------ methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 288 | pub fn get_unused(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 292 | pub fn set_unused(&mut self, data: u8) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PIXEL_SIZE` is never used [INFO] [stderr] --> src/video/frame.rs:12:7 [INFO] [stderr] | [INFO] [stderr] 12 | const PIXEL_SIZE: f64 = 2.3; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `set_border` and `render` are never used [INFO] [stderr] --> src/video/frame.rs:41:12 [INFO] [stderr] | [INFO] [stderr] 23 | impl Frame { [INFO] [stderr] | ---------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 41 | pub fn set_border(&mut self, color: Pixel) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 53 | pub fn render(&self, x: usize, y: usize, pixel_size: f64, context: Context, gl: &mut G2d) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated functions `white`, `red`, `green`, and `blue` are never used [INFO] [stderr] --> src/video/pixel.rs:9:12 [INFO] [stderr] | [INFO] [stderr] 4 | impl Pixel { [INFO] [stderr] | ---------- associated functions in this implementation [INFO] [stderr] ... [INFO] [stderr] 9 | pub fn white() -> Pixel { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 13 | pub fn red() -> Pixel { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 17 | pub fn green() -> Pixel { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 21 | pub fn blue() -> Pixel { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `with_font_size` is never used [INFO] [stderr] --> src/video/utils.rs:48:12 [INFO] [stderr] | [INFO] [stderr] 36 | impl DrawText { [INFO] [stderr] | ------------- associated function in this implementation [INFO] [stderr] ... [INFO] [stderr] 48 | pub fn with_font_size(font_size: usize, x: usize, y: usize, c: Context) -> DrawText { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/mapper/mappers/mapper_000.rs:13:26 [INFO] [stderr] | [INFO] [stderr] 13 | if addr >= 0x8000 && addr <= 0xFFFF { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/mapper/mappers/mapper_000.rs:24:26 [INFO] [stderr] | [INFO] [stderr] 24 | if addr >= 0x8000 && addr <= 0xFFFF { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/mapper/mappers/mapper_000.rs:38:8 [INFO] [stderr] | [INFO] [stderr] 38 | if addr >= 0 && addr <= 0x1FFF { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/mapper/mappers/mapper_000.rs:46:8 [INFO] [stderr] | [INFO] [stderr] 46 | if addr >= 0x0000 && addr <= 0x1FFF { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: module `ppu2C02` should have a snake case name [INFO] [stderr] --> src/ppu/mod.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | mod ppu2C02; [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `ppu2_c02` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `rust-nes-emulator` (bin "rust-nes-emulator" test) generated 68 warnings (run `cargo fix --bin "rust-nes-emulator" --tests` to apply 11 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.23s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v6.1.2 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rust_nes_emulator-d7e23a04ce753780) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "d2c541d339433625b7f461647272e5758d41ec8307a048b216d7c5868f7dd203", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d2c541d339433625b7f461647272e5758d41ec8307a048b216d7c5868f7dd203", kill_on_drop: false }` [INFO] [stdout] d2c541d339433625b7f461647272e5758d41ec8307a048b216d7c5868f7dd203