[INFO] updating cached repository https://github.com/JDRobotter/rgg [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] c3ff6e974912e77d0952dfa7f26a9aa3bb7c81a7 [INFO] checking JDRobotter/rgg against try#d7b51666469c792a8a3f40849607739bae1e705e for pr-71665 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJDRobotter%2Frgg" "/workspace/builds/worker-7/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/JDRobotter/rgg on toolchain d7b51666469c792a8a3f40849607739bae1e705e [INFO] running `"/workspace/cargo-home/bin/cargo" "+d7b51666469c792a8a3f40849607739bae1e705e" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/JDRobotter/rgg [INFO] finished tweaking git repo https://github.com/JDRobotter/rgg [INFO] tweaked toml for git repo https://github.com/JDRobotter/rgg written to /workspace/builds/worker-7/source/Cargo.toml [INFO] crate git repo https://github.com/JDRobotter/rgg already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+d7b51666469c792a8a3f40849607739bae1e705e" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+d7b51666469c792a8a3f40849607739bae1e705e" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] dbf2a6c64dd732e768527248bfac86355de36734b740065de2837e24e02a3f76 [INFO] running `"docker" "start" "-a" "dbf2a6c64dd732e768527248bfac86355de36734b740065de2837e24e02a3f76"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling libc v0.2.67 [INFO] [stderr] Compiling autocfg v1.0.0 [INFO] [stderr] Compiling libm v0.2.1 [INFO] [stderr] Compiling serde v1.0.104 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling pkg-config v0.3.17 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Checking arrayvec v0.5.1 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Compiling syn v1.0.16 [INFO] [stderr] Checking linked-hash-map v0.5.2 [INFO] [stderr] Compiling nix v0.14.1 [INFO] [stderr] Compiling getrandom v0.1.14 [INFO] [stderr] Compiling arrayvec v0.4.12 [INFO] [stderr] Compiling version_check v0.9.1 [INFO] [stderr] Checking nodrop v0.1.14 [INFO] [stderr] Checking downcast-rs v1.1.1 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Compiling rustc-demangle v0.1.16 [INFO] [stderr] Compiling pulldown-cmark v0.2.0 [INFO] [stderr] Checking xdg v2.2.0 [INFO] [stderr] Compiling itoa v0.4.5 [INFO] [stderr] Checking ppv-lite86 v0.2.6 [INFO] [stderr] Compiling typenum v1.11.2 [INFO] [stderr] Compiling remove_dir_all v0.5.2 [INFO] [stderr] Compiling nix v0.15.0 [INFO] [stderr] Compiling bytecount v0.4.0 [INFO] [stderr] Checking mint v0.5.4 [INFO] [stderr] Checking xi-unicode v0.2.0 [INFO] [stderr] Compiling glob v0.2.11 [INFO] [stderr] Checking rawpointer v0.2.1 [INFO] [stderr] Checking vec_map v0.8.1 [INFO] [stderr] Checking uuid v0.8.1 [INFO] [stderr] Checking podio v0.1.6 [INFO] [stderr] Compiling cpal v0.11.0 [INFO] [stderr] Checking fnv v1.0.6 [INFO] [stderr] Checking hound v3.4.0 [INFO] [stderr] Compiling cgmath v0.17.0 [INFO] [stderr] Checking claxon v0.4.2 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Compiling libloading v0.5.2 [INFO] [stderr] Compiling backtrace-sys v0.1.34 [INFO] [stderr] Compiling minimp3-sys v0.3.2 [INFO] [stderr] Compiling bzip2-sys v0.1.8+1.0.8 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Checking lock_api v0.3.3 [INFO] [stderr] Checking walkdir v2.3.1 [INFO] [stderr] Checking matrixmultiply v0.2.3 [INFO] [stderr] Compiling num-traits v0.2.11 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling num-integer v0.1.42 [INFO] [stderr] Compiling num-complex v0.2.4 [INFO] [stderr] Compiling num-rational v0.2.3 [INFO] [stderr] Compiling num-iter v0.1.40 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling error-chain v0.12.2 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Compiling proc-macro2 v1.0.9 [INFO] [stderr] Compiling ryu v1.0.2 [INFO] [stderr] Checking crc32fast v1.2.0 [INFO] [stderr] Compiling x11-dl v2.18.5 [INFO] [stderr] Compiling alsa-sys v0.1.2 [INFO] [stderr] Compiling libudev-sys v0.1.4 [INFO] [stderr] Checking draw_state v0.8.0 [INFO] [stderr] Checking smallvec v0.6.13 [INFO] [stderr] Compiling gl_generator v0.13.1 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Compiling wayland-scanner v0.21.13 [INFO] [stderr] Checking stb_truetype v0.3.1 [INFO] [stderr] Checking ogg v0.7.0 [INFO] [stderr] Checking deflate v0.7.20 [INFO] [stderr] Checking jpeg-decoder v0.1.18 [INFO] [stderr] Compiling quote v1.0.3 [INFO] [stderr] Checking dlib v0.4.1 [INFO] [stderr] Checking gfx_core v0.9.2 [INFO] [stderr] Checking lewton v0.9.4 [INFO] [stderr] Checking wayland-sys v0.21.13 [INFO] [stderr] Checking png v0.15.3 [INFO] [stderr] Checking generic-array v0.12.3 [INFO] [stderr] Checking num_cpus v1.12.0 [INFO] [stderr] Checking memmap v0.7.0 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking raw-window-handle v0.3.3 [INFO] [stderr] Checking shared_library v0.1.9 [INFO] [stderr] Checking slice-deque v0.3.0 [INFO] [stderr] Checking dirs-sys v0.3.4 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling glutin_glx_sys v0.1.6 [INFO] [stderr] Compiling glutin_egl_sys v0.1.4 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Compiling gfx_gl v0.6.1 [INFO] [stderr] Checking osmesa-sys v0.1.2 [INFO] [stderr] Checking bzip2 v0.3.3 [INFO] [stderr] Checking directories v2.0.2 [INFO] [stderr] Checking approx v0.3.2 [INFO] [stderr] Checking ordered-float v1.0.2 [INFO] [stderr] Checking line_drawing v0.7.0 [INFO] [stderr] Checking num-traits v0.1.43 [INFO] [stderr] Compiling backtrace v0.3.45 [INFO] [stderr] Checking clap v2.33.0 [INFO] [stderr] Checking cpal v0.8.2 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking minimp3 v0.3.5 [INFO] [stderr] Checking zip v0.5.5 [INFO] [stderr] Checking sid v0.5.2 [INFO] [stderr] Compiling tempdir v0.3.7 [INFO] [stderr] Compiling wayland-client v0.21.13 [INFO] [stderr] Compiling wayland-protocols v0.21.13 [INFO] [stderr] Checking alga v0.9.3 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking twox-hash v1.5.0 [INFO] [stderr] Checking wayland-commons v0.21.13 [INFO] [stderr] Checking toml v0.5.6 [INFO] [stderr] Checking nalgebra v0.18.1 [INFO] [stderr] Checking gilrs-core v0.2.5 [INFO] [stderr] Compiling euclid_macros v0.1.0 [INFO] [stderr] Compiling num-derive v0.2.5 [INFO] [stderr] Compiling smart-default v0.5.2 [INFO] [stderr] Checking gilrs v0.7.4 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling serde_json v1.0.48 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling serde_derive v1.0.104 [INFO] [stderr] Compiling thiserror-impl v1.0.14 [INFO] [stderr] Compiling memoffset v0.5.3 [INFO] [stderr] Compiling parking_lot_core v0.6.2 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Checking euclid v0.19.9 [INFO] [stderr] Checking crossbeam-deque v0.7.3 [INFO] [stderr] Checking rusttype v0.8.2 [INFO] [stderr] Checking rusttype v0.7.9 [INFO] [stderr] Checking glyph_brush_layout v0.1.9 [INFO] [stderr] Checking tiff v0.3.1 [INFO] [stderr] Checking lyon_geom v0.12.7 [INFO] [stderr] Checking andrew v0.2.1 [INFO] [stderr] Checking thiserror v1.0.14 [INFO] [stderr] Checking glyph_brush v0.6.3 [INFO] [stderr] Checking image v0.22.5 [INFO] [stderr] Checking glyph_brush v0.5.4 [INFO] [stderr] Checking gfx_device_gl v0.16.2 [INFO] [stderr] Checking gfx v0.18.2 [INFO] [stderr] Checking lyon_path v0.13.2 [INFO] [stderr] Checking lyon_algorithms v0.13.4 [INFO] [stderr] Checking lyon_tessellation v0.13.5 [INFO] [stderr] Checking smithay-client-toolkit v0.4.6 [INFO] [stderr] Checking lyon v0.13.5 [INFO] [stderr] Checking winit v0.19.5 [INFO] [stderr] Checking glutin v0.20.1 [INFO] [stderr] Checking gfx_window_glutin v0.30.0 [INFO] [stderr] Compiling cargo_metadata v0.6.4 [INFO] [stderr] Compiling skeptic v0.13.4 [INFO] [stderr] Compiling ggez v0.5.1 [INFO] [stderr] Checking rodio v0.9.0 [INFO] [stderr] Checking rgg v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused imports: `Context`, `graphics` [INFO] [stderr] --> src/main.rs:4:12 [INFO] [stderr] | [INFO] [stderr] 4 | use ggez::{graphics, Context, ContextBuilder, GameResult}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `EventHandler` [INFO] [stderr] --> src/main.rs:6:25 [INFO] [stderr] | [INFO] [stderr] 6 | use ggez::event::{self, EventHandler}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/main.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops` [INFO] [stderr] --> src/cpu/z80.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use std::ops; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::convert::From` [INFO] [stderr] --> src/cpu/z80.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::convert::From; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Duration`, `Instant` [INFO] [stderr] --> src/cpu/z80.rs:19:17 [INFO] [stderr] | [INFO] [stderr] 19 | use std::time::{Duration, Instant}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/cpu/z80.rs:658:29 [INFO] [stderr] | [INFO] [stderr] 658 | carry_out = (a >= 0xffff - b); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/cpu/z80.rs:663:29 [INFO] [stderr] | [INFO] [stderr] 663 | carry_out = (a > 0xffff - b); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/cpu/z80.rs:699:29 [INFO] [stderr] | [INFO] [stderr] 699 | carry_out = (a >= 0xff - b); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/cpu/z80.rs:704:29 [INFO] [stderr] | [INFO] [stderr] 704 | carry_out = (a > 0xff - b); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/cpu/z80.rs:1627:25 [INFO] [stderr] | [INFO] [stderr] 1627 | byte |= (1< src/cpu/z80.rs:1954:23 [INFO] [stderr] | [INFO] [stderr] 1954 | if(self.registers.BC() == 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/cpu/z80.rs:1973:23 [INFO] [stderr] | [INFO] [stderr] 1973 | if(self.registers.BC() == 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/cpu/z80.rs:2175:23 [INFO] [stderr] | [INFO] [stderr] 2175 | if(self.registers.b == 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stderr] --> src/cpu/z80_decoder.rs:218:22 [INFO] [stderr] | [INFO] [stderr] 218 | match(v) { [INFO] [stderr] | ^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::cpu::Z80` [INFO] [stderr] --> src/system/bus.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::cpu::Z80; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::rc::Rc` [INFO] [stderr] --> src/system/bus.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::rc::Rc; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `RefCell`, `RefMut` [INFO] [stderr] --> src/system/bus.rs:10:17 [INFO] [stderr] | [INFO] [stderr] 10 | use std::cell::{RefCell,RefMut}; [INFO] [stderr] | ^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::system::VDP` [INFO] [stderr] --> src/system/gamegear.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::system::VDP; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::prelude::*` [INFO] [stderr] --> src/system/gamegear.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::io::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/system/gamegear.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `SIZE_8x8` should have an upper camel case name [INFO] [stderr] --> src/system/vdp.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 72 | SIZE_8x8, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper camel case: `Size8x8` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `SIZE_8x16` should have an upper camel case name [INFO] [stderr] --> src/system/vdp.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | SIZE_8x16, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `Size8x16` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::option` [INFO] [stderr] --> src/system/psg.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::option; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/system/psg.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Scale` [INFO] [stderr] --> src/gui/window.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | use ggez::graphics::{self, DrawParam, Scale, Color}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ggez::input::keyboard` [INFO] [stderr] --> src/gui/window.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use ggez::input::keyboard; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ggez::timer` [INFO] [stderr] --> src/gui/window.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use ggez::timer; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::BitAnd` [INFO] [stderr] --> src/bits/mod.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::ops::BitAnd; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp::PartialEq` [INFO] [stderr] --> src/bits/mod.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::cmp::PartialEq; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `DeviceTrait` [INFO] [stderr] --> src/audio/mod.rs:2:20 [INFO] [stderr] | [INFO] [stderr] 2 | use cpal::traits::{DeviceTrait,HostTrait,EventLoopTrait}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Context`, `graphics` [INFO] [stderr] --> src/main.rs:4:12 [INFO] [stderr] | [INFO] [stderr] 4 | use ggez::{graphics, Context, ContextBuilder, GameResult}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `EventHandler` [INFO] [stderr] --> src/main.rs:6:25 [INFO] [stderr] | [INFO] [stderr] 6 | use ggez::event::{self, EventHandler}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/main.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops` [INFO] [stderr] --> src/cpu/z80.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use std::ops; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::convert::From` [INFO] [stderr] --> src/cpu/z80.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::convert::From; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Duration`, `Instant` [INFO] [stderr] --> src/cpu/z80.rs:19:17 [INFO] [stderr] | [INFO] [stderr] 19 | use std::time::{Duration, Instant}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/cpu/z80.rs:658:29 [INFO] [stderr] | [INFO] [stderr] 658 | carry_out = (a >= 0xffff - b); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/cpu/z80.rs:663:29 [INFO] [stderr] | [INFO] [stderr] 663 | carry_out = (a > 0xffff - b); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/cpu/z80.rs:699:29 [INFO] [stderr] | [INFO] [stderr] 699 | carry_out = (a >= 0xff - b); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/cpu/z80.rs:704:29 [INFO] [stderr] | [INFO] [stderr] 704 | carry_out = (a > 0xff - b); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/cpu/z80.rs:1627:25 [INFO] [stderr] | [INFO] [stderr] 1627 | byte |= (1< src/cpu/z80.rs:1954:23 [INFO] [stderr] | [INFO] [stderr] 1954 | if(self.registers.BC() == 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/cpu/z80.rs:1973:23 [INFO] [stderr] | [INFO] [stderr] 1973 | if(self.registers.BC() == 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/cpu/z80.rs:2175:23 [INFO] [stderr] | [INFO] [stderr] 2175 | if(self.registers.b == 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stderr] --> src/cpu/z80_decoder.rs:218:22 [INFO] [stderr] | [INFO] [stderr] 218 | match(v) { [INFO] [stderr] | ^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::cpu::Z80` [INFO] [stderr] --> src/system/bus.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::cpu::Z80; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::rc::Rc` [INFO] [stderr] --> src/system/bus.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::rc::Rc; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `RefCell`, `RefMut` [INFO] [stderr] --> src/system/bus.rs:10:17 [INFO] [stderr] | [INFO] [stderr] 10 | use std::cell::{RefCell,RefMut}; [INFO] [stderr] | ^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::system::VDP` [INFO] [stderr] --> src/system/gamegear.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::system::VDP; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::prelude::*` [INFO] [stderr] --> src/system/gamegear.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::io::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/system/gamegear.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `SIZE_8x8` should have an upper camel case name [INFO] [stderr] --> src/system/vdp.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 72 | SIZE_8x8, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper camel case: `Size8x8` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `SIZE_8x16` should have an upper camel case name [INFO] [stderr] --> src/system/vdp.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | SIZE_8x16, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `Size8x16` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::option` [INFO] [stderr] --> src/system/psg.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::option; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread` [INFO] [stderr] --> src/system/psg.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::thread; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Scale` [INFO] [stderr] --> src/gui/window.rs:4:39 [INFO] [stderr] | [INFO] [stderr] 4 | use ggez::graphics::{self, DrawParam, Scale, Color}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ggez::input::keyboard` [INFO] [stderr] --> src/gui/window.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use ggez::input::keyboard; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ggez::timer` [INFO] [stderr] --> src/gui/window.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use ggez::timer; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::BitAnd` [INFO] [stderr] --> src/bits/mod.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::ops::BitAnd; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp::PartialEq` [INFO] [stderr] --> src/bits/mod.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::cmp::PartialEq; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `DeviceTrait` [INFO] [stderr] --> src/audio/mod.rs:2:20 [INFO] [stderr] | [INFO] [stderr] 2 | use cpal::traits::{DeviceTrait,HostTrait,EventLoopTrait}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/cpu/z80.rs:2186:13 [INFO] [stderr] | [INFO] [stderr] 2186 | _ => { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/system/psg.rs:180:17 [INFO] [stderr] | [INFO] [stderr] 180 | 0x01 => { self.audio_synth.set_noise_frequency(false, PSG::frequency_from_divider(32)) }, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/system/psg.rs:181:17 [INFO] [stderr] | [INFO] [stderr] 181 | 0x02 => { self.audio_synth.set_noise_frequency(false, PSG::frequency_from_divider(64)) }, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/system/psg.rs:183:17 [INFO] [stderr] | [INFO] [stderr] 183 | 0x03 => { self.audio_synth.set_noise_frequency(true, 0.0) }, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `carry_out` is never read [INFO] [stderr] --> src/cpu/z80.rs:648:13 [INFO] [stderr] | [INFO] [stderr] 648 | let mut carry_out = false; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `carry_out` is never read [INFO] [stderr] --> src/cpu/z80.rs:691:13 [INFO] [stderr] | [INFO] [stderr] 691 | let mut carry_out = false; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `lhs` [INFO] [stderr] --> src/cpu/z80.rs:1225:21 [INFO] [stderr] | [INFO] [stderr] 1225 | let lhs = match oplhs { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_lhs` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `lhs` [INFO] [stderr] --> src/cpu/z80.rs:1271:21 [INFO] [stderr] | [INFO] [stderr] 1271 | let lhs = match oplhs { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_lhs` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `oplhs` [INFO] [stderr] --> src/cpu/z80.rs:1286:28 [INFO] [stderr] | [INFO] [stderr] 1286 | ZI::Sub16Carry(oplhs, oprhs) => { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_oplhs` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `flags` [INFO] [stderr] --> src/system/bus.rs:270:17 [INFO] [stderr] | [INFO] [stderr] 270 | let flags = BankControlRegister::from_bits_truncate(data); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/system/psg.rs:178:17 [INFO] [stderr] | [INFO] [stderr] 178 | let f = match self.latched_noise_generator_register.divider { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `id` [INFO] [stderr] --> src/gui/window.rs:58:78 [INFO] [stderr] | [INFO] [stderr] 58 | fn gamepad_button_down_event(&mut self, _ctx: &mut Context, btn: Button, id: GamepadId) { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `id` [INFO] [stderr] --> src/gui/window.rs:70:76 [INFO] [stderr] | [INFO] [stderr] 70 | fn gamepad_button_up_event(&mut self, _ctx: &mut Context, btn: Button, id: GamepadId) { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `km` [INFO] [stderr] --> src/gui/window.rs:83:65 [INFO] [stderr] | [INFO] [stderr] 83 | fn key_up_event(&mut self, _ctx: &mut Context, kc: KeyCode, km: KeyMods) { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_km` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `km` [INFO] [stderr] --> src/gui/window.rs:96:67 [INFO] [stderr] | [INFO] [stderr] 96 | fn key_down_event(&mut self, _ctx: &mut Context, kc: KeyCode, km: KeyMods, repeat:bool) { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_km` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `repeat` [INFO] [stderr] --> src/gui/window.rs:96:80 [INFO] [stderr] | [INFO] [stderr] 96 | fn key_down_event(&mut self, _ctx: &mut Context, kc: KeyCode, km: KeyMods, repeat:bool) { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_repeat` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/gui/window.rs:113:26 [INFO] [stderr] | [INFO] [stderr] 113 | fn update(&mut self, ctx: &mut Context) -> GameResult { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `text` [INFO] [stderr] --> src/gui/window.rs:191:21 [INFO] [stderr] | [INFO] [stderr] 191 | let mut text = graphics::Text::new( [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_text` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `xy` [INFO] [stderr] --> src/gui/window.rs:196:21 [INFO] [stderr] | [INFO] [stderr] 196 | let xy = cgmath::Point2::new(21.0 + 2.0*(x as f32)*8.0, [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_xy` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sample` [INFO] [stderr] --> src/audio/mod.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | let mut sample = 0.0f64; [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | let mut gg = system::GameGear::new(rom); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/system/gamegear.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut cpu = Z80::new(rom); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/gui/window.rs:191:21 [INFO] [stderr] | [INFO] [stderr] 191 | let mut text = graphics::Text::new( [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/audio/mod.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | let mut sample = 0.0f64; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/audio/mod.rs:274:13 [INFO] [stderr] | [INFO] [stderr] 274 | let mut asp = self.parameters.lock().unwrap(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/audio/mod.rs:284:13 [INFO] [stderr] | [INFO] [stderr] 284 | let mut asp = self.parameters.lock().unwrap(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/audio/mod.rs:294:13 [INFO] [stderr] | [INFO] [stderr] 294 | let mut asp = self.parameters.lock().unwrap(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/audio/mod.rs:304:13 [INFO] [stderr] | [INFO] [stderr] 304 | let mut asp = self.parameters.lock().unwrap(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/audio/mod.rs:314:13 [INFO] [stderr] | [INFO] [stderr] 314 | let mut asp = self.parameters.lock().unwrap(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/cpu/z80.rs:2186:13 [INFO] [stderr] | [INFO] [stderr] 2186 | _ => { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/system/psg.rs:180:17 [INFO] [stderr] | [INFO] [stderr] 180 | 0x01 => { self.audio_synth.set_noise_frequency(false, PSG::frequency_from_divider(32)) }, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/system/psg.rs:181:17 [INFO] [stderr] | [INFO] [stderr] 181 | 0x02 => { self.audio_synth.set_noise_frequency(false, PSG::frequency_from_divider(64)) }, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/system/psg.rs:183:17 [INFO] [stderr] | [INFO] [stderr] 183 | 0x03 => { self.audio_synth.set_noise_frequency(true, 0.0) }, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `carry_out` is never read [INFO] [stderr] --> src/cpu/z80.rs:648:13 [INFO] [stderr] | [INFO] [stderr] 648 | let mut carry_out = false; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `carry_out` is never read [INFO] [stderr] --> src/cpu/z80.rs:691:13 [INFO] [stderr] | [INFO] [stderr] 691 | let mut carry_out = false; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `lhs` [INFO] [stderr] --> src/cpu/z80.rs:1225:21 [INFO] [stderr] | [INFO] [stderr] 1225 | let lhs = match oplhs { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_lhs` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `lhs` [INFO] [stderr] --> src/cpu/z80.rs:1271:21 [INFO] [stderr] | [INFO] [stderr] 1271 | let lhs = match oplhs { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_lhs` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `oplhs` [INFO] [stderr] --> src/cpu/z80.rs:1286:28 [INFO] [stderr] | [INFO] [stderr] 1286 | ZI::Sub16Carry(oplhs, oprhs) => { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_oplhs` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `flags` [INFO] [stderr] --> src/system/bus.rs:270:17 [INFO] [stderr] | [INFO] [stderr] 270 | let flags = BankControlRegister::from_bits_truncate(data); [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_flags` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/system/psg.rs:178:17 [INFO] [stderr] | [INFO] [stderr] 178 | let f = match self.latched_noise_generator_register.divider { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `id` [INFO] [stderr] --> src/gui/window.rs:58:78 [INFO] [stderr] | [INFO] [stderr] 58 | fn gamepad_button_down_event(&mut self, _ctx: &mut Context, btn: Button, id: GamepadId) { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `id` [INFO] [stderr] --> src/gui/window.rs:70:76 [INFO] [stderr] | [INFO] [stderr] 70 | fn gamepad_button_up_event(&mut self, _ctx: &mut Context, btn: Button, id: GamepadId) { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `km` [INFO] [stderr] --> src/gui/window.rs:83:65 [INFO] [stderr] | [INFO] [stderr] 83 | fn key_up_event(&mut self, _ctx: &mut Context, kc: KeyCode, km: KeyMods) { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_km` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `km` [INFO] [stderr] --> src/gui/window.rs:96:67 [INFO] [stderr] | [INFO] [stderr] 96 | fn key_down_event(&mut self, _ctx: &mut Context, kc: KeyCode, km: KeyMods, repeat:bool) { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_km` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `repeat` [INFO] [stderr] --> src/gui/window.rs:96:80 [INFO] [stderr] | [INFO] [stderr] 96 | fn key_down_event(&mut self, _ctx: &mut Context, kc: KeyCode, km: KeyMods, repeat:bool) { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_repeat` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ctx` [INFO] [stderr] --> src/gui/window.rs:113:26 [INFO] [stderr] | [INFO] [stderr] 113 | fn update(&mut self, ctx: &mut Context) -> GameResult { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `text` [INFO] [stderr] --> src/gui/window.rs:191:21 [INFO] [stderr] | [INFO] [stderr] 191 | let mut text = graphics::Text::new( [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_text` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `xy` [INFO] [stderr] --> src/gui/window.rs:196:21 [INFO] [stderr] | [INFO] [stderr] 196 | let xy = cgmath::Point2::new(21.0 + 2.0*(x as f32)*8.0, [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_xy` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sample` [INFO] [stderr] --> src/audio/mod.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | let mut sample = 0.0f64; [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | let mut gg = system::GameGear::new(rom); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: private type `cpu::z80_decoder::Z80InstructionByte` in public interface (error E0446) [INFO] [stderr] --> src/cpu/z80_decoder.rs:358:5 [INFO] [stderr] | [INFO] [stderr] 358 | / pub fn match_special(&mut self, mbytes:&[Z80InstructionByte]) -> bool { [INFO] [stderr] 359 | | [INFO] [stderr] 360 | | // check size [INFO] [stderr] 361 | | let n = mbytes.len(); [INFO] [stderr] ... | [INFO] [stderr] 386 | | return true; [INFO] [stderr] 387 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(private_in_public)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private type `system::vdp::Sprite` in public interface (error E0446) [INFO] [stderr] --> src/system/vdp.rs:561:5 [INFO] [stderr] | [INFO] [stderr] 561 | / pub fn get_sprite(&self, idx:u16) -> Sprite { [INFO] [stderr] 562 | | [INFO] [stderr] 563 | | // get sprite attribute table base address [INFO] [stderr] 564 | | let baddr = self.sprite_attribute_table_base_address(); [INFO] [stderr] ... | [INFO] [stderr] 571 | | Sprite::new(x,y,n) [INFO] [stderr] 572 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: field is never read: `iv` [INFO] [stderr] --> src/cpu/z80.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 63 | iv: u8, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field is never read: `mr` [INFO] [stderr] --> src/cpu/z80.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | mr: u8, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `set_breakpoint` [INFO] [stderr] --> src/cpu/z80.rs:243:5 [INFO] [stderr] | [INFO] [stderr] 243 | pub fn set_breakpoint(&mut self, addr:u16) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `RegisterIndirectIX` [INFO] [stderr] --> src/cpu/z80_decoder.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | RegisterIndirectIX, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `RegisterIndirectIY` [INFO] [stderr] --> src/cpu/z80_decoder.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | RegisterIndirectIY, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `scanline` [INFO] [stderr] --> src/system/vdp.rs:299:5 [INFO] [stderr] | [INFO] [stderr] 299 | pub fn scanline(&self) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Screen` [INFO] [stderr] --> src/system/screen.rs:4:12 [INFO] [stderr] | [INFO] [stderr] 4 | pub struct Screen { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/system/screen.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn new() -> Screen { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `current_scanline` [INFO] [stderr] --> src/system/screen.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn current_scanline(&self) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `step` [INFO] [stderr] --> src/system/screen.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn step(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `addr` [INFO] [stderr] --> src/gui/window.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | addr: u16, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `name` [INFO] [stderr] --> src/gui/window.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | name: String, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `ram_watchers` [INFO] [stderr] --> src/gui/window.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | ram_watchers: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `DESIRED_FPS` [INFO] [stderr] --> src/gui/window.rs:119:9 [INFO] [stderr] | [INFO] [stderr] 119 | const DESIRED_FPS: u32 = 60; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `get_noise_amplitude` [INFO] [stderr] --> src/audio/mod.rs:139:5 [INFO] [stderr] | [INFO] [stderr] 139 | pub fn get_noise_amplitude(&self) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `get_noise_feedback` [INFO] [stderr] --> src/audio/mod.rs:147:5 [INFO] [stderr] | [INFO] [stderr] 147 | pub fn get_noise_feedback(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `get_noise_frequency` [INFO] [stderr] --> src/audio/mod.rs:156:5 [INFO] [stderr] | [INFO] [stderr] 156 | pub fn get_noise_frequency(&self) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `get_noise_feedback` [INFO] [stderr] --> src/audio/mod.rs:293:5 [INFO] [stderr] | [INFO] [stderr] 293 | pub fn get_noise_feedback(&mut self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `get_noise_frequency` [INFO] [stderr] --> src/audio/mod.rs:303:5 [INFO] [stderr] | [INFO] [stderr] 303 | pub fn get_noise_frequency(&mut self) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `get_noise_amplitude` [INFO] [stderr] --> src/audio/mod.rs:313:5 [INFO] [stderr] | [INFO] [stderr] 313 | pub fn get_noise_amplitude(&mut self) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `set_AF` should have a snake case name [INFO] [stderr] --> src/cpu/z80.rs:87:12 [INFO] [stderr] | [INFO] [stderr] 87 | pub fn set_AF(&mut self, w:u16) { [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `set_af` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method `set_BC` should have a snake case name [INFO] [stderr] --> src/cpu/z80.rs:92:12 [INFO] [stderr] | [INFO] [stderr] 92 | pub fn set_BC(&mut self, w:u16) { [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `set_bc` [INFO] [stderr] [INFO] [stderr] warning: method `set_DE` should have a snake case name [INFO] [stderr] --> src/cpu/z80.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 97 | pub fn set_DE(&mut self, w:u16) { [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `set_de` [INFO] [stderr] [INFO] [stderr] warning: method `set_HL` should have a snake case name [INFO] [stderr] --> src/cpu/z80.rs:102:12 [INFO] [stderr] | [INFO] [stderr] 102 | pub fn set_HL(&mut self, w:u16) { [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `set_hl` [INFO] [stderr] [INFO] [stderr] warning: method `AF` should have a snake case name [INFO] [stderr] --> src/cpu/z80.rs:107:12 [INFO] [stderr] | [INFO] [stderr] 107 | pub fn AF(&self) -> u16 { [INFO] [stderr] | ^^ help: convert the identifier to snake case: `af` [INFO] [stderr] [INFO] [stderr] warning: method `BC` should have a snake case name [INFO] [stderr] --> src/cpu/z80.rs:113:12 [INFO] [stderr] | [INFO] [stderr] 113 | pub fn BC(&self) -> u16 { [INFO] [stderr] | ^^ help: convert the identifier to snake case: `bc` [INFO] [stderr] [INFO] [stderr] warning: method `DE` should have a snake case name [INFO] [stderr] --> src/cpu/z80.rs:119:12 [INFO] [stderr] | [INFO] [stderr] 119 | pub fn DE(&self) -> u16 { [INFO] [stderr] | ^^ help: convert the identifier to snake case: `de` [INFO] [stderr] [INFO] [stderr] warning: method `HL` should have a snake case name [INFO] [stderr] --> src/cpu/z80.rs:125:12 [INFO] [stderr] | [INFO] [stderr] 125 | pub fn HL(&self) -> u16 { [INFO] [stderr] | ^^ help: convert the identifier to snake case: `hl` [INFO] [stderr] [INFO] [stderr] warning: method `read_AND_operand` should have a snake case name [INFO] [stderr] --> src/cpu/z80.rs:333:8 [INFO] [stderr] | [INFO] [stderr] 333 | fn read_AND_operand(&self, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_and_operand` [INFO] [stderr] [INFO] [stderr] warning: method `write_AND_operand` should have a snake case name [INFO] [stderr] --> src/cpu/z80.rs:358:8 [INFO] [stderr] | [INFO] [stderr] 358 | fn write_AND_operand(&mut self, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_and_operand` [INFO] [stderr] [INFO] [stderr] warning: method `read_EX_operand` should have a snake case name [INFO] [stderr] --> src/cpu/z80.rs:389:8 [INFO] [stderr] | [INFO] [stderr] 389 | fn read_EX_operand(&self, op:Z80InstructionLocation) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_ex_operand` [INFO] [stderr] [INFO] [stderr] warning: method `write_EX_operand` should have a snake case name [INFO] [stderr] --> src/cpu/z80.rs:405:8 [INFO] [stderr] | [INFO] [stderr] 405 | fn write_EX_operand(&mut self, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_ex_operand` [INFO] [stderr] [INFO] [stderr] warning: method `unpack_LD_operand` should have a snake case name [INFO] [stderr] --> src/cpu/z80.rs:423:8 [INFO] [stderr] | [INFO] [stderr] 423 | fn unpack_LD_operand(&self, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `unpack_ld_operand` [INFO] [stderr] [INFO] [stderr] warning: method `decode_CB_bit_manipulation` should have a snake case name [INFO] [stderr] --> src/cpu/z80_decoder.rs:427:8 [INFO] [stderr] | [INFO] [stderr] 427 | fn decode_CB_bit_manipulation(&mut self, byte: u8, oix: Option) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `decode_cb_bit_manipulation` [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/system/bus.rs:238:17 [INFO] [stderr] | [INFO] [stderr] 238 | else if 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/memory/ram.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | (0 <= addr) && (addr < sz) [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 98 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/system/gamegear.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let mut cpu = Z80::new(rom); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/gui/window.rs:191:21 [INFO] [stderr] | [INFO] [stderr] 191 | let mut text = graphics::Text::new( [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/audio/mod.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | let mut sample = 0.0f64; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/audio/mod.rs:274:13 [INFO] [stderr] | [INFO] [stderr] 274 | let mut asp = self.parameters.lock().unwrap(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/audio/mod.rs:284:13 [INFO] [stderr] | [INFO] [stderr] 284 | let mut asp = self.parameters.lock().unwrap(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/audio/mod.rs:294:13 [INFO] [stderr] | [INFO] [stderr] 294 | let mut asp = self.parameters.lock().unwrap(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/audio/mod.rs:304:13 [INFO] [stderr] | [INFO] [stderr] 304 | let mut asp = self.parameters.lock().unwrap(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/audio/mod.rs:314:13 [INFO] [stderr] | [INFO] [stderr] 314 | let mut asp = self.parameters.lock().unwrap(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: private type `cpu::z80_decoder::Z80InstructionByte` in public interface (error E0446) [INFO] [stderr] --> src/cpu/z80_decoder.rs:358:5 [INFO] [stderr] | [INFO] [stderr] 358 | / pub fn match_special(&mut self, mbytes:&[Z80InstructionByte]) -> bool { [INFO] [stderr] 359 | | [INFO] [stderr] 360 | | // check size [INFO] [stderr] 361 | | let n = mbytes.len(); [INFO] [stderr] ... | [INFO] [stderr] 386 | | return true; [INFO] [stderr] 387 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(private_in_public)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private type `system::vdp::Sprite` in public interface (error E0446) [INFO] [stderr] --> src/system/vdp.rs:561:5 [INFO] [stderr] | [INFO] [stderr] 561 | / pub fn get_sprite(&self, idx:u16) -> Sprite { [INFO] [stderr] 562 | | [INFO] [stderr] 563 | | // get sprite attribute table base address [INFO] [stderr] 564 | | let baddr = self.sprite_attribute_table_base_address(); [INFO] [stderr] ... | [INFO] [stderr] 571 | | Sprite::new(x,y,n) [INFO] [stderr] 572 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: field is never read: `iv` [INFO] [stderr] --> src/cpu/z80.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 63 | iv: u8, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field is never read: `mr` [INFO] [stderr] --> src/cpu/z80.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | mr: u8, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `set_breakpoint` [INFO] [stderr] --> src/cpu/z80.rs:243:5 [INFO] [stderr] | [INFO] [stderr] 243 | pub fn set_breakpoint(&mut self, addr:u16) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `RegisterIndirectIX` [INFO] [stderr] --> src/cpu/z80_decoder.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | RegisterIndirectIX, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `RegisterIndirectIY` [INFO] [stderr] --> src/cpu/z80_decoder.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | RegisterIndirectIY, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `scanline` [INFO] [stderr] --> src/system/vdp.rs:299:5 [INFO] [stderr] | [INFO] [stderr] 299 | pub fn scanline(&self) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Screen` [INFO] [stderr] --> src/system/screen.rs:4:12 [INFO] [stderr] | [INFO] [stderr] 4 | pub struct Screen { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/system/screen.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn new() -> Screen { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `current_scanline` [INFO] [stderr] --> src/system/screen.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn current_scanline(&self) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `step` [INFO] [stderr] --> src/system/screen.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn step(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `addr` [INFO] [stderr] --> src/gui/window.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | addr: u16, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `name` [INFO] [stderr] --> src/gui/window.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | name: String, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `ram_watchers` [INFO] [stderr] --> src/gui/window.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | ram_watchers: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `DESIRED_FPS` [INFO] [stderr] --> src/gui/window.rs:119:9 [INFO] [stderr] | [INFO] [stderr] 119 | const DESIRED_FPS: u32 = 60; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `get_noise_amplitude` [INFO] [stderr] --> src/audio/mod.rs:139:5 [INFO] [stderr] | [INFO] [stderr] 139 | pub fn get_noise_amplitude(&self) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `get_noise_feedback` [INFO] [stderr] --> src/audio/mod.rs:147:5 [INFO] [stderr] | [INFO] [stderr] 147 | pub fn get_noise_feedback(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `get_noise_frequency` [INFO] [stderr] --> src/audio/mod.rs:156:5 [INFO] [stderr] | [INFO] [stderr] 156 | pub fn get_noise_frequency(&self) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `get_noise_feedback` [INFO] [stderr] --> src/audio/mod.rs:293:5 [INFO] [stderr] | [INFO] [stderr] 293 | pub fn get_noise_feedback(&mut self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `get_noise_frequency` [INFO] [stderr] --> src/audio/mod.rs:303:5 [INFO] [stderr] | [INFO] [stderr] 303 | pub fn get_noise_frequency(&mut self) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `get_noise_amplitude` [INFO] [stderr] --> src/audio/mod.rs:313:5 [INFO] [stderr] | [INFO] [stderr] 313 | pub fn get_noise_amplitude(&mut self) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `set_AF` should have a snake case name [INFO] [stderr] --> src/cpu/z80.rs:87:12 [INFO] [stderr] | [INFO] [stderr] 87 | pub fn set_AF(&mut self, w:u16) { [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `set_af` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method `set_BC` should have a snake case name [INFO] [stderr] --> src/cpu/z80.rs:92:12 [INFO] [stderr] | [INFO] [stderr] 92 | pub fn set_BC(&mut self, w:u16) { [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `set_bc` [INFO] [stderr] [INFO] [stderr] warning: method `set_DE` should have a snake case name [INFO] [stderr] --> src/cpu/z80.rs:97:12 [INFO] [stderr] | [INFO] [stderr] 97 | pub fn set_DE(&mut self, w:u16) { [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `set_de` [INFO] [stderr] [INFO] [stderr] warning: method `set_HL` should have a snake case name [INFO] [stderr] --> src/cpu/z80.rs:102:12 [INFO] [stderr] | [INFO] [stderr] 102 | pub fn set_HL(&mut self, w:u16) { [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `set_hl` [INFO] [stderr] [INFO] [stderr] warning: method `AF` should have a snake case name [INFO] [stderr] --> src/cpu/z80.rs:107:12 [INFO] [stderr] | [INFO] [stderr] 107 | pub fn AF(&self) -> u16 { [INFO] [stderr] | ^^ help: convert the identifier to snake case: `af` [INFO] [stderr] [INFO] [stderr] warning: method `BC` should have a snake case name [INFO] [stderr] --> src/cpu/z80.rs:113:12 [INFO] [stderr] | [INFO] [stderr] 113 | pub fn BC(&self) -> u16 { [INFO] [stderr] | ^^ help: convert the identifier to snake case: `bc` [INFO] [stderr] [INFO] [stderr] warning: method `DE` should have a snake case name [INFO] [stderr] --> src/cpu/z80.rs:119:12 [INFO] [stderr] | [INFO] [stderr] 119 | pub fn DE(&self) -> u16 { [INFO] [stderr] | ^^ help: convert the identifier to snake case: `de` [INFO] [stderr] [INFO] [stderr] warning: method `HL` should have a snake case name [INFO] [stderr] --> src/cpu/z80.rs:125:12 [INFO] [stderr] | [INFO] [stderr] 125 | pub fn HL(&self) -> u16 { [INFO] [stderr] | ^^ help: convert the identifier to snake case: `hl` [INFO] [stderr] [INFO] [stderr] warning: method `read_AND_operand` should have a snake case name [INFO] [stderr] --> src/cpu/z80.rs:333:8 [INFO] [stderr] | [INFO] [stderr] 333 | fn read_AND_operand(&self, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_and_operand` [INFO] [stderr] [INFO] [stderr] warning: method `write_AND_operand` should have a snake case name [INFO] [stderr] --> src/cpu/z80.rs:358:8 [INFO] [stderr] | [INFO] [stderr] 358 | fn write_AND_operand(&mut self, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_and_operand` [INFO] [stderr] [INFO] [stderr] warning: method `read_EX_operand` should have a snake case name [INFO] [stderr] --> src/cpu/z80.rs:389:8 [INFO] [stderr] | [INFO] [stderr] 389 | fn read_EX_operand(&self, op:Z80InstructionLocation) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_ex_operand` [INFO] [stderr] [INFO] [stderr] warning: method `write_EX_operand` should have a snake case name [INFO] [stderr] --> src/cpu/z80.rs:405:8 [INFO] [stderr] | [INFO] [stderr] 405 | fn write_EX_operand(&mut self, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_ex_operand` [INFO] [stderr] [INFO] [stderr] warning: method `unpack_LD_operand` should have a snake case name [INFO] [stderr] --> src/cpu/z80.rs:423:8 [INFO] [stderr] | [INFO] [stderr] 423 | fn unpack_LD_operand(&self, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `unpack_ld_operand` [INFO] [stderr] [INFO] [stderr] warning: method `decode_CB_bit_manipulation` should have a snake case name [INFO] [stderr] --> src/cpu/z80_decoder.rs:427:8 [INFO] [stderr] | [INFO] [stderr] 427 | fn decode_CB_bit_manipulation(&mut self, byte: u8, oix: Option) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `decode_cb_bit_manipulation` [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/system/bus.rs:238:17 [INFO] [stderr] | [INFO] [stderr] 238 | else if 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/memory/ram.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | (0 <= addr) && (addr < sz) [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 98 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 4m 04s [INFO] running `"docker" "inspect" "dbf2a6c64dd732e768527248bfac86355de36734b740065de2837e24e02a3f76"` [INFO] running `"docker" "rm" "-f" "dbf2a6c64dd732e768527248bfac86355de36734b740065de2837e24e02a3f76"` [INFO] [stdout] dbf2a6c64dd732e768527248bfac86355de36734b740065de2837e24e02a3f76