[INFO] cloning repository https://github.com/dwrdx/chip8emu-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dwrdx/chip8emu-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdwrdx%2Fchip8emu-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdwrdx%2Fchip8emu-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5b45b072e0a193463b8cb4cde308a535f6a8ace8 [INFO] testing dwrdx/chip8emu-rs against beta-2026-03-05 for beta-1.95-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdwrdx%2Fchip8emu-rs" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/dwrdx/chip8emu-rs [INFO] finished tweaking git repo https://github.com/dwrdx/chip8emu-rs [INFO] tweaked toml for git repo https://github.com/dwrdx/chip8emu-rs written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/dwrdx/chip8emu-rs on toolchain beta-2026-03-05 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/dwrdx/chip8emu-rs 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" "+beta-2026-03-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [INFO] testing dwrdx/chip8emu-rs against beta-2026-03-05 for beta-1.95-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdwrdx%2Fchip8emu-rs" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/dwrdx/chip8emu-rs [INFO] finished tweaking git repo https://github.com/dwrdx/chip8emu-rs [INFO] tweaked toml for git repo https://github.com/dwrdx/chip8emu-rs written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/dwrdx/chip8emu-rs on toolchain beta-2026-03-05 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/dwrdx/chip8emu-rs 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" "+beta-2026-03-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded version-compare v0.1.1 [INFO] [stderr] Downloaded sdl2 v0.35.2 [INFO] [stderr] Downloaded libc v0.2.162 [INFO] [stderr] Downloaded sdl2-sys v0.35.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4e2dde25b0f567b7853302396dd9081f59d3de6ca09acfb8ef58b05a8772e21c [INFO] running `Command { std: "docker" "start" "-a" "4e2dde25b0f567b7853302396dd9081f59d3de6ca09acfb8ef58b05a8772e21c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4e2dde25b0f567b7853302396dd9081f59d3de6ca09acfb8ef58b05a8772e21c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4e2dde25b0f567b7853302396dd9081f59d3de6ca09acfb8ef58b05a8772e21c", kill_on_drop: false }` [INFO] [stdout] 4e2dde25b0f567b7853302396dd9081f59d3de6ca09acfb8ef58b05a8772e21c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 52fc50f26e62d14716326344bbf1540c3624e948aa2d9eec3a8f173a54c04f18 [INFO] running `Command { std: "docker" "start" "-a" "52fc50f26e62d14716326344bbf1540c3624e948aa2d9eec3a8f173a54c04f18", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.89 [INFO] [stderr] Compiling libc v0.2.162 [INFO] [stderr] Compiling unicode-ident v1.0.13 [INFO] [stderr] Compiling version-compare v0.1.1 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling sdl2 v0.35.2 [INFO] [stderr] Compiling chip8emu-rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling sdl2-sys v0.35.2 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling syn v2.0.87 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling zerocopy v0.7.35 [INFO] [stderr] Compiling ppv-lite86 v0.2.20 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stdout] warning: unused import: `sdl2::version::revision_number` [INFO] [stdout] --> src/frontend.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use sdl2::version::revision_number; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/frontend.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::frontend::Screen` [INFO] [stdout] --> src/chip8.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::frontend::Screen; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::frontend::ScreenTrait` [INFO] [stdout] --> src/chip8.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::frontend::ScreenTrait; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `w` [INFO] [stdout] --> src/frontend.rs:47:14 [INFO] [stdout] | [INFO] [stdout] 47 | let (w, h) = self.canvas.output_size().unwrap(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_w` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h` [INFO] [stdout] --> src/frontend.rs:47:17 [INFO] [stdout] | [INFO] [stdout] 47 | let (w, h) = self.canvas.output_size().unwrap(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_h` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/chip8.rs:503:51 [INFO] [stdout] | [INFO] [stdout] 503 | fn store_binary_coded_decimal_Fx33(&mut self, value: u16) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/chip8.rs:508:40 [INFO] [stdout] | [INFO] [stdout] 508 | fn store_registers_Fx55(&mut self, value: u16) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `draw` is never used [INFO] [stdout] --> src/frontend.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub trait ScreenTrait { [INFO] [stdout] | ----------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 32 | fn draw(&mut self, text : &str); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `window` is never used [INFO] [stdout] --> src/frontend.rs:142:12 [INFO] [stdout] | [INFO] [stdout] 122 | impl Screen { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn window(&self) -> &Window { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/chip8.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 41 | trait InstructionSet { [INFO] [stdout] | -------------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 52 | fn skip_if_reg_eq_5xy0(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | fn store_reg_8xy0(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 56 | fn or_reg_8xy1(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 57 | fn and_reg_8xy2(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 58 | fn xor_reg_8xy3(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 59 | fn add_reg_8xy4(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 60 | fn sub_reg_8xy5(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 61 | fn shift_right_8xy6(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 62 | fn sub_reg_8xy7(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 63 | fn shift_left_8xyE(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 64 | fn skip_if_reg_neq_9xy0(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 65 | fn load_value_to_index_reg_Annn(&mut self, value: u16); [INFO] [stdout] 66 | fn jump_to_location_Bnnn(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 67 | fn random_number_Cxkk(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset` is never used [INFO] [stdout] --> src/chip8.rs:123:12 [INFO] [stdout] | [INFO] [stdout] 97 | impl CPU { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | file.read_to_end(&mut data); [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] 18 | let _ = file.read_to_end(&mut data); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `V` should have a snake case name [INFO] [stdout] --> src/chip8.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | V: [u8; 16], // Vx where x = 0..F` [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `v` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `I` should have a snake case name [INFO] [stdout] --> src/chip8.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | I: u16, // I to store memory address [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `PC` should have a snake case name [INFO] [stdout] --> src/chip8.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | PC: u16, // Program Counter [INFO] [stdout] | ^^ help: convert the identifier to snake case: `pc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `SP` should have a snake case name [INFO] [stdout] --> src/chip8.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | SP: u8, // Stack Pointer [INFO] [stdout] | ^^ help: convert the identifier to snake case: `sp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `DT` should have a snake case name [INFO] [stdout] --> src/chip8.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | DT: u8, // Delay Timer [INFO] [stdout] | ^^ help: convert the identifier to snake case: `dt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `ST` should have a snake case name [INFO] [stdout] --> src/chip8.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | ST: u8, // Sound Timer [INFO] [stdout] | ^^ help: convert the identifier to snake case: `st` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait method `clear_display_00E0` should have a snake case name [INFO] [stdout] --> src/chip8.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | fn clear_display_00E0(&mut self); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `clear_display_00_e0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait method `return_from_subroutine_00EE` should have a snake case name [INFO] [stdout] --> src/chip8.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | fn return_from_subroutine_00EE(&mut self); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `return_from_subroutine_00_ee` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait method `shift_left_8xyE` should have a snake case name [INFO] [stdout] --> src/chip8.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | fn shift_left_8xyE(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `shift_left_8xy_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait method `load_value_to_index_reg_Annn` should have a snake case name [INFO] [stdout] --> src/chip8.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 65 | fn load_value_to_index_reg_Annn(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `load_value_to_index_reg_annn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait method `jump_to_location_Bnnn` should have a snake case name [INFO] [stdout] --> src/chip8.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 66 | fn jump_to_location_Bnnn(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `jump_to_location_bnnn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait method `random_number_Cxkk` should have a snake case name [INFO] [stdout] --> src/chip8.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | fn random_number_Cxkk(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `random_number_cxkk` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait method `draw_sprite_Dxyn` should have a snake case name [INFO] [stdout] --> src/chip8.rs:68:8 [INFO] [stdout] | [INFO] [stdout] 68 | fn draw_sprite_Dxyn(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `draw_sprite_dxyn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait method `skip_if_key_pressed_Ex9E` should have a snake case name [INFO] [stdout] --> src/chip8.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | fn skip_if_key_pressed_Ex9E(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `skip_if_key_pressed_ex9_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait method `skip_if_key_not_pressed_ExA1` should have a snake case name [INFO] [stdout] --> src/chip8.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 70 | fn skip_if_key_not_pressed_ExA1(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `skip_if_key_not_pressed_ex_a1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait method `load_delay_timer_Fx07` should have a snake case name [INFO] [stdout] --> src/chip8.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | fn load_delay_timer_Fx07(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `load_delay_timer_fx07` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait method `wait_for_key_press_Fx0A` should have a snake case name [INFO] [stdout] --> src/chip8.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | fn wait_for_key_press_Fx0A(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `wait_for_key_press_fx0_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait method `load_reg_to_delay_timer_Fx15` should have a snake case name [INFO] [stdout] --> src/chip8.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | fn load_reg_to_delay_timer_Fx15(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `load_reg_to_delay_timer_fx15` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait method `load_reg_to_sound_timer_Fx18` should have a snake case name [INFO] [stdout] --> src/chip8.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 74 | fn load_reg_to_sound_timer_Fx18(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `load_reg_to_sound_timer_fx18` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait method `add_to_index_reg_Fx1E` should have a snake case name [INFO] [stdout] --> src/chip8.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | fn add_to_index_reg_Fx1E(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `add_to_index_reg_fx1_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait method `set_index_reg_to_sprite_Fx29` should have a snake case name [INFO] [stdout] --> src/chip8.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | fn set_index_reg_to_sprite_Fx29(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_index_reg_to_sprite_fx29` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait method `store_binary_coded_decimal_Fx33` should have a snake case name [INFO] [stdout] --> src/chip8.rs:77:8 [INFO] [stdout] | [INFO] [stdout] 77 | fn store_binary_coded_decimal_Fx33(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `store_binary_coded_decimal_fx33` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait method `store_registers_Fx55` should have a snake case name [INFO] [stdout] --> src/chip8.rs:78:8 [INFO] [stdout] | [INFO] [stdout] 78 | fn store_registers_Fx55(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `store_registers_fx55` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait method `load_registers_Fx65` should have a snake case name [INFO] [stdout] --> src/chip8.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | fn load_registers_Fx65(&mut self, value: u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `load_registers_fx65` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/chip8.rs:354:26 [INFO] [stdout] | [INFO] [stdout] 354 | self.V[0xF] = if self.V[x as usize] + self.V[y as usize] > 255 { 1 } else { 0 }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: linking with `cc` failed: exit status: 1 [INFO] [stdout] | [INFO] [stdout] = note: "cc" "-m64" "/opt/rustwide/target/debug/deps/rustc4sMHtH/symbols.o" "<6 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/{librand-6a4680c71841f149,librand_chacha-73f48e6009fe9f94,libppv_lite86-03555de0e50b2454,libzerocopy-2535faa8d8a68954,libbyteorder-9f6ac6743e38a88c,librand_core-653c03e9267042e8,libgetrandom-7ef2a76f511f069d,libcfg_if-3e7fc4e38d4a72b5,libsdl2-232540961f78c0b1,libsdl2_sys-503ad54a63c98c86,libbitflags-dde12b0d7d495b50,liblazy_static-3674be3f4245d19b,liblibc-08a40c93f878a6e2}.rlib" "/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lSDL2" "-lSDL2_ttf" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/opt/rustwide/target/debug/deps/rustc4sMHtH/raw-dylibs" "-B/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/opt/homebrew/Cellar/sdl2/2.30.9/lib" "-L" "/opt/homebrew/Cellar/sdl2_ttf/2.22.0/lib" "-L" "/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/chip8emu_rs-09ff6c7522c99a7c" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs" [INFO] [stdout] = note: some arguments are omitted. use `--verbose` to show all linker arguments [INFO] [stdout] = note: rust-lld: error: unable to find library -lSDL2_ttf [INFO] [stdout] collect2: error: ld returned 1 exit status [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `chip8emu-rs` (bin "chip8emu-rs") due to 1 previous error; 38 warnings emitted [INFO] running `Command { std: "docker" "inspect" "52fc50f26e62d14716326344bbf1540c3624e948aa2d9eec3a8f173a54c04f18", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "52fc50f26e62d14716326344bbf1540c3624e948aa2d9eec3a8f173a54c04f18", kill_on_drop: false }` [INFO] [stdout] 52fc50f26e62d14716326344bbf1540c3624e948aa2d9eec3a8f173a54c04f18