[INFO] cloning repository https://github.com/mahimahi42/chip8 [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mahimahi42/chip8" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmahimahi42%2Fchip8"` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmahimahi42%2Fchip8'... [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 094b1ec56ce474369a81daa3b4654a3b2b4afe3a [INFO] testing mahimahi42/chip8 against 1.44.0 for beta-1.45-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmahimahi42%2Fchip8" "/workspace/builds/worker-4/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/mahimahi42/chip8 on toolchain 1.44.0 [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/mahimahi42/chip8 [INFO] finished tweaking git repo https://github.com/mahimahi42/chip8 [INFO] tweaked toml for git repo https://github.com/mahimahi42/chip8 written to /workspace/builds/worker-4/source/Cargo.toml [INFO] crate git repo https://github.com/mahimahi42/chip8 already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "build" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] a44b3b11a5cf6b575e232e32b7623a29c1cfc733b9340ef69005a0dd549eaa50 [INFO] running `"docker" "start" "-a" "a44b3b11a5cf6b575e232e32b7623a29c1cfc733b9340ef69005a0dd549eaa50"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling autocfg v0.1.5 [INFO] [stderr] Compiling bitflags v1.1.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.5 [INFO] [stderr] Compiling sdl2 v0.32.2 [INFO] [stderr] Compiling strsim v0.8.0 [INFO] [stderr] Compiling c_vec v1.3.3 [INFO] [stderr] Compiling vec_map v0.8.1 [INFO] [stderr] Compiling fps_clock v2.0.0 [INFO] [stderr] Compiling sdl2-sys v0.32.6 [INFO] [stderr] Compiling rand_jitter v0.1.4 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling getrandom v0.1.7 [INFO] [stderr] Compiling rand_os v0.1.3 [INFO] [stderr] Compiling atty v0.2.13 [INFO] [stderr] Compiling rand_core v0.5.0 [INFO] [stderr] Compiling clap v2.33.0 [INFO] [stderr] Compiling rand_pcg v0.2.1 [INFO] [stderr] Compiling num-traits v0.2.8 [INFO] [stderr] Compiling num-integer v0.1.41 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling num-iter v0.1.39 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling c2-chacha v0.2.2 [INFO] [stderr] Compiling rand_chacha v0.2.1 [INFO] [stderr] Compiling rand v0.7.0 [INFO] [stderr] Compiling num v0.1.42 [INFO] [stderr] Compiling chip8 v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused imports: `Rng`, `SeedableRng` [INFO] [stderr] --> src/cpu/cpu.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | use rand::{SeedableRng, RngCore, Rng}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `sdl2::EventPump` [INFO] [stderr] --> src/display/display.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use sdl2::EventPump; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Chip8Audio` [INFO] [stderr] --> src/audio/audio.rs:3:12 [INFO] [stderr] | [INFO] [stderr] 3 | pub struct Chip8Audio { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/audio/audio.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | pub fn new(sdl: &sdl2::Sdl) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `play` [INFO] [stderr] --> src/audio/audio.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | pub fn play(&self) { self.device.resume(); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `stop` [INFO] [stderr] --> src/audio/audio.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn stop(&self) { self.device.pause(); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `RAM` [INFO] [stderr] --> src/cpu/cpu.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | const RAM: usize = 4096; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `HEIGHT` [INFO] [stderr] --> src/cpu/cpu.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | const HEIGHT: usize = 32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `WIDTH` [INFO] [stderr] --> src/cpu/cpu.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | const WIDTH: usize = 64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `PROG_START` [INFO] [stderr] --> src/cpu/cpu.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | const PROG_START: usize = 0x200; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `FONT` [INFO] [stderr] --> src/cpu/cpu.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | / const FONT: [u8; 80] = [ [INFO] [stderr] 14 | | 0xF0, 0x90, 0x90, 0x90, 0xF0, [INFO] [stderr] 15 | | 0x20, 0x60, 0x20, 0x20, 0x70, [INFO] [stderr] 16 | | 0xF0, 0x10, 0xF0, 0x80, 0xF0, [INFO] [stderr] ... | [INFO] [stderr] 29 | | 0xF0, 0x80, 0xF0, 0x80, 0x80, [INFO] [stderr] 30 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Chip8Cpu` [INFO] [stderr] --> src/cpu/cpu.rs:88:12 [INFO] [stderr] | [INFO] [stderr] 88 | pub struct Chip8Cpu { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/cpu/cpu.rs:103:5 [INFO] [stderr] | [INFO] [stderr] 103 | pub fn new() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `load_rom` [INFO] [stderr] --> src/cpu/cpu.rs:124:5 [INFO] [stderr] | [INFO] [stderr] 124 | pub fn load_rom(&mut self, path: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `read_rom` [INFO] [stderr] --> src/cpu/cpu.rs:138:5 [INFO] [stderr] | [INFO] [stderr] 138 | fn read_rom(&self, path: &str) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `fetch_opcode` [INFO] [stderr] --> src/cpu/cpu.rs:147:5 [INFO] [stderr] | [INFO] [stderr] 147 | fn fetch_opcode(&self) -> Opcode { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `tick` [INFO] [stderr] --> src/cpu/cpu.rs:151:5 [INFO] [stderr] | [INFO] [stderr] 151 | pub fn tick(&mut self, input: [bool; 16]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `decode_opcode` [INFO] [stderr] --> src/cpu/cpu.rs:163:5 [INFO] [stderr] | [INFO] [stderr] 163 | fn decode_opcode(&mut self, op: Opcode, input: [bool; 16]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `cls_00E0` [INFO] [stderr] --> src/cpu/cpu.rs:207:5 [INFO] [stderr] | [INFO] [stderr] 207 | fn cls_00E0(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `ret_00EE` [INFO] [stderr] --> src/cpu/cpu.rs:217:5 [INFO] [stderr] | [INFO] [stderr] 217 | fn ret_00EE(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `jp_addr_1nnn` [INFO] [stderr] --> src/cpu/cpu.rs:222:5 [INFO] [stderr] | [INFO] [stderr] 222 | fn jp_addr_1nnn(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `call_addr_2nnn` [INFO] [stderr] --> src/cpu/cpu.rs:226:5 [INFO] [stderr] | [INFO] [stderr] 226 | fn call_addr_2nnn(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `se_vx_kk_3xkk` [INFO] [stderr] --> src/cpu/cpu.rs:232:5 [INFO] [stderr] | [INFO] [stderr] 232 | fn se_vx_kk_3xkk(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `sne_vx_kk_4xkk` [INFO] [stderr] --> src/cpu/cpu.rs:236:5 [INFO] [stderr] | [INFO] [stderr] 236 | fn sne_vx_kk_4xkk(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `se_vx_vy_5xy0` [INFO] [stderr] --> src/cpu/cpu.rs:240:5 [INFO] [stderr] | [INFO] [stderr] 240 | fn se_vx_vy_5xy0(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `ld_vx_kk_6xkk` [INFO] [stderr] --> src/cpu/cpu.rs:244:5 [INFO] [stderr] | [INFO] [stderr] 244 | fn ld_vx_kk_6xkk(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add_vx_kk_7xkk` [INFO] [stderr] --> src/cpu/cpu.rs:249:5 [INFO] [stderr] | [INFO] [stderr] 249 | fn add_vx_kk_7xkk(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `ld_vx_vy_8xy0` [INFO] [stderr] --> src/cpu/cpu.rs:255:5 [INFO] [stderr] | [INFO] [stderr] 255 | fn ld_vx_vy_8xy0(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `or_vx_vy_8xy1` [INFO] [stderr] --> src/cpu/cpu.rs:260:5 [INFO] [stderr] | [INFO] [stderr] 260 | fn or_vx_vy_8xy1(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `and_vx_vy_8xy2` [INFO] [stderr] --> src/cpu/cpu.rs:265:5 [INFO] [stderr] | [INFO] [stderr] 265 | fn and_vx_vy_8xy2(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `xor_vx_vy_8xy3` [INFO] [stderr] --> src/cpu/cpu.rs:270:5 [INFO] [stderr] | [INFO] [stderr] 270 | fn xor_vx_vy_8xy3(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add_vx_vy_8xy4` [INFO] [stderr] --> src/cpu/cpu.rs:275:5 [INFO] [stderr] | [INFO] [stderr] 275 | fn add_vx_vy_8xy4(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `sub_vx_vy_8xy5` [INFO] [stderr] --> src/cpu/cpu.rs:282:5 [INFO] [stderr] | [INFO] [stderr] 282 | fn sub_vx_vy_8xy5(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `shr_vx_8xy6` [INFO] [stderr] --> src/cpu/cpu.rs:289:5 [INFO] [stderr] | [INFO] [stderr] 289 | fn shr_vx_8xy6(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `subn_vx_vy_8xy7` [INFO] [stderr] --> src/cpu/cpu.rs:295:5 [INFO] [stderr] | [INFO] [stderr] 295 | fn subn_vx_vy_8xy7(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `shl_vx_8xyE` [INFO] [stderr] --> src/cpu/cpu.rs:302:5 [INFO] [stderr] | [INFO] [stderr] 302 | fn shl_vx_8xyE(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `sne_vx_vy_9xy0` [INFO] [stderr] --> src/cpu/cpu.rs:308:5 [INFO] [stderr] | [INFO] [stderr] 308 | fn sne_vx_vy_9xy0(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `ld_i_addr_Annn` [INFO] [stderr] --> src/cpu/cpu.rs:312:5 [INFO] [stderr] | [INFO] [stderr] 312 | fn ld_i_addr_Annn(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `jp_v0_addr_Bnnn` [INFO] [stderr] --> src/cpu/cpu.rs:317:5 [INFO] [stderr] | [INFO] [stderr] 317 | fn jp_v0_addr_Bnnn(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `rnd_vx_kk_Cxkk` [INFO] [stderr] --> src/cpu/cpu.rs:321:5 [INFO] [stderr] | [INFO] [stderr] 321 | fn rnd_vx_kk_Cxkk(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `drw_vx_vy_n_Dxyn` [INFO] [stderr] --> src/cpu/cpu.rs:328:5 [INFO] [stderr] | [INFO] [stderr] 328 | fn drw_vx_vy_n_Dxyn(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `skp_vx_Ex9E` [INFO] [stderr] --> src/cpu/cpu.rs:343:5 [INFO] [stderr] | [INFO] [stderr] 343 | fn skp_vx_Ex9E(&mut self, op: Opcode, input: [bool; 16]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `sknp_vx_ExA1` [INFO] [stderr] --> src/cpu/cpu.rs:352:5 [INFO] [stderr] | [INFO] [stderr] 352 | fn sknp_vx_ExA1(&mut self, op: Opcode, input: [bool; 16]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `ld_vx_dt_Fx07` [INFO] [stderr] --> src/cpu/cpu.rs:361:5 [INFO] [stderr] | [INFO] [stderr] 361 | fn ld_vx_dt_Fx07(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `ld_vx_k_Fx0A` [INFO] [stderr] --> src/cpu/cpu.rs:366:5 [INFO] [stderr] | [INFO] [stderr] 366 | fn ld_vx_k_Fx0A(&mut self, op: Opcode, input: [bool; 16]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `ld_dt_vx_Fx15` [INFO] [stderr] --> src/cpu/cpu.rs:375:5 [INFO] [stderr] | [INFO] [stderr] 375 | fn ld_dt_vx_Fx15(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `ld_st_vx_Fx18` [INFO] [stderr] --> src/cpu/cpu.rs:380:5 [INFO] [stderr] | [INFO] [stderr] 380 | fn ld_st_vx_Fx18(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add_i_vx_Fx1E` [INFO] [stderr] --> src/cpu/cpu.rs:385:5 [INFO] [stderr] | [INFO] [stderr] 385 | fn add_i_vx_Fx1E(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `ld_f_vx_Fx29` [INFO] [stderr] --> src/cpu/cpu.rs:391:5 [INFO] [stderr] | [INFO] [stderr] 391 | fn ld_f_vx_Fx29(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `ld_b_vx_Fx33` [INFO] [stderr] --> src/cpu/cpu.rs:396:5 [INFO] [stderr] | [INFO] [stderr] 396 | fn ld_b_vx_Fx33(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `ld_i_vx_Fx55` [INFO] [stderr] --> src/cpu/cpu.rs:403:5 [INFO] [stderr] | [INFO] [stderr] 403 | fn ld_i_vx_Fx55(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `ld_vx_i_Fx65` [INFO] [stderr] --> src/cpu/cpu.rs:410:5 [INFO] [stderr] | [INFO] [stderr] 410 | fn ld_vx_i_Fx65(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `SCALE` [INFO] [stderr] --> src/display/display.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | const SCALE: u32 = 10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `HEIGHT` [INFO] [stderr] --> src/display/display.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | const HEIGHT: u32 = 32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `WIDTH` [INFO] [stderr] --> src/display/display.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | const WIDTH: u32 = 64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `SCREEN_HEIGHT` [INFO] [stderr] --> src/display/display.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | const SCREEN_HEIGHT: u32 = SCALE * HEIGHT; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `SCREEN_WIDTH` [INFO] [stderr] --> src/display/display.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | const SCREEN_WIDTH: u32 = SCALE * WIDTH; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Chip8Display` [INFO] [stderr] --> src/display/display.rs:14:12 [INFO] [stderr] | [INFO] [stderr] 14 | pub struct Chip8Display { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/display/display.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn new(sdl: &sdl2::Sdl) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `draw` [INFO] [stderr] --> src/display/display.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn draw(&mut self, vram: &[[u8; WIDTH as usize]; HEIGHT as usize]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pix_color` [INFO] [stderr] --> src/display/display.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | fn pix_color(pix: u8) -> pixels::Color { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Chip8Input` [INFO] [stderr] --> src/input/input.rs:3:12 [INFO] [stderr] | [INFO] [stderr] 3 | pub struct Chip8Input { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/input/input.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | pub fn new(sdl: &sdl2::Sdl) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `poll` [INFO] [stderr] --> src/input/input.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn poll(&self) -> [bool; 16] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `cls_00E0` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:207:8 [INFO] [stderr] | [INFO] [stderr] 207 | fn cls_00E0(&mut self) { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `cls_00_e0` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method `ret_00EE` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:217:8 [INFO] [stderr] | [INFO] [stderr] 217 | fn ret_00EE(&mut self) { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `ret_00_ee` [INFO] [stderr] [INFO] [stderr] warning: method `shl_vx_8xyE` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:302:8 [INFO] [stderr] | [INFO] [stderr] 302 | fn shl_vx_8xyE(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `shl_vx_8xy_e` [INFO] [stderr] [INFO] [stderr] warning: method `ld_i_addr_Annn` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:312:8 [INFO] [stderr] | [INFO] [stderr] 312 | fn ld_i_addr_Annn(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `ld_i_addr_annn` [INFO] [stderr] [INFO] [stderr] warning: method `jp_v0_addr_Bnnn` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:317:8 [INFO] [stderr] | [INFO] [stderr] 317 | fn jp_v0_addr_Bnnn(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `jp_v0_addr_bnnn` [INFO] [stderr] [INFO] [stderr] warning: method `rnd_vx_kk_Cxkk` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:321:8 [INFO] [stderr] | [INFO] [stderr] 321 | fn rnd_vx_kk_Cxkk(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `rnd_vx_kk_cxkk` [INFO] [stderr] [INFO] [stderr] warning: method `drw_vx_vy_n_Dxyn` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:328:8 [INFO] [stderr] | [INFO] [stderr] 328 | fn drw_vx_vy_n_Dxyn(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `drw_vx_vy_n_dxyn` [INFO] [stderr] [INFO] [stderr] warning: method `skp_vx_Ex9E` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:343:8 [INFO] [stderr] | [INFO] [stderr] 343 | fn skp_vx_Ex9E(&mut self, op: Opcode, input: [bool; 16]) { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `skp_vx_ex9_e` [INFO] [stderr] [INFO] [stderr] warning: method `sknp_vx_ExA1` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:352:8 [INFO] [stderr] | [INFO] [stderr] 352 | fn sknp_vx_ExA1(&mut self, op: Opcode, input: [bool; 16]) { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `sknp_vx_ex_a1` [INFO] [stderr] [INFO] [stderr] warning: method `ld_vx_dt_Fx07` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:361:8 [INFO] [stderr] | [INFO] [stderr] 361 | fn ld_vx_dt_Fx07(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `ld_vx_dt_fx07` [INFO] [stderr] [INFO] [stderr] warning: method `ld_vx_k_Fx0A` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:366:8 [INFO] [stderr] | [INFO] [stderr] 366 | fn ld_vx_k_Fx0A(&mut self, op: Opcode, input: [bool; 16]) { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `ld_vx_k_fx0_a` [INFO] [stderr] [INFO] [stderr] warning: method `ld_dt_vx_Fx15` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:375:8 [INFO] [stderr] | [INFO] [stderr] 375 | fn ld_dt_vx_Fx15(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `ld_dt_vx_fx15` [INFO] [stderr] [INFO] [stderr] warning: method `ld_st_vx_Fx18` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:380:8 [INFO] [stderr] | [INFO] [stderr] 380 | fn ld_st_vx_Fx18(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `ld_st_vx_fx18` [INFO] [stderr] [INFO] [stderr] warning: method `add_i_vx_Fx1E` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:385:8 [INFO] [stderr] | [INFO] [stderr] 385 | fn add_i_vx_Fx1E(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `add_i_vx_fx1_e` [INFO] [stderr] [INFO] [stderr] warning: method `ld_f_vx_Fx29` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:391:8 [INFO] [stderr] | [INFO] [stderr] 391 | fn ld_f_vx_Fx29(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `ld_f_vx_fx29` [INFO] [stderr] [INFO] [stderr] warning: method `ld_b_vx_Fx33` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:396:8 [INFO] [stderr] | [INFO] [stderr] 396 | fn ld_b_vx_Fx33(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `ld_b_vx_fx33` [INFO] [stderr] [INFO] [stderr] warning: method `ld_i_vx_Fx55` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:403:8 [INFO] [stderr] | [INFO] [stderr] 403 | fn ld_i_vx_Fx55(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `ld_i_vx_fx55` [INFO] [stderr] [INFO] [stderr] warning: method `ld_vx_i_Fx65` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:410:8 [INFO] [stderr] | [INFO] [stderr] 410 | fn ld_vx_i_Fx65(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `ld_vx_i_fx65` [INFO] [stderr] [INFO] [stderr] warning: 82 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Rng`, `SeedableRng` [INFO] [stderr] --> src/cpu/cpu.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | use rand::{SeedableRng, RngCore, Rng}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `sdl2::EventPump` [INFO] [stderr] --> src/display/display.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use sdl2::EventPump; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `cls_00E0` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:207:8 [INFO] [stderr] | [INFO] [stderr] 207 | fn cls_00E0(&mut self) { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `cls_00_e0` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method `ret_00EE` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:217:8 [INFO] [stderr] | [INFO] [stderr] 217 | fn ret_00EE(&mut self) { [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `ret_00_ee` [INFO] [stderr] [INFO] [stderr] warning: method `shl_vx_8xyE` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:302:8 [INFO] [stderr] | [INFO] [stderr] 302 | fn shl_vx_8xyE(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `shl_vx_8xy_e` [INFO] [stderr] [INFO] [stderr] warning: method `ld_i_addr_Annn` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:312:8 [INFO] [stderr] | [INFO] [stderr] 312 | fn ld_i_addr_Annn(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `ld_i_addr_annn` [INFO] [stderr] [INFO] [stderr] warning: method `jp_v0_addr_Bnnn` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:317:8 [INFO] [stderr] | [INFO] [stderr] 317 | fn jp_v0_addr_Bnnn(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `jp_v0_addr_bnnn` [INFO] [stderr] [INFO] [stderr] warning: method `rnd_vx_kk_Cxkk` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:321:8 [INFO] [stderr] | [INFO] [stderr] 321 | fn rnd_vx_kk_Cxkk(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `rnd_vx_kk_cxkk` [INFO] [stderr] [INFO] [stderr] warning: method `drw_vx_vy_n_Dxyn` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:328:8 [INFO] [stderr] | [INFO] [stderr] 328 | fn drw_vx_vy_n_Dxyn(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `drw_vx_vy_n_dxyn` [INFO] [stderr] [INFO] [stderr] warning: method `skp_vx_Ex9E` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:343:8 [INFO] [stderr] | [INFO] [stderr] 343 | fn skp_vx_Ex9E(&mut self, op: Opcode, input: [bool; 16]) { [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `skp_vx_ex9_e` [INFO] [stderr] [INFO] [stderr] warning: method `sknp_vx_ExA1` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:352:8 [INFO] [stderr] | [INFO] [stderr] 352 | fn sknp_vx_ExA1(&mut self, op: Opcode, input: [bool; 16]) { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `sknp_vx_ex_a1` [INFO] [stderr] [INFO] [stderr] warning: method `ld_vx_dt_Fx07` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:361:8 [INFO] [stderr] | [INFO] [stderr] 361 | fn ld_vx_dt_Fx07(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `ld_vx_dt_fx07` [INFO] [stderr] [INFO] [stderr] warning: method `ld_vx_k_Fx0A` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:366:8 [INFO] [stderr] | [INFO] [stderr] 366 | fn ld_vx_k_Fx0A(&mut self, op: Opcode, input: [bool; 16]) { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `ld_vx_k_fx0_a` [INFO] [stderr] [INFO] [stderr] warning: method `ld_dt_vx_Fx15` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:375:8 [INFO] [stderr] | [INFO] [stderr] 375 | fn ld_dt_vx_Fx15(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `ld_dt_vx_fx15` [INFO] [stderr] [INFO] [stderr] warning: method `ld_st_vx_Fx18` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:380:8 [INFO] [stderr] | [INFO] [stderr] 380 | fn ld_st_vx_Fx18(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `ld_st_vx_fx18` [INFO] [stderr] [INFO] [stderr] warning: method `add_i_vx_Fx1E` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:385:8 [INFO] [stderr] | [INFO] [stderr] 385 | fn add_i_vx_Fx1E(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `add_i_vx_fx1_e` [INFO] [stderr] [INFO] [stderr] warning: method `ld_f_vx_Fx29` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:391:8 [INFO] [stderr] | [INFO] [stderr] 391 | fn ld_f_vx_Fx29(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `ld_f_vx_fx29` [INFO] [stderr] [INFO] [stderr] warning: method `ld_b_vx_Fx33` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:396:8 [INFO] [stderr] | [INFO] [stderr] 396 | fn ld_b_vx_Fx33(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `ld_b_vx_fx33` [INFO] [stderr] [INFO] [stderr] warning: method `ld_i_vx_Fx55` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:403:8 [INFO] [stderr] | [INFO] [stderr] 403 | fn ld_i_vx_Fx55(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `ld_i_vx_fx55` [INFO] [stderr] [INFO] [stderr] warning: method `ld_vx_i_Fx65` should have a snake case name [INFO] [stderr] --> src/cpu/cpu.rs:410:8 [INFO] [stderr] | [INFO] [stderr] 410 | fn ld_vx_i_Fx65(&mut self, op: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `ld_vx_i_fx65` [INFO] [stderr] [INFO] [stderr] error: linking with `cc` failed: exit code: 1 [INFO] [stderr] | [INFO] [stderr] = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/opt/rustwide/target/debug/deps/chip8-04a3fe9ccb829b52.chip8.ad1sbdug-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/chip8-04a3fe9ccb829b52.chip8.ad1sbdug-cgu.1.rcgu.o" "/opt/rustwide/target/debug/deps/chip8-04a3fe9ccb829b52.chip8.ad1sbdug-cgu.10.rcgu.o" "/opt/rustwide/target/debug/deps/chip8-04a3fe9ccb829b52.chip8.ad1sbdug-cgu.11.rcgu.o" "/opt/rustwide/target/debug/deps/chip8-04a3fe9ccb829b52.chip8.ad1sbdug-cgu.12.rcgu.o" "/opt/rustwide/target/debug/deps/chip8-04a3fe9ccb829b52.chip8.ad1sbdug-cgu.13.rcgu.o" "/opt/rustwide/target/debug/deps/chip8-04a3fe9ccb829b52.chip8.ad1sbdug-cgu.14.rcgu.o" "/opt/rustwide/target/debug/deps/chip8-04a3fe9ccb829b52.chip8.ad1sbdug-cgu.15.rcgu.o" "/opt/rustwide/target/debug/deps/chip8-04a3fe9ccb829b52.chip8.ad1sbdug-cgu.2.rcgu.o" "/opt/rustwide/target/debug/deps/chip8-04a3fe9ccb829b52.chip8.ad1sbdug-cgu.3.rcgu.o" "/opt/rustwide/target/debug/deps/chip8-04a3fe9ccb829b52.chip8.ad1sbdug-cgu.4.rcgu.o" "/opt/rustwide/target/debug/deps/chip8-04a3fe9ccb829b52.chip8.ad1sbdug-cgu.5.rcgu.o" "/opt/rustwide/target/debug/deps/chip8-04a3fe9ccb829b52.chip8.ad1sbdug-cgu.6.rcgu.o" "/opt/rustwide/target/debug/deps/chip8-04a3fe9ccb829b52.chip8.ad1sbdug-cgu.7.rcgu.o" "/opt/rustwide/target/debug/deps/chip8-04a3fe9ccb829b52.chip8.ad1sbdug-cgu.8.rcgu.o" "/opt/rustwide/target/debug/deps/chip8-04a3fe9ccb829b52.chip8.ad1sbdug-cgu.9.rcgu.o" "-o" "/opt/rustwide/target/debug/deps/chip8-04a3fe9ccb829b52" "/opt/rustwide/target/debug/deps/chip8-04a3fe9ccb829b52.1irptc6ljmuurdk.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/libsdl2-389cf87387ff5009.rlib" "/opt/rustwide/target/debug/deps/librand-358ecd69d2a0f18f.rlib" "/opt/rustwide/target/debug/deps/librand_xorshift-f09d120b1e8302ce.rlib" "/opt/rustwide/target/debug/deps/librand_pcg-ac383b92adf960cc.rlib" "/opt/rustwide/target/debug/deps/librand_hc-1ed774b1b0cc13a9.rlib" "/opt/rustwide/target/debug/deps/librand_chacha-31ce371699c8b3e2.rlib" "/opt/rustwide/target/debug/deps/librand_isaac-9e0c665f67464740.rlib" "/opt/rustwide/target/debug/deps/librand_core-e1f807daa840ecfb.rlib" "/opt/rustwide/target/debug/deps/librand_os-157060d7ac7dd718.rlib" "/opt/rustwide/target/debug/deps/librand_jitter-cfb0a3bcbd66008e.rlib" "/opt/rustwide/target/debug/deps/librand_core-3765e1a61bc3f75e.rlib" "/opt/rustwide/target/debug/deps/libc_vec-857c2d5c598a7539.rlib" "/opt/rustwide/target/debug/deps/libsdl2_sys-4737188da96209a5.rlib" "/opt/rustwide/target/debug/deps/libnum-172ef87164bf4040.rlib" "/opt/rustwide/target/debug/deps/libnum_iter-0b5238cf27c2b3d8.rlib" "/opt/rustwide/target/debug/deps/libnum_integer-8a9bdc468d40e705.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-644abff0d459e604.rlib" "/opt/rustwide/target/debug/deps/librand_pcg-32add548f71ced24.rlib" "/opt/rustwide/target/debug/deps/librand-73fd83ca42935105.rlib" "/opt/rustwide/target/debug/deps/librand_chacha-da7f89098666b206.rlib" "/opt/rustwide/target/debug/deps/libc2_chacha-2a2e3dddbc97e93d.rlib" "/opt/rustwide/target/debug/deps/libppv_lite86-7a7a95765fa55576.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-c207312554410787.rlib" "/opt/rustwide/target/debug/deps/librand_core-93d4edf13ad64d57.rlib" "/opt/rustwide/target/debug/deps/libgetrandom-41389a311c6d58e9.rlib" "/opt/rustwide/target/debug/deps/libcfg_if-c9325044fa92f8a5.rlib" "/opt/rustwide/target/debug/deps/libfps_clock-dee414ca399fa019.rlib" "/opt/rustwide/target/debug/deps/libclap-8587061a11c26118.rlib" "/opt/rustwide/target/debug/deps/libvec_map-0a3b3bea3eacf388.rlib" "/opt/rustwide/target/debug/deps/libtextwrap-ca2b47ed77503e08.rlib" "/opt/rustwide/target/debug/deps/libunicode_width-c2f347f060a1ea6c.rlib" "/opt/rustwide/target/debug/deps/libstrsim-973ca7e6efba7d91.rlib" "/opt/rustwide/target/debug/deps/libbitflags-bae0fd3e41703743.rlib" "/opt/rustwide/target/debug/deps/libatty-08d193eb6aacaffe.rlib" "/opt/rustwide/target/debug/deps/liblibc-a5dfdc1cbcac6f0c.rlib" "/opt/rustwide/target/debug/deps/libansi_term-bf3fbdd21e4a8c77.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-205127404fcba336.rlib" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-a657948fb7763780.rlib" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-4af901391177f653.rlib" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-9bdd51edf637d1e0.rlib" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace-df9a9630b2ea2e1e.rlib" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace_sys-fddbfe63d5cc9339.rlib" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-dc1fcc6e43806791.rlib" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-e2f4bff19e00107e.rlib" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-a152d13c1d7ed405.rlib" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-d92b841792fc008d.rlib" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-a64c249515c023f5.rlib" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-57654524b3e40c00.rlib" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-72180f1527a726a2.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/1.44.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-990cc8f4a91a3ab4.rlib" "-Wl,-Bdynamic" "-lSDL2" "-lSDL2_gfx" "-lutil" "-lutil" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-ldl" "-lutil" [INFO] [stderr] = note: /usr/bin/ld: cannot find -lSDL2_gfx [INFO] [stderr] collect2: error: ld returned 1 exit status [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error; 20 warnings emitted [INFO] [stderr] [INFO] [stderr] error: could not compile `chip8`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "a44b3b11a5cf6b575e232e32b7623a29c1cfc733b9340ef69005a0dd549eaa50"` [INFO] running `"docker" "rm" "-f" "a44b3b11a5cf6b575e232e32b7623a29c1cfc733b9340ef69005a0dd549eaa50"` [INFO] [stdout] a44b3b11a5cf6b575e232e32b7623a29c1cfc733b9340ef69005a0dd549eaa50