[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] testing JDRobotter/rgg against beta-2020-06-03 for beta-1.45-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJDRobotter%2Frgg" "/workspace/builds/worker-0/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-0/source'... [INFO] [stderr] done. [INFO] [stderr] Checking out files: 47% (32/68) Checking out files: 48% (33/68) Checking out files: 50% (34/68) Checking out files: 51% (35/68) Checking out files: 52% (36/68) Checking out files: 54% (37/68) Checking out files: 55% (38/68) Checking out files: 57% (39/68) Checking out files: 58% (40/68) Checking out files: 60% (41/68) Checking out files: 61% (42/68) Checking out files: 63% (43/68) Checking out files: 64% (44/68) Checking out files: 66% (45/68) Checking out files: 67% (46/68) Checking out files: 69% (47/68) Checking out files: 70% (48/68) Checking out files: 72% (49/68) Checking out files: 73% (50/68) Checking out files: 75% (51/68) Checking out files: 76% (52/68) Checking out files: 77% (53/68) Checking out files: 79% (54/68) Checking out files: 80% (55/68) Checking out files: 82% (56/68) Checking out files: 83% (57/68) Checking out files: 85% (58/68) Checking out files: 86% (59/68) Checking out files: 88% (60/68) Checking out files: 89% (61/68) Checking out files: 91% (62/68) Checking out files: 92% (63/68) Checking out files: 94% (64/68) Checking out files: 95% (65/68) Checking out files: 97% (66/68) Checking out files: 98% (67/68) Checking out files: 100% (68/68) Checking out files: 100% (68/68), done. [INFO] validating manifest of git repo https://github.com/JDRobotter/rgg on toolchain beta-2020-06-03 [INFO] running `"/workspace/cargo-home/bin/cargo" "+beta-2020-06-03" "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-0/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" "+beta-2020-06-03" "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-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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=warn" "-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" "+beta-2020-06-03" "build" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] d98327775781e4fc513add749c0acdeb89c8e901f1a72f9c2ace607a1b5f7798 [INFO] running `"docker" "start" "-a" "d98327775781e4fc513add749c0acdeb89c8e901f1a72f9c2ace607a1b5f7798"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling libc v0.2.67 [INFO] [stderr] Compiling cpal v0.11.0 [INFO] [stderr] Compiling backtrace-sys v0.1.34 [INFO] [stderr] Compiling bzip2-sys v0.1.8+1.0.8 [INFO] [stderr] Compiling minimp3-sys v0.3.2 [INFO] [stderr] Compiling error-chain v0.12.2 [INFO] [stderr] Compiling serde_json v1.0.48 [INFO] [stderr] Compiling ogg v0.7.0 [INFO] [stderr] Compiling jpeg-decoder v0.1.18 [INFO] [stderr] Compiling approx v0.3.2 [INFO] [stderr] Compiling ordered-float v1.0.2 [INFO] [stderr] Compiling line_drawing v0.7.0 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Compiling num-rational v0.2.3 [INFO] [stderr] Compiling num-iter v0.1.40 [INFO] [stderr] Compiling thiserror-impl v1.0.14 [INFO] [stderr] Compiling sid v0.5.2 [INFO] [stderr] Compiling euclid v0.19.9 [INFO] [stderr] Compiling tiff v0.3.1 [INFO] [stderr] Compiling alga v0.9.3 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling lewton v0.9.4 [INFO] [stderr] Compiling crossbeam-deque v0.7.3 [INFO] [stderr] Compiling image v0.22.5 [INFO] [stderr] Compiling lyon_geom v0.12.7 [INFO] [stderr] Compiling gfx_gl v0.6.1 [INFO] [stderr] Compiling lyon_path v0.13.2 [INFO] [stderr] Compiling thiserror v1.0.14 [INFO] [stderr] Compiling lyon_tessellation v0.13.5 [INFO] [stderr] Compiling lyon_algorithms v0.13.4 [INFO] [stderr] Compiling num_cpus v1.12.0 [INFO] [stderr] Compiling nix v0.14.1 [INFO] [stderr] Compiling getrandom v0.1.14 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling parking_lot_core v0.6.2 [INFO] [stderr] Compiling memmap v0.7.0 [INFO] [stderr] Compiling x11-dl v2.18.5 [INFO] [stderr] Compiling rand_os v0.1.3 [INFO] [stderr] Compiling shared_library v0.1.9 [INFO] [stderr] Compiling alsa-sys v0.1.2 [INFO] [stderr] Compiling raw-window-handle v0.3.3 [INFO] [stderr] Compiling nix v0.15.0 [INFO] [stderr] Compiling libudev-sys v0.1.4 [INFO] [stderr] Compiling slice-deque v0.3.0 [INFO] [stderr] Compiling dirs-sys v0.3.4 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling backtrace v0.3.45 [INFO] [stderr] Compiling rusttype v0.8.2 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling osmesa-sys v0.1.2 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Compiling cpal v0.8.2 [INFO] [stderr] Compiling bzip2 v0.3.3 [INFO] [stderr] Compiling clap v2.33.0 [INFO] [stderr] Compiling directories v2.0.2 [INFO] [stderr] Compiling minimp3 v0.3.5 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling lyon v0.13.5 [INFO] [stderr] Compiling tempdir v0.3.7 [INFO] [stderr] Compiling zip v0.5.5 [INFO] [stderr] Compiling rusttype v0.7.9 [INFO] [stderr] Compiling glyph_brush_layout v0.1.9 [INFO] [stderr] Compiling cargo_metadata v0.6.4 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling andrew v0.2.1 [INFO] [stderr] Compiling nalgebra v0.18.1 [INFO] [stderr] Compiling cgmath v0.17.0 [INFO] [stderr] Compiling skeptic v0.13.4 [INFO] [stderr] Compiling twox-hash v1.5.0 [INFO] [stderr] Compiling glyph_brush v0.6.3 [INFO] [stderr] Compiling glutin_glx_sys v0.1.6 [INFO] [stderr] Compiling gfx_device_gl v0.16.2 [INFO] [stderr] Compiling glyph_brush v0.5.4 [INFO] [stderr] Compiling ggez v0.5.1 [INFO] [stderr] Compiling wayland-commons v0.21.13 [INFO] [stderr] Compiling gilrs-core v0.2.5 [INFO] [stderr] Compiling wayland-client v0.21.13 [INFO] [stderr] Compiling gilrs v0.7.4 [INFO] [stderr] Compiling wayland-protocols v0.21.13 [INFO] [stderr] Compiling smithay-client-toolkit v0.4.6 [INFO] [stderr] Compiling winit v0.19.5 [INFO] [stderr] Compiling glutin v0.20.1 [INFO] [stderr] Compiling gfx_window_glutin v0.30.0 [INFO] [stderr] Compiling rodio v0.9.0 [INFO] [stderr] Compiling 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: 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: 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:12 [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:12 [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:12 [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:12 [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:12 [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:12 [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:12 [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:12 [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:12 [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:12 [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:12 [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 2m 55s [INFO] running `"docker" "inspect" "d98327775781e4fc513add749c0acdeb89c8e901f1a72f9c2ace607a1b5f7798"` [INFO] running `"docker" "rm" "-f" "d98327775781e4fc513add749c0acdeb89c8e901f1a72f9c2ace607a1b5f7798"` [INFO] [stdout] d98327775781e4fc513add749c0acdeb89c8e901f1a72f9c2ace607a1b5f7798 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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=warn" "-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" "+beta-2020-06-03" "test" "--frozen" "--no-run"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 23be93bb2c8690ca7af987693aea0ff234ac209917a94dacf978d63d4b325ffb [INFO] running `"docker" "start" "-a" "23be93bb2c8690ca7af987693aea0ff234ac209917a94dacf978d63d4b325ffb"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling 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: 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: 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:12 [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:12 [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:12 [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:12 [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:12 [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:12 [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:12 [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:12 [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:12 [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:12 [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:12 [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 test [unoptimized + debuginfo] target(s) in 3.81s [INFO] running `"docker" "inspect" "23be93bb2c8690ca7af987693aea0ff234ac209917a94dacf978d63d4b325ffb"` [INFO] running `"docker" "rm" "-f" "23be93bb2c8690ca7af987693aea0ff234ac209917a94dacf978d63d4b325ffb"` [INFO] [stdout] 23be93bb2c8690ca7af987693aea0ff234ac209917a94dacf978d63d4b325ffb [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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=warn" "-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" "+beta-2020-06-03" "test" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] e374e1994fdfcf4af3defedb58819777029de2fd990cad9e189b7ee466bf9e62 [INFO] running `"docker" "start" "-a" "e374e1994fdfcf4af3defedb58819777029de2fd990cad9e189b7ee466bf9e62"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [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: 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:12 [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:12 [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:12 [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:12 [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:12 [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:12 [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:12 [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:12 [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:12 [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:12 [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:12 [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 test [unoptimized + debuginfo] target(s) in 0.31s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/rgg-9d7bea4ce226e422 [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 [INFO] [stdout] [INFO] running `"docker" "inspect" "e374e1994fdfcf4af3defedb58819777029de2fd990cad9e189b7ee466bf9e62"` [INFO] running `"docker" "rm" "-f" "e374e1994fdfcf4af3defedb58819777029de2fd990cad9e189b7ee466bf9e62"` [INFO] [stdout] e374e1994fdfcf4af3defedb58819777029de2fd990cad9e189b7ee466bf9e62