[INFO] updating cached repository https://github.com/BearzRobotics/zemulator [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] f7e7382dcfa177bdcca8e8e3c509bb725b7d20f5 [INFO] checking BearzRobotics/zemulator against master#45d050cde277b22a755847338f2acc2c7b834141 for pr-71393 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBearzRobotics%2Fzemulator" "/workspace/builds/worker-12/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-12/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/BearzRobotics/zemulator on toolchain 45d050cde277b22a755847338f2acc2c7b834141 [INFO] running `"/workspace/cargo-home/bin/cargo" "+45d050cde277b22a755847338f2acc2c7b834141" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/BearzRobotics/zemulator [INFO] finished tweaking git repo https://github.com/BearzRobotics/zemulator [INFO] tweaked toml for git repo https://github.com/BearzRobotics/zemulator written to /workspace/builds/worker-12/source/Cargo.toml [INFO] crate git repo https://github.com/BearzRobotics/zemulator already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+45d050cde277b22a755847338f2acc2c7b834141" "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-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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" "+45d050cde277b22a755847338f2acc2c7b834141" "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] d5a0a52b0a8b2e4f06595f96c302fea58cc517b32706f8b86b445eb88a5323af [INFO] running `"docker" "start" "-a" "d5a0a52b0a8b2e4f06595f96c302fea58cc517b32706f8b86b445eb88a5323af"` [INFO] [stderr] Compiling libc v0.2.44 [INFO] [stderr] Compiling pkg-config v0.3.14 [INFO] [stderr] Compiling cc v1.0.25 [INFO] [stderr] Checking lazy_static v0.2.11 [INFO] [stderr] Compiling x11-dl v2.14.0 [INFO] [stderr] Checking rand v0.4.3 [INFO] [stderr] Checking time v0.1.40 [INFO] [stderr] Compiling minifb v0.10.7 [INFO] [stderr] Checking rand v0.3.22 [INFO] [stderr] Checking emulator v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused imports: `Duration`, `Instant` [INFO] [stderr] --> src/main.rs:4:17 [INFO] [stderr] | [INFO] [stderr] 4 | use std::time::{Duration, Instant}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/cpu.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `IndependentSample`, `Range` [INFO] [stderr] --> src/cpu.rs:4:27 [INFO] [stderr] | [INFO] [stderr] 4 | use rand::distributions::{IndependentSample, Range}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Duration`, `Instant` [INFO] [stderr] --> src/main.rs:4:17 [INFO] [stderr] | [INFO] [stderr] 4 | use std::time::{Duration, Instant}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/cpu.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `IndependentSample`, `Range` [INFO] [stderr] --> src/cpu.rs:4:27 [INFO] [stderr] | [INFO] [stderr] 4 | use rand::distributions::{IndependentSample, Range}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/main.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 47 | / loop{ [INFO] [stderr] 48 | | chip.run_instruction(); [INFO] [stderr] 49 | | //chip.print_reg_values(); [INFO] [stderr] 50 | | } [INFO] [stderr] | |_____- any code following this expression is unreachable [INFO] [stderr] 51 | // this is here for debuging [INFO] [stderr] 52 | println!("Loop has ened"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/main.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 47 | / loop{ [INFO] [stderr] 48 | | chip.run_instruction(); [INFO] [stderr] 49 | | //chip.print_reg_values(); [INFO] [stderr] 50 | | } [INFO] [stderr] | |_____- any code following this expression is unreachable [INFO] [stderr] 51 | // this is here for debuging [INFO] [stderr] 52 | println!("Loop has ened"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `vx` [INFO] [stderr] --> src/cpu.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | vx: [u8; 3], // number of general regesters [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field is never read: `alu` [INFO] [stderr] --> src/cpu.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | alu: u8, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `ret_stack` [INFO] [stderr] --> src/cpu.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | ret_stack: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `rng` [INFO] [stderr] --> src/cpu.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | rng: rand::ThreadRng, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `debug_draw_sprite` [INFO] [stderr] --> src/cpu.rs:180:5 [INFO] [stderr] | [INFO] [stderr] 180 | fn debug_draw_sprite() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `write_reg_vx` [INFO] [stderr] --> src/cpu.rs:184:5 [INFO] [stderr] | [INFO] [stderr] 184 | pub fn write_reg_vx(&mut self, index: u8, value: u8){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `read_reg_vx` [INFO] [stderr] --> src/cpu.rs:188:5 [INFO] [stderr] | [INFO] [stderr] 188 | pub fn read_reg_vx(&mut self, index: u8) -> u8{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print_reg_values` [INFO] [stderr] --> src/cpu.rs:192:5 [INFO] [stderr] | [INFO] [stderr] 192 | pub fn print_reg_values(&mut self, bus: &mut Bus) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `key_pressed` [INFO] [stderr] --> src/keyboard.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | key_pressed: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_key_pressed` [INFO] [stderr] --> src/keyboard.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn is_key_pressed(&self, key_code: u8) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_key_pressed` [INFO] [stderr] --> src/keyboard.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn set_key_pressed(&mut self, key: Option){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_key_pressed` [INFO] [stderr] --> src/keyboard.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn get_key_pressed(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print_reg_values` [INFO] [stderr] --> src/chip.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn print_reg_values(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_display_buffer` [INFO] [stderr] --> src/chip.rs:35:4 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn get_display_buffer(&self) -> &[u8] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_key_pressed` [INFO] [stderr] --> src/chip.rs:39:4 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn set_key_pressed(&mut self, key: Option) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `keyboard` [INFO] [stderr] --> src/bus.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | keyboard: Keyboard, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `display` [INFO] [stderr] --> src/bus.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | display: Display, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `delay_timer_set_time` [INFO] [stderr] --> src/bus.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | delay_timer_set_time: time::Instant, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `reg_bus` [INFO] [stderr] --> src/bus.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | reg_bus: u8, // this is the bus regitor [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `ram_write_byte` [INFO] [stderr] --> src/bus.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn ram_write_byte(&mut self, address: u16, value: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `debug_draw_byte` [INFO] [stderr] --> src/bus.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn debug_draw_byte(&mut self, byte: u8, x: u8, y: u8) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `clear_screen` [INFO] [stderr] --> src/bus.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn clear_screen(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_key_pressed` [INFO] [stderr] --> src/bus.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn set_key_pressed(&mut self, key: Option) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_key_pressed` [INFO] [stderr] --> src/bus.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn is_key_pressed(&self, key_code: u8) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_delay_timer` [INFO] [stderr] --> src/bus.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | pub fn set_delay_timer(&mut self, value: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_delay_timer` [INFO] [stderr] --> src/bus.rs:57:5 [INFO] [stderr] | [INFO] [stderr] 57 | pub fn get_delay_timer(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_display_buffer` [INFO] [stderr] --> src/bus.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | pub fn get_display_buffer(&self) -> &[u8] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_reg_bus` [INFO] [stderr] --> src/bus.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 72 | pub fn get_reg_bus(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `screen` [INFO] [stderr] --> src/display.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | screen: [u8; WIDTH * HEIGHT], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_index_from_coords` [INFO] [stderr] --> src/display.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn get_index_from_coords(x: usize, y: usize) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `debug_draw_raw` [INFO] [stderr] --> src/display.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn debug_draw_raw(&mut self, byte: u8, x: u8, y: u8) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `clear` [INFO] [stderr] --> src/display.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | pub fn clear(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_display_buffer` [INFO] [stderr] --> src/display.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | pub fn get_display_buffer(&self) -> &[u8] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused attribute [INFO] [stderr] --> src/display.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #![feature(type_ascription)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_attributes)]` on by default [INFO] [stderr] [INFO] [stderr] warning: crate-level attribute should be in the root module [INFO] [stderr] --> src/display.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #![feature(type_ascription)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `vx` [INFO] [stderr] --> src/cpu.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | vx: [u8; 3], // number of general regesters [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field is never read: `alu` [INFO] [stderr] --> src/cpu.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | alu: u8, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `ret_stack` [INFO] [stderr] --> src/cpu.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | ret_stack: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `rng` [INFO] [stderr] --> src/cpu.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | rng: rand::ThreadRng, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `debug_draw_sprite` [INFO] [stderr] --> src/cpu.rs:180:5 [INFO] [stderr] | [INFO] [stderr] 180 | fn debug_draw_sprite() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `write_reg_vx` [INFO] [stderr] --> src/cpu.rs:184:5 [INFO] [stderr] | [INFO] [stderr] 184 | pub fn write_reg_vx(&mut self, index: u8, value: u8){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `read_reg_vx` [INFO] [stderr] --> src/cpu.rs:188:5 [INFO] [stderr] | [INFO] [stderr] 188 | pub fn read_reg_vx(&mut self, index: u8) -> u8{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print_reg_values` [INFO] [stderr] --> src/cpu.rs:192:5 [INFO] [stderr] | [INFO] [stderr] 192 | pub fn print_reg_values(&mut self, bus: &mut Bus) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `key_pressed` [INFO] [stderr] --> src/keyboard.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | key_pressed: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_key_pressed` [INFO] [stderr] --> src/keyboard.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn is_key_pressed(&self, key_code: u8) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_key_pressed` [INFO] [stderr] --> src/keyboard.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn set_key_pressed(&mut self, key: Option){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_key_pressed` [INFO] [stderr] --> src/keyboard.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn get_key_pressed(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print_reg_values` [INFO] [stderr] --> src/chip.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn print_reg_values(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_display_buffer` [INFO] [stderr] --> src/chip.rs:35:4 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn get_display_buffer(&self) -> &[u8] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 39 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_key_pressed` [INFO] [stderr] --> src/chip.rs:39:4 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn set_key_pressed(&mut self, key: Option) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `keyboard` [INFO] [stderr] --> src/bus.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | keyboard: Keyboard, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `display` [INFO] [stderr] --> src/bus.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | display: Display, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `delay_timer_set_time` [INFO] [stderr] --> src/bus.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | delay_timer_set_time: time::Instant, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `reg_bus` [INFO] [stderr] --> src/bus.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | reg_bus: u8, // this is the bus regitor [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `ram_write_byte` [INFO] [stderr] --> src/bus.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn ram_write_byte(&mut self, address: u16, value: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `debug_draw_byte` [INFO] [stderr] --> src/bus.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn debug_draw_byte(&mut self, byte: u8, x: u8, y: u8) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `clear_screen` [INFO] [stderr] --> src/bus.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn clear_screen(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_key_pressed` [INFO] [stderr] --> src/bus.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn set_key_pressed(&mut self, key: Option) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_key_pressed` [INFO] [stderr] --> src/bus.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn is_key_pressed(&self, key_code: u8) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_delay_timer` [INFO] [stderr] --> src/bus.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | pub fn set_delay_timer(&mut self, value: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_delay_timer` [INFO] [stderr] --> src/bus.rs:57:5 [INFO] [stderr] | [INFO] [stderr] 57 | pub fn get_delay_timer(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_display_buffer` [INFO] [stderr] --> src/bus.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | pub fn get_display_buffer(&self) -> &[u8] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_reg_bus` [INFO] [stderr] --> src/bus.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 72 | pub fn get_reg_bus(&self) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `screen` [INFO] [stderr] --> src/display.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | screen: [u8; WIDTH * HEIGHT], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_index_from_coords` [INFO] [stderr] --> src/display.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn get_index_from_coords(x: usize, y: usize) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `debug_draw_raw` [INFO] [stderr] --> src/display.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn debug_draw_raw(&mut self, byte: u8, x: u8, y: u8) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `clear` [INFO] [stderr] --> src/display.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | pub fn clear(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_display_buffer` [INFO] [stderr] --> src/display.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | pub fn get_display_buffer(&self) -> &[u8] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused attribute [INFO] [stderr] --> src/display.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #![feature(type_ascription)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_attributes)]` on by default [INFO] [stderr] [INFO] [stderr] warning: crate-level attribute should be in the root module [INFO] [stderr] --> src/display.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #![feature(type_ascription)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 39 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 12.52s [INFO] running `"docker" "inspect" "d5a0a52b0a8b2e4f06595f96c302fea58cc517b32706f8b86b445eb88a5323af"` [INFO] running `"docker" "rm" "-f" "d5a0a52b0a8b2e4f06595f96c302fea58cc517b32706f8b86b445eb88a5323af"` [INFO] [stdout] d5a0a52b0a8b2e4f06595f96c302fea58cc517b32706f8b86b445eb88a5323af