[INFO] cloning repository https://github.com/lalilinx/chip8 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lalilinx/chip8" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flalilinx%2Fchip8", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flalilinx%2Fchip8'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 638c5a2a44594a69b83b15084f6c99965200863a [INFO] building lalilinx/chip8 against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flalilinx%2Fchip8" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/lalilinx/chip8 [INFO] finished tweaking git repo https://github.com/lalilinx/chip8 [INFO] tweaked toml for git repo https://github.com/lalilinx/chip8 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/lalilinx/chip8 on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/lalilinx/chip8 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded pixels v0.15.0 [INFO] [stderr] Downloaded range-alloc v0.1.4 [INFO] [stderr] Downloaded sctk-adwaita v0.8.3 [INFO] [stderr] Downloaded winit_input_helper v0.15.3 [INFO] [stderr] Downloaded safe_arch v0.7.4 [INFO] [stderr] Downloaded wide v0.7.33 [INFO] [stderr] Downloaded wgpu-hal v0.19.5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a11192a8ce43062838f660876f2d3ecca66fd13f5665f4195528e9ce436d7946 [INFO] running `Command { std: "docker" "start" "-a" "a11192a8ce43062838f660876f2d3ecca66fd13f5665f4195528e9ce436d7946", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a11192a8ce43062838f660876f2d3ecca66fd13f5665f4195528e9ce436d7946", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a11192a8ce43062838f660876f2d3ecca66fd13f5665f4195528e9ce436d7946", kill_on_drop: false }` [INFO] [stdout] a11192a8ce43062838f660876f2d3ecca66fd13f5665f4195528e9ce436d7946 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6c5bfd1fbde66f17b34e36f793caaa81ac03b4c41e859ccf45b1c0a179a9d9eb [INFO] running `Command { std: "docker" "start" "-a" "6c5bfd1fbde66f17b34e36f793caaa81ac03b4c41e859ccf45b1c0a179a9d9eb", kill_on_drop: false }` [INFO] [stderr] Compiling libloading v0.8.8 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling cfg_aliases v0.1.1 [INFO] [stderr] Compiling wayland-sys v0.31.6 [INFO] [stderr] Compiling cc v1.2.29 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling wayland-client v0.31.10 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling bytemuck v1.23.1 [INFO] [stderr] Compiling rustix v1.0.7 [INFO] [stderr] Compiling tracing-core v0.1.34 [INFO] [stderr] Compiling linux-raw-sys v0.9.4 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling ash v0.37.3+1.3.251 [INFO] [stderr] Compiling khronos-egl v6.0.0 [INFO] [stderr] Compiling wgpu-hal v0.19.5 [INFO] [stderr] Compiling codespan-reporting v0.11.1 [INFO] [stderr] Compiling gpu-alloc-types v0.3.0 [INFO] [stderr] Compiling spirv v0.3.0+sdk-1.3.268.0 [INFO] [stderr] Compiling gpu-descriptor-types v0.1.2 [INFO] [stderr] Compiling dlib v0.5.2 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling libloading v0.7.4 [INFO] [stderr] Compiling hexf-parse v0.2.1 [INFO] [stderr] Compiling smithay-client-toolkit v0.18.1 [INFO] [stderr] Compiling unicode-xid v0.2.6 [INFO] [stderr] Compiling tiny-skia-path v0.11.4 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling gpu-alloc v0.6.0 [INFO] [stderr] Compiling quick-xml v0.37.5 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling wgpu-core v0.19.4 [INFO] [stderr] Compiling memmap2 v0.9.5 [INFO] [stderr] Compiling wgpu-types v0.19.2 [INFO] [stderr] Compiling renderdoc-sys v1.1.0 [INFO] [stderr] Compiling gpu-descriptor v0.2.4 [INFO] [stderr] Compiling profiling v1.0.17 [INFO] [stderr] Compiling glow v0.13.1 [INFO] [stderr] Compiling ab_glyph_rasterizer v0.1.9 [INFO] [stderr] Compiling tiny-skia v0.11.4 [INFO] [stderr] Compiling safe_arch v0.7.4 [INFO] [stderr] Compiling winit v0.29.15 [INFO] [stderr] Compiling ab_glyph v0.2.30 [INFO] [stderr] Compiling wgpu v0.19.4 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling x11rb v0.13.1 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Compiling xkbcommon-dl v0.4.2 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling wide v0.7.33 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling wayland-backend v0.3.10 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling wayland-scanner v0.31.6 [INFO] [stderr] Compiling pollster v0.3.0 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling crossbeam v0.8.4 [INFO] [stderr] Compiling wayland-csd-frame v0.3.0 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling naga v0.19.2 [INFO] [stderr] Compiling ultraviolet v0.9.2 [INFO] [stderr] Compiling polling v3.8.0 [INFO] [stderr] Compiling calloop v0.12.4 [INFO] [stderr] Compiling wayland-protocols v0.31.2 [INFO] [stderr] Compiling wayland-cursor v0.31.10 [INFO] [stderr] Compiling calloop-wayland-source v0.2.0 [INFO] [stderr] Compiling wayland-protocols-wlr v0.2.0 [INFO] [stderr] Compiling wayland-protocols-plasma v0.2.0 [INFO] [stderr] Compiling sctk-adwaita v0.8.3 [INFO] [stderr] Compiling winit_input_helper v0.15.3 [INFO] [stderr] Compiling pixels v0.15.0 [INFO] [stderr] Compiling chip8-emulator v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/main.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | let mut input = WinitInputHelper::new(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `last_render_tick` [INFO] [stdout] --> src/main.rs:86:17 [INFO] [stdout] | [INFO] [stdout] 86 | let mut last_render_tick = Instant::now(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_render_tick` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/main.rs:162:44 [INFO] [stdout] | [INFO] [stdout] 162 | TrySendError::Full(f) => {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `d` [INFO] [stdout] --> src/main.rs:163:52 [INFO] [stdout] | [INFO] [stdout] 163 | TrySendError::Disconnected(d) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 86 | let mut last_render_tick = Instant::now(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | let mut input = WinitInputHelper::new(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ranNum` [INFO] [stdout] --> src/main.rs:563:21 [INFO] [stdout] | [INFO] [stdout] 563 | let ranNum: u8 = rand::thread_rng().r#gen(); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 563 | let _ranNum: u8 = rand::thread_rng().r#gen(); [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SCREEN_HEIGHT` [INFO] [stdout] | [INFO] [stdout] 563 - let ranNum: u8 = rand::thread_rng().r#gen(); [INFO] [stdout] 563 + let SCREEN_HEIGHT: u8 = rand::thread_rng().r#gen(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/main.rs:672:26 [INFO] [stdout] | [INFO] [stdout] 672 | fn get_sprite(&self, i: &u16, n: &u8) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/main.rs:672:35 [INFO] [stdout] | [INFO] [stdout] 672 | fn get_sprite(&self, i: &u16, n: &u8) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FPS` is never used [INFO] [stdout] --> src/main.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const FPS: f32 = 16.67; // 60 frames per second or 60 Hz [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FONTSET_START_ADDRESS` is never used [INFO] [stdout] --> src/main.rs:22:7 [INFO] [stdout] | [INFO] [stdout] 22 | const FONTSET_START_ADDRESS: u16 = 0x50; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MEMORY_SIZE` is never used [INFO] [stdout] --> src/main.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | const MEMORY_SIZE: usize = 4096; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RENDER_HZ` is never used [INFO] [stdout] --> src/main.rs:30:7 [INFO] [stdout] | [INFO] [stdout] 30 | const RENDER_HZ: u64 = 120; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_key_pressed` is never used [INFO] [stdout] --> src/main.rs:258:8 [INFO] [stdout] | [INFO] [stdout] 218 | impl InputHandler { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 258 | fn is_key_pressed(&self, key: u8) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/main.rs:301:5 [INFO] [stdout] | [INFO] [stdout] 300 | struct Chip8 { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 301 | registers: [u8; 16], [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 302 | i: u16, [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 305 | stack: [u16; 16], // Stack for storing return addresses [INFO] [stdout] | ^^^^^ [INFO] [stdout] 306 | delay_timer: u8, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 307 | sound_timer: u8, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 313 | draw_flag: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 314 | frame_buffer: Arc>, // memory: Memory, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `nibble` is never used [INFO] [stdout] --> src/main.rs:318:4 [INFO] [stdout] | [INFO] [stdout] 318 | fn nibble(value: &u16, n: u8) -> u8 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/main.rs:350:8 [INFO] [stdout] | [INFO] [stdout] 322 | impl Chip8 { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 350 | fn load_rom(&mut self, path: String) -> Result<(), io::Error> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 380 | fn update_timer(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 390 | fn cycle(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 398 | fn fetch(&self) -> u16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 402 | fn decode_and_execute(&mut self, inst: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 672 | fn get_sprite(&self, i: &u16, n: &u8) {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 673 | [INFO] [stdout] 674 | fn get_register_data(&self, regi: &u8) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 678 | fn register(&mut self, regi: u8, data: u8) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 686 | fn push(&mut self, data: u16) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 695 | fn pop(&mut self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:469:17 [INFO] [stdout] | [INFO] [stdout] 469 | self.register(x, kk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 469 | let _ = self.register(x, kk); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:475:17 [INFO] [stdout] | [INFO] [stdout] 475 | self.register(x, vx + kk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 475 | let _ = self.register(x, vx + kk); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:486:25 [INFO] [stdout] | [INFO] [stdout] 486 | self.register(x, vy); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 486 | let _ = self.register(x, vy); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:489:25 [INFO] [stdout] | [INFO] [stdout] 489 | self.register(x, vx | vy); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 489 | let _ = self.register(x, vx | vy); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:492:25 [INFO] [stdout] | [INFO] [stdout] 492 | self.register(x, vx & vy); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 492 | let _ = self.register(x, vx & vy); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:495:25 [INFO] [stdout] | [INFO] [stdout] 495 | self.register(x, vx ^ vy); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 495 | let _ = self.register(x, vx ^ vy); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:500:29 [INFO] [stdout] | [INFO] [stdout] 500 | ... self.register(0xF, 0x1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 500 | let _ = self.register(0xF, 0x1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:501:29 [INFO] [stdout] | [INFO] [stdout] 501 | ... self.register(x, sum); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 501 | let _ = self.register(x, sum); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:504:25 [INFO] [stdout] | [INFO] [stdout] 504 | self.register(0xF, 0x0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 504 | let _ = self.register(0xF, 0x0); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:508:29 [INFO] [stdout] | [INFO] [stdout] 508 | ... self.register(0xF, 0x1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 508 | let _ = self.register(0xF, 0x1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:509:29 [INFO] [stdout] | [INFO] [stdout] 509 | ... self.register(x, vx - vy); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 509 | let _ = self.register(x, vx - vy); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:512:25 [INFO] [stdout] | [INFO] [stdout] 512 | self.register(0xF, 0x0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 512 | let _ = self.register(0xF, 0x0); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:517:29 [INFO] [stdout] | [INFO] [stdout] 517 | ... self.register(0xF, lsb); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 517 | let _ = self.register(0xF, lsb); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:518:29 [INFO] [stdout] | [INFO] [stdout] 518 | ... self.register(x, vx >> 0x1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 518 | let _ = self.register(x, vx >> 0x1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:520:25 [INFO] [stdout] | [INFO] [stdout] 520 | self.register(0xF, 0x0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 520 | let _ = self.register(0xF, 0x0); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:524:29 [INFO] [stdout] | [INFO] [stdout] 524 | ... self.register(0xF, 0x1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 524 | let _ = self.register(0xF, 0x1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:525:29 [INFO] [stdout] | [INFO] [stdout] 525 | ... self.register(x, vy - vx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 525 | let _ = self.register(x, vy - vx); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:527:25 [INFO] [stdout] | [INFO] [stdout] 527 | self.register(0xF, 0x0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 527 | let _ = self.register(0xF, 0x0); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:532:29 [INFO] [stdout] | [INFO] [stdout] 532 | ... self.register(0xF, 0x1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 532 | let _ = self.register(0xF, 0x1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:533:29 [INFO] [stdout] | [INFO] [stdout] 533 | ... self.register(x, vx << 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 533 | let _ = self.register(x, vx << 1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:535:25 [INFO] [stdout] | [INFO] [stdout] 535 | self.register(0xF, 0x0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 535 | let _ = self.register(0xF, 0x0); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `ranNum` should have a snake case name [INFO] [stdout] --> src/main.rs:563:21 [INFO] [stdout] | [INFO] [stdout] 563 | let ranNum: u8 = rand::thread_rng().r#gen(); [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `ran_num` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:565:17 [INFO] [stdout] | [INFO] [stdout] 565 | self.register(x, vx & kk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 565 | let _ = self.register(x, vx & kk); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:593:17 [INFO] [stdout] | [INFO] [stdout] 593 | self.register(0xF, vf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 593 | let _ = self.register(0xF, vf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:625:25 [INFO] [stdout] | [INFO] [stdout] 625 | self.register(x, self.delay_timer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 625 | let _ = self.register(x, self.delay_timer); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:630:33 [INFO] [stdout] | [INFO] [stdout] 630 | ... self.register(x, key as u8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 630 | let _ = self.register(x, key as u8); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:661:29 [INFO] [stdout] | [INFO] [stdout] 661 | ... self.register(v, self.memory[self.i as usize]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 661 | let _ = self.register(v, self.memory[self.i as usize]); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 27s [INFO] running `Command { std: "docker" "inspect" "6c5bfd1fbde66f17b34e36f793caaa81ac03b4c41e859ccf45b1c0a179a9d9eb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6c5bfd1fbde66f17b34e36f793caaa81ac03b4c41e859ccf45b1c0a179a9d9eb", kill_on_drop: false }` [INFO] [stdout] 6c5bfd1fbde66f17b34e36f793caaa81ac03b4c41e859ccf45b1c0a179a9d9eb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a6fbe7a6b129839b26c2cd6bada8f8829222abc8a475254f499ab16a88d3cafe [INFO] running `Command { std: "docker" "start" "-a" "a6fbe7a6b129839b26c2cd6bada8f8829222abc8a475254f499ab16a88d3cafe", kill_on_drop: false }` [INFO] [stderr] Compiling chip8-emulator v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/main.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | let mut input = WinitInputHelper::new(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `last_render_tick` [INFO] [stdout] --> src/main.rs:86:17 [INFO] [stdout] | [INFO] [stdout] 86 | let mut last_render_tick = Instant::now(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_render_tick` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/main.rs:162:44 [INFO] [stdout] | [INFO] [stdout] 162 | TrySendError::Full(f) => {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `d` [INFO] [stdout] --> src/main.rs:163:52 [INFO] [stdout] | [INFO] [stdout] 163 | TrySendError::Disconnected(d) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 86 | let mut last_render_tick = Instant::now(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | let mut input = WinitInputHelper::new(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ranNum` [INFO] [stdout] --> src/main.rs:563:21 [INFO] [stdout] | [INFO] [stdout] 563 | let ranNum: u8 = rand::thread_rng().r#gen(); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 563 | let _ranNum: u8 = rand::thread_rng().r#gen(); [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `SCREEN_HEIGHT` [INFO] [stdout] | [INFO] [stdout] 563 - let ranNum: u8 = rand::thread_rng().r#gen(); [INFO] [stdout] 563 + let SCREEN_HEIGHT: u8 = rand::thread_rng().r#gen(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/main.rs:672:26 [INFO] [stdout] | [INFO] [stdout] 672 | fn get_sprite(&self, i: &u16, n: &u8) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/main.rs:672:35 [INFO] [stdout] | [INFO] [stdout] 672 | fn get_sprite(&self, i: &u16, n: &u8) {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FPS` is never used [INFO] [stdout] --> src/main.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const FPS: f32 = 16.67; // 60 frames per second or 60 Hz [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FONTSET_START_ADDRESS` is never used [INFO] [stdout] --> src/main.rs:22:7 [INFO] [stdout] | [INFO] [stdout] 22 | const FONTSET_START_ADDRESS: u16 = 0x50; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MEMORY_SIZE` is never used [INFO] [stdout] --> src/main.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | const MEMORY_SIZE: usize = 4096; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RENDER_HZ` is never used [INFO] [stdout] --> src/main.rs:30:7 [INFO] [stdout] | [INFO] [stdout] 30 | const RENDER_HZ: u64 = 120; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_key_pressed` is never used [INFO] [stdout] --> src/main.rs:258:8 [INFO] [stdout] | [INFO] [stdout] 218 | impl InputHandler { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 258 | fn is_key_pressed(&self, key: u8) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/main.rs:301:5 [INFO] [stdout] | [INFO] [stdout] 300 | struct Chip8 { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 301 | registers: [u8; 16], [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 302 | i: u16, [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 305 | stack: [u16; 16], // Stack for storing return addresses [INFO] [stdout] | ^^^^^ [INFO] [stdout] 306 | delay_timer: u8, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 307 | sound_timer: u8, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 313 | draw_flag: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 314 | frame_buffer: Arc>, // memory: Memory, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `nibble` is never used [INFO] [stdout] --> src/main.rs:318:4 [INFO] [stdout] | [INFO] [stdout] 318 | fn nibble(value: &u16, n: u8) -> u8 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/main.rs:350:8 [INFO] [stdout] | [INFO] [stdout] 322 | impl Chip8 { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 350 | fn load_rom(&mut self, path: String) -> Result<(), io::Error> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 380 | fn update_timer(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 390 | fn cycle(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 398 | fn fetch(&self) -> u16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 402 | fn decode_and_execute(&mut self, inst: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 672 | fn get_sprite(&self, i: &u16, n: &u8) {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 673 | [INFO] [stdout] 674 | fn get_register_data(&self, regi: &u8) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 678 | fn register(&mut self, regi: u8, data: u8) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 686 | fn push(&mut self, data: u16) -> Result<(), &'static str> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 695 | fn pop(&mut self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:469:17 [INFO] [stdout] | [INFO] [stdout] 469 | self.register(x, kk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 469 | let _ = self.register(x, kk); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:475:17 [INFO] [stdout] | [INFO] [stdout] 475 | self.register(x, vx + kk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 475 | let _ = self.register(x, vx + kk); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:486:25 [INFO] [stdout] | [INFO] [stdout] 486 | self.register(x, vy); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 486 | let _ = self.register(x, vy); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:489:25 [INFO] [stdout] | [INFO] [stdout] 489 | self.register(x, vx | vy); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 489 | let _ = self.register(x, vx | vy); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:492:25 [INFO] [stdout] | [INFO] [stdout] 492 | self.register(x, vx & vy); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 492 | let _ = self.register(x, vx & vy); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:495:25 [INFO] [stdout] | [INFO] [stdout] 495 | self.register(x, vx ^ vy); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 495 | let _ = self.register(x, vx ^ vy); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:500:29 [INFO] [stdout] | [INFO] [stdout] 500 | ... self.register(0xF, 0x1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 500 | let _ = self.register(0xF, 0x1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:501:29 [INFO] [stdout] | [INFO] [stdout] 501 | ... self.register(x, sum); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 501 | let _ = self.register(x, sum); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:504:25 [INFO] [stdout] | [INFO] [stdout] 504 | self.register(0xF, 0x0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 504 | let _ = self.register(0xF, 0x0); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:508:29 [INFO] [stdout] | [INFO] [stdout] 508 | ... self.register(0xF, 0x1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 508 | let _ = self.register(0xF, 0x1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:509:29 [INFO] [stdout] | [INFO] [stdout] 509 | ... self.register(x, vx - vy); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 509 | let _ = self.register(x, vx - vy); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:512:25 [INFO] [stdout] | [INFO] [stdout] 512 | self.register(0xF, 0x0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 512 | let _ = self.register(0xF, 0x0); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:517:29 [INFO] [stdout] | [INFO] [stdout] 517 | ... self.register(0xF, lsb); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 517 | let _ = self.register(0xF, lsb); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:518:29 [INFO] [stdout] | [INFO] [stdout] 518 | ... self.register(x, vx >> 0x1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 518 | let _ = self.register(x, vx >> 0x1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:520:25 [INFO] [stdout] | [INFO] [stdout] 520 | self.register(0xF, 0x0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 520 | let _ = self.register(0xF, 0x0); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:524:29 [INFO] [stdout] | [INFO] [stdout] 524 | ... self.register(0xF, 0x1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 524 | let _ = self.register(0xF, 0x1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:525:29 [INFO] [stdout] | [INFO] [stdout] 525 | ... self.register(x, vy - vx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 525 | let _ = self.register(x, vy - vx); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:527:25 [INFO] [stdout] | [INFO] [stdout] 527 | self.register(0xF, 0x0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 527 | let _ = self.register(0xF, 0x0); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:532:29 [INFO] [stdout] | [INFO] [stdout] 532 | ... self.register(0xF, 0x1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 532 | let _ = self.register(0xF, 0x1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:533:29 [INFO] [stdout] | [INFO] [stdout] 533 | ... self.register(x, vx << 1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 533 | let _ = self.register(x, vx << 1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:535:25 [INFO] [stdout] | [INFO] [stdout] 535 | self.register(0xF, 0x0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 535 | let _ = self.register(0xF, 0x0); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `ranNum` should have a snake case name [INFO] [stdout] --> src/main.rs:563:21 [INFO] [stdout] | [INFO] [stdout] 563 | let ranNum: u8 = rand::thread_rng().r#gen(); [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `ran_num` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:565:17 [INFO] [stdout] | [INFO] [stdout] 565 | self.register(x, vx & kk); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 565 | let _ = self.register(x, vx & kk); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:593:17 [INFO] [stdout] | [INFO] [stdout] 593 | self.register(0xF, vf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 593 | let _ = self.register(0xF, vf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:625:25 [INFO] [stdout] | [INFO] [stdout] 625 | self.register(x, self.delay_timer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 625 | let _ = self.register(x, self.delay_timer); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:630:33 [INFO] [stdout] | [INFO] [stdout] 630 | ... self.register(x, key as u8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 630 | let _ = self.register(x, key as u8); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:661:29 [INFO] [stdout] | [INFO] [stdout] 661 | ... self.register(v, self.memory[self.i as usize]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 661 | let _ = self.register(v, self.memory[self.i as usize]); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.12s [INFO] running `Command { std: "docker" "inspect" "a6fbe7a6b129839b26c2cd6bada8f8829222abc8a475254f499ab16a88d3cafe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a6fbe7a6b129839b26c2cd6bada8f8829222abc8a475254f499ab16a88d3cafe", kill_on_drop: false }` [INFO] [stdout] a6fbe7a6b129839b26c2cd6bada8f8829222abc8a475254f499ab16a88d3cafe