[INFO] updating cached repository https://github.com/Napokue/chip-8 [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] [stderr] From https://github.com/Napokue/chip-8 [INFO] [stderr] aa7c890..26bf788 master -> master [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 26bf7887be1d499bfce9dc0f2778a0c398d81746 [INFO] checking Napokue/chip-8 against master#e2223c94bf433fc38234d1303e88cbaf14755863 for pr-69548 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNapokue%2Fchip-8" "/workspace/builds/worker-2/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Napokue/chip-8 on toolchain e2223c94bf433fc38234d1303e88cbaf14755863 [INFO] running `"/workspace/cargo-home/bin/cargo" "+e2223c94bf433fc38234d1303e88cbaf14755863" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/Napokue/chip-8 [INFO] finished tweaking git repo https://github.com/Napokue/chip-8 [INFO] tweaked toml for git repo https://github.com/Napokue/chip-8 written to /workspace/builds/worker-2/source/Cargo.toml [INFO] crate git repo https://github.com/Napokue/chip-8 already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+e2223c94bf433fc38234d1303e88cbaf14755863" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+e2223c94bf433fc38234d1303e88cbaf14755863" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 2f77049c1aa5eb2662e480e7a50d26ad0fa949f0f87df558b38b7346009c84df [INFO] running `"docker" "start" "-a" "2f77049c1aa5eb2662e480e7a50d26ad0fa949f0f87df558b38b7346009c84df"` [INFO] [stderr] Compiling syn v1.0.15 [INFO] [stderr] Compiling memchr v2.3.3 [INFO] [stderr] Checking downcast-rs v1.1.1 [INFO] [stderr] Checking futures-core v0.3.4 [INFO] [stderr] Checking futures-sink v0.3.4 [INFO] [stderr] Checking instant v0.1.2 [INFO] [stderr] Compiling libloading v0.5.2 [INFO] [stderr] Compiling x11 v2.18.2 [INFO] [stderr] Compiling x11-dl v2.18.4 [INFO] [stderr] Checking hibitset v0.6.3 [INFO] [stderr] Checking raw-window-handle v0.3.1 [INFO] [stderr] Checking shared_library v0.1.9 [INFO] [stderr] Checking getrandom v0.1.14 [INFO] [stderr] Checking parking_lot_core v0.7.0 [INFO] [stderr] Checking memmap v0.7.0 [INFO] [stderr] Checking relevant v0.4.2 [INFO] [stderr] Compiling wayland-scanner v0.23.6 [INFO] [stderr] Checking ordered-float v1.0.2 [INFO] [stderr] Checking approx v0.3.2 [INFO] [stderr] Checking line_drawing v0.7.0 [INFO] [stderr] Checking mio-extras v2.0.5 [INFO] [stderr] Checking gfx-hal v0.4.1 [INFO] [stderr] Checking futures-channel v0.3.4 [INFO] [stderr] Checking ash v0.29.0 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking rusttype v0.8.1 [INFO] [stderr] Checking parking_lot v0.10.0 [INFO] [stderr] Checking calloop v0.4.4 [INFO] [stderr] Checking rand_chacha v0.2.1 [INFO] [stderr] Checking dlib v0.4.1 [INFO] [stderr] Checking wayland-sys v0.23.6 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking wayland-commons v0.23.6 [INFO] [stderr] Checking rusttype v0.7.9 [INFO] [stderr] Checking andrew v0.2.1 [INFO] [stderr] Compiling wayland-client v0.23.6 [INFO] [stderr] Compiling wayland-protocols v0.23.6 [INFO] [stderr] Compiling peek-poke-derive v0.2.0 (https://github.com/kvark/peek-poke?rev=969bd7fe2be1a83f87916dc8b388c63cfd457075#969bd7fe) [INFO] [stderr] Compiling proc-macro-hack v0.5.11 [INFO] [stderr] Checking rendy-memory v0.5.2 [INFO] [stderr] Checking gfx-backend-empty v0.4.0 [INFO] [stderr] Checking rendy-descriptor v0.5.1 [INFO] [stderr] Compiling futures-macro v0.3.4 [INFO] [stderr] Checking peek-poke v0.2.0 (https://github.com/kvark/peek-poke?rev=969bd7fe2be1a83f87916dc8b388c63cfd457075#969bd7fe) [INFO] [stderr] Checking futures-util v0.3.4 [INFO] [stderr] Checking smithay-client-toolkit v0.6.4 [INFO] [stderr] Checking gfx-backend-vulkan v0.4.2 [INFO] [stderr] Checking winit v0.21.0 [INFO] [stderr] Checking wgpu-core v0.1.0 (https://github.com/gfx-rs/wgpu?rev=f2323f2b23b7dbe060d324266cf6c1c864152e91#f2323f2b) [INFO] [stderr] Checking futures-executor v0.3.4 [INFO] [stderr] Checking futures v0.3.4 [INFO] [stderr] Checking wgpu-native v0.4.0 (https://github.com/gfx-rs/wgpu?rev=f2323f2b23b7dbe060d324266cf6c1c864152e91#f2323f2b) [INFO] [stderr] Checking wgpu v0.4.0 (https://github.com/gfx-rs/wgpu-rs#fabb0fd7) [INFO] [stderr] Checking chip-8 v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `boilerplate::Application` [INFO] [stderr] --> src/main.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | boilerplate::Application [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ControlFlow`, `event` [INFO] [stderr] --> src/engines/graphics.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | event, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 4 | event_loop::{ControlFlow, EventLoop} [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/cpu.rs:59:19 [INFO] [stderr] | [INFO] [stderr] 59 | let nnn = (opcode & 0x0FFF); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `thread`, `time` [INFO] [stderr] --> src/main.rs:12:16 [INFO] [stderr] | [INFO] [stderr] 12 | use std::{env, thread, time}; [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `LocalSpawner` [INFO] [stderr] --> src/./boilerplate.rs:7:36 [INFO] [stderr] | [INFO] [stderr] 7 | use futures::executor::{LocalPool, LocalSpawner}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `boilerplate::Application` [INFO] [stderr] --> src/main.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | boilerplate::Application [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ControlFlow`, `event` [INFO] [stderr] --> src/engines/graphics.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | event, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 4 | event_loop::{ControlFlow, EventLoop} [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/cpu.rs:59:19 [INFO] [stderr] | [INFO] [stderr] 59 | let nnn = (opcode & 0x0FFF); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `thread`, `time` [INFO] [stderr] --> src/main.rs:12:16 [INFO] [stderr] | [INFO] [stderr] 12 | use std::{env, thread, time}; [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `LocalSpawner` [INFO] [stderr] --> src/./boilerplate.rs:7:36 [INFO] [stderr] | [INFO] [stderr] 7 | use futures::executor::{LocalPool, LocalSpawner}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cpu` [INFO] [stderr] --> src/main.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | let mut cpu = Cpu::new(&args[1]); [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_cpu` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cpu` [INFO] [stderr] --> src/main.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | let mut cpu = Cpu::new(&args[1]); [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_cpu` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `harness` [INFO] [stderr] --> src/main.rs:23:13 [INFO] [stderr] | [INFO] [stderr] 23 | let mut harness = boilerplate::Harness::new("Chip 8 Emulator"); [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_harness` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `renderer` [INFO] [stderr] --> src/main.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | let renderer = engines::graphics::Engine::new(); [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_renderer` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `window` [INFO] [stderr] --> src/engines/graphics.rs:36:14 [INFO] [stderr] | [INFO] [stderr] 36 | let (window, size, surface) = { [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_window` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `size` [INFO] [stderr] --> src/engines/graphics.rs:36:22 [INFO] [stderr] | [INFO] [stderr] 36 | let (window, size, surface) = { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_size` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `surface` [INFO] [stderr] --> src/engines/graphics.rs:36:28 [INFO] [stderr] | [INFO] [stderr] 36 | let (window, size, surface) = { [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_surface` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `adapter` [INFO] [stderr] --> src/engines/graphics.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | let adapter = wgpu::Adapter::request( [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_adapter` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/cpu.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | let n = nibbles.3 as u8; [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_n` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `device` [INFO] [stderr] --> src/./boilerplate.rs:25:26 [INFO] [stderr] | [INFO] [stderr] 25 | fn resize(&mut self, device: &wgpu::Device, extent: wgpu::Extent3d) {} [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_device` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `extent` [INFO] [stderr] --> src/./boilerplate.rs:25:49 [INFO] [stderr] | [INFO] [stderr] 25 | fn resize(&mut self, device: &wgpu::Device, extent: wgpu::Extent3d) {} [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_extent` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `harness` [INFO] [stderr] --> src/main.rs:23:13 [INFO] [stderr] | [INFO] [stderr] 23 | let mut harness = boilerplate::Harness::new("Chip 8 Emulator"); [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_harness` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `last_time` [INFO] [stderr] --> src/./boilerplate.rs:113:17 [INFO] [stderr] | [INFO] [stderr] 113 | let mut last_time = time::Instant::now(); [INFO] [stderr] | ^^^^^^^^^ help: consider prefixing with an underscore: `_last_time` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `renderer` [INFO] [stderr] --> src/main.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | let renderer = engines::graphics::Engine::new(); [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_renderer` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `window` [INFO] [stderr] --> src/engines/graphics.rs:36:14 [INFO] [stderr] | [INFO] [stderr] 36 | let (window, size, surface) = { [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_window` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `size` [INFO] [stderr] --> src/engines/graphics.rs:36:22 [INFO] [stderr] | [INFO] [stderr] 36 | let (window, size, surface) = { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_size` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `queue` [INFO] [stderr] --> src/./boilerplate.rs:119:13 [INFO] [stderr] | [INFO] [stderr] 119 | queue, [INFO] [stderr] | ^^^^^ help: try ignoring the field: `queue: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `surface` [INFO] [stderr] --> src/engines/graphics.rs:36:28 [INFO] [stderr] | [INFO] [stderr] 36 | let (window, size, surface) = { [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_surface` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `adapter` [INFO] [stderr] --> src/engines/graphics.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | let adapter = wgpu::Adapter::request( [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_adapter` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | let mut cpu = Cpu::new(&args[1]); [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/main.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | let mut harness = boilerplate::Harness::new("Chip 8 Emulator"); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/cpu.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | let n = nibbles.3 as u8; [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_n` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `device` [INFO] [stderr] --> src/./boilerplate.rs:25:26 [INFO] [stderr] | [INFO] [stderr] 25 | fn resize(&mut self, device: &wgpu::Device, extent: wgpu::Extent3d) {} [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_device` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `extent` [INFO] [stderr] --> src/./boilerplate.rs:25:49 [INFO] [stderr] | [INFO] [stderr] 25 | fn resize(&mut self, device: &wgpu::Device, extent: wgpu::Extent3d) {} [INFO] [stderr] | ^^^^^^ help: consider prefixing with an underscore: `_extent` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `last_time` [INFO] [stderr] --> src/./boilerplate.rs:113:17 [INFO] [stderr] | [INFO] [stderr] 113 | let mut last_time = time::Instant::now(); [INFO] [stderr] | ^^^^^^^^^ help: consider prefixing with an underscore: `_last_time` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `queue` [INFO] [stderr] --> src/./boilerplate.rs:119:13 [INFO] [stderr] | [INFO] [stderr] 119 | queue, [INFO] [stderr] | ^^^^^ help: try ignoring the field: `queue: _` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | let mut cpu = Cpu::new(&args[1]); [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/main.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | let mut harness = boilerplate::Harness::new("Chip 8 Emulator"); [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/./boilerplate.rs:113:13 [INFO] [stderr] | [INFO] [stderr] 113 | let mut last_time = time::Instant::now(); [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field is never read: `driver` [INFO] [stderr] --> src/engines/graphics.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | driver: Driver [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `clear_screen` [INFO] [stderr] --> src/engines/graphics.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | fn clear_screen(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `draw_sprite` [INFO] [stderr] --> src/engines/graphics.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | fn draw_sprite(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `SPRITE_WIDTH` [INFO] [stderr] --> src/drivers/graphics.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | const SPRITE_WIDTH: usize = 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `vram` [INFO] [stderr] --> src/drivers/graphics.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | vram: [[u8; SCREEN_WIDTH]; SCREEN_HEIGHT] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `clear_screen` [INFO] [stderr] --> src/drivers/graphics.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn clear_screen(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `generate_sprite_map` [INFO] [stderr] --> src/drivers/graphics.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | / pub fn generate_sprite_map(&self, [INFO] [stderr] 28 | | height: usize) -> Vec> { [INFO] [stderr] 29 | | let mut sprite_map : Vec> = vec![]; [INFO] [stderr] 30 | | [INFO] [stderr] ... | [INFO] [stderr] 38 | | sprite_map [INFO] [stderr] 39 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/./boilerplate.rs:113:13 [INFO] [stderr] | [INFO] [stderr] 113 | let mut last_time = time::Instant::now(); [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field is never read: `driver` [INFO] [stderr] --> src/engines/graphics.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | driver: Driver [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `overlay_map` [INFO] [stderr] --> src/drivers/graphics.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | / pub fn overlay_map(&mut self, [INFO] [stderr] 42 | | sprite_x: usize, [INFO] [stderr] 43 | | sprite_y: usize, [INFO] [stderr] 44 | | sprite_map : Vec>, [INFO] [stderr] ... | [INFO] [stderr] 68 | | } [INFO] [stderr] 69 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `memory` [INFO] [stderr] --> src/cpu.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | memory: [u8; 4096], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `v` [INFO] [stderr] --> src/cpu.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | v: [u8; 16], [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `i` [INFO] [stderr] --> src/cpu.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | i: usize, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `pc` [INFO] [stderr] --> src/cpu.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | pc: usize, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `delay_timer` [INFO] [stderr] --> src/cpu.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | delay_timer: u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `sound_timer` [INFO] [stderr] --> src/cpu.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | sound_timer: u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `stack` [INFO] [stderr] --> src/cpu.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | stack: [u16; 16], [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `sp` [INFO] [stderr] --> src/cpu.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | sp: usize, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `emulate_cycle` [INFO] [stderr] --> src/cpu.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn emulate_cycle(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `next_instruction` [INFO] [stderr] --> src/cpu.rs:323:5 [INFO] [stderr] | [INFO] [stderr] 323 | fn next_instruction(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `skip_instruction` [INFO] [stderr] --> src/cpu.rs:327:5 [INFO] [stderr] | [INFO] [stderr] 327 | fn skip_instruction(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `jump_to_instruction` [INFO] [stderr] --> src/cpu.rs:331:5 [INFO] [stderr] | [INFO] [stderr] 331 | fn jump_to_instruction(&mut self, addr: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `event_loop` [INFO] [stderr] --> src/./boilerplate.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | event_loop: EventLoop<()>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `clear_screen` [INFO] [stderr] --> src/engines/graphics.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | fn clear_screen(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `window` [INFO] [stderr] --> src/./boilerplate.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | window: Window, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `surface` [INFO] [stderr] --> src/./boilerplate.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | surface: wgpu::Surface, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `draw_sprite` [INFO] [stderr] --> src/engines/graphics.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | fn draw_sprite(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `swap_chain` [INFO] [stderr] --> src/./boilerplate.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | swap_chain: wgpu::SwapChain, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `reload_on_focus` [INFO] [stderr] --> src/./boilerplate.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | reload_on_focus: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `memory` [INFO] [stderr] --> src/cpu.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | memory: [u8; 4096], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `v` [INFO] [stderr] --> src/cpu.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | v: [u8; 16], [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `i` [INFO] [stderr] --> src/cpu.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | i: usize, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `pc` [INFO] [stderr] --> src/cpu.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | pc: usize, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `depth_target` [INFO] [stderr] --> src/./boilerplate.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | depth_target: wgpu::TextureView, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `main_loop` [INFO] [stderr] --> src/./boilerplate.rs:110:5 [INFO] [stderr] | [INFO] [stderr] 110 | pub fn main_loop(self, mut app: A) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `CPU_DELAY` [INFO] [stderr] --> src/main.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | const CPU_DELAY : u64 = 5000; // microseconds [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `delay_timer` [INFO] [stderr] --> src/cpu.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | delay_timer: u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu.rs:164:20 [INFO] [stderr] | [INFO] [stderr] 164 | if self.v[x as usize] > 255 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field is never read: `sound_timer` [INFO] [stderr] --> src/cpu.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | sound_timer: u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `stack` [INFO] [stderr] --> src/cpu.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | stack: [u16; 16], [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `sp` [INFO] [stderr] --> src/cpu.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | sp: usize, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `emulate_cycle` [INFO] [stderr] --> src/cpu.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn emulate_cycle(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `next_instruction` [INFO] [stderr] --> src/cpu.rs:323:5 [INFO] [stderr] | [INFO] [stderr] 323 | fn next_instruction(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `skip_instruction` [INFO] [stderr] --> src/cpu.rs:327:5 [INFO] [stderr] | [INFO] [stderr] 327 | fn skip_instruction(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `jump_to_instruction` [INFO] [stderr] --> src/cpu.rs:331:5 [INFO] [stderr] | [INFO] [stderr] 331 | fn jump_to_instruction(&mut self, addr: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `event_loop` [INFO] [stderr] --> src/./boilerplate.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | event_loop: EventLoop<()>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `window` [INFO] [stderr] --> src/./boilerplate.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | window: Window, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `surface` [INFO] [stderr] --> src/./boilerplate.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | surface: wgpu::Surface, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `swap_chain` [INFO] [stderr] --> src/./boilerplate.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | swap_chain: wgpu::SwapChain, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `reload_on_focus` [INFO] [stderr] --> src/./boilerplate.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | reload_on_focus: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `depth_target` [INFO] [stderr] --> src/./boilerplate.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | depth_target: wgpu::TextureView, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `main_loop` [INFO] [stderr] --> src/./boilerplate.rs:110:5 [INFO] [stderr] | [INFO] [stderr] 110 | pub fn main_loop(self, mut app: A) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `CPU_DELAY` [INFO] [stderr] --> src/main.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | const CPU_DELAY : u64 = 5000; // microseconds [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu.rs:164:20 [INFO] [stderr] | [INFO] [stderr] 164 | if self.v[x as usize] > 255 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 21s [INFO] running `"docker" "inspect" "2f77049c1aa5eb2662e480e7a50d26ad0fa949f0f87df558b38b7346009c84df"` [INFO] running `"docker" "rm" "-f" "2f77049c1aa5eb2662e480e7a50d26ad0fa949f0f87df558b38b7346009c84df"` [INFO] [stdout] 2f77049c1aa5eb2662e480e7a50d26ad0fa949f0f87df558b38b7346009c84df