[INFO] cloning repository https://github.com/ysenko/ch8-emu
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ysenko/ch8-emu" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fysenko%2Fch8-emu", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fysenko%2Fch8-emu'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b8e17a6c53f553ab0f203106d58463603f61de0e
[INFO] testing ysenko/ch8-emu against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fysenko%2Fch8-emu" "/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/ysenko/ch8-emu
[INFO] finished tweaking git repo https://github.com/ysenko/ch8-emu
[INFO] tweaked toml for git repo https://github.com/ysenko/ch8-emu written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ysenko/ch8-emu on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ysenko/ch8-emu 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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded sctk-adwaita v0.9.0
[INFO] [stderr]   Downloaded winit v0.30.1
[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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 44d0eb0a631e7f7f3963d605edb2cef1e6ecf4bdfb246e2ec2a4d5d8e706fb7b
[INFO] running `Command { std: "docker" "start" "-a" "44d0eb0a631e7f7f3963d605edb2cef1e6ecf4bdfb246e2ec2a4d5d8e706fb7b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "44d0eb0a631e7f7f3963d605edb2cef1e6ecf4bdfb246e2ec2a4d5d8e706fb7b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "44d0eb0a631e7f7f3963d605edb2cef1e6ecf4bdfb246e2ec2a4d5d8e706fb7b", kill_on_drop: false }`
[INFO] [stdout] 44d0eb0a631e7f7f3963d605edb2cef1e6ecf4bdfb246e2ec2a4d5d8e706fb7b
[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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 41e0f914e6a4a5083bd23f9b199ae16f1dfdc9ac186dfbaf60320606c5354e1a
[INFO] running `Command { std: "docker" "start" "-a" "41e0f914e6a4a5083bd23f9b199ae16f1dfdc9ac186dfbaf60320606c5354e1a", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.5.0
[INFO] [stderr]    Compiling rustix v0.38.34
[INFO] [stderr]    Compiling libloading v0.8.3
[INFO] [stderr]    Compiling wayland-sys v0.31.2
[INFO] [stderr]    Compiling cc v1.0.99
[INFO] [stderr]    Compiling scoped-tls v1.0.1
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling downcast-rs v1.2.1
[INFO] [stderr]    Compiling wayland-client v0.31.3
[INFO] [stderr]    Compiling tracing-core v0.1.32
[INFO] [stderr]    Compiling xkeysym v0.2.1
[INFO] [stderr]    Compiling cursor-icon v1.1.0
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]    Compiling ttf-parser v0.21.1
[INFO] [stderr]    Compiling smithay-client-toolkit v0.18.1
[INFO] [stderr]    Compiling xcursor v0.3.5
[INFO] [stderr]    Compiling bytemuck v1.16.0
[INFO] [stderr]    Compiling strict-num v0.1.1
[INFO] [stderr]    Compiling dlib v0.5.2
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling memmap2 v0.9.4
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling winit v0.30.1
[INFO] [stderr]    Compiling x11rb-protocol v0.13.1
[INFO] [stderr]    Compiling zerocopy v0.7.34
[INFO] [stderr]    Compiling tiny-skia-path v0.11.4
[INFO] [stderr]    Compiling quick-xml v0.31.0
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling as-raw-xcb-connection v1.0.1
[INFO] [stderr]    Compiling xkbcommon-dl v0.4.2
[INFO] [stderr]    Compiling smol_str v0.2.2
[INFO] [stderr]    Compiling dpi v0.1.1
[INFO] [stderr]    Compiling raw-window-handle v0.6.2
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling tiny-skia v0.11.4
[INFO] [stderr]    Compiling wayland-scanner v0.31.2
[INFO] [stderr]    Compiling wayland-backend v0.3.4
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling owned_ttf_parser v0.21.0
[INFO] [stderr]    Compiling ab_glyph v0.2.26
[INFO] [stderr]    Compiling thiserror v1.0.61
[INFO] [stderr]    Compiling polling v3.7.1
[INFO] [stderr]    Compiling calloop v0.12.4
[INFO] [stderr]    Compiling wayland-csd-frame v0.3.0
[INFO] [stderr]    Compiling wayland-protocols v0.31.2
[INFO] [stderr]    Compiling calloop-wayland-source v0.2.0
[INFO] [stderr]    Compiling wayland-cursor v0.31.3
[INFO] [stderr]    Compiling wayland-protocols-wlr v0.2.0
[INFO] [stderr]    Compiling wayland-protocols-plasma v0.2.0
[INFO] [stderr]    Compiling x11rb v0.13.1
[INFO] [stderr]    Compiling sctk-adwaita v0.9.0
[INFO] [stderr]    Compiling ch8emu v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/chip8/input.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::str::FromStr;
[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::iter`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::iter;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/chip8.rs:148:29
[INFO] [stdout]     |
[INFO] [stdout] 148 |             Opcode::SysAddr(addr) => {}
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InputError` is never constructed
[INFO] [stdout]   --> src/chip8.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum Chip8Error {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 21 |     InputError(input::Error),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Chip8Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `stack`, `timers`, and `display` are never read
[INFO] [stdout]   --> src/chip8.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct Chip8 {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 52 |     stack: stack::Stack,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 53 |     timers: timers::Timers,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 54 |     display: display::Display,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Chip8` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/chip8.rs:70:12
[INFO] [stdout]     |
[INFO] [stdout]  58 | impl Chip8 {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub fn load_rom(&mut self, rom: &[u8]) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn load_rom_from_file(&mut self, path: &str) -> Result<(), std::io::Error> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     fn get_pressed_key(&self) -> Option<&str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     fn get_pressed_key_u8(&self) -> Result<Option<u8>, Chip8Error> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     fn execute(&mut self, op: Opcode) -> Result<(), Chip8Error> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     fn wait_for_key(&mut self, vx: u8) -> Result<(), Chip8Error> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     fn skip_if_pressed(&mut self, vx: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     fn skip_if_not_pressed(&mut self, vx: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     fn clear_display(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     fn draw(&mut self, vx: u8, vy: u8, n: u8) -> Result<(), Chip8Error> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     fn load_sprite_addr(&mut self, vx: u8) -> Result<(), Chip8Error> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     fn subn(&mut self, vx: u8, vy: u8) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     fn skip_if_reg_not_equal(&mut self, vx: u8, vy: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     fn xor(&mut self, vx: u8, vy: u8) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 246 |     fn store_bcd(&mut self, vx: u8) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     fn sub(&mut self, vx: u8, vy: u8) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     fn skip_if_not_equal(&mut self, vx: u8, byte: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |     fn skip_if_reg_equal(&mut self, vx: u8, vy: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |     fn skip_if_equal(&mut self, vx: u8, byte: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     fn shift_right(&mut self, vx: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 296 |     fn shift_left(&mut self, vx: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 304 |     fn set_sound_timer(&mut self, vx: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 309 |     fn set_index(&mut self, addr: u16) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 |     fn set_delay_timer(&mut self, vx: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 318 |     fn return_from(&mut self) -> Result<(), Chip8Error> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 323 |     fn reg_load(&mut self, vx: u8) -> Result<(), Chip8Error> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 332 |     fn reg_dump(&mut self, vx: u8) -> Result<(), Chip8Error> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     fn random(&mut self, vx: u8, byte: u8) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     fn or(&mut self, vx: u8, vy: u8) {
[INFO] [stdout]     |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 354 |     fn load_register(&mut self, vx: u8, vy: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 359 |     fn load_delay_timer(&mut self, vx: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 364 |     fn load_byte(&mut self, vx: u8, byte: u8) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 368 |     fn jump_v0(&mut self, addr: u16) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 372 |     fn jump(&mut self, addr: u16) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 376 |     fn call(&mut self, addr: u16) -> Result<(), Chip8Error> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     fn and(&mut self, vx: u8, vy: u8) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 391 |     fn add_reg(&mut self, vx: u8, vy: u8) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 401 |     fn add_vx_byte(&mut self, vx: u8, val: u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 406 |     fn add_i_vx(&mut self, vx: u8) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPRITE_LEN` is never used
[INFO] [stdout]  --> src/chip8/display.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const SPRITE_LEN: usize = 5;
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SpriteValue` is never used
[INFO] [stdout]  --> src/chip8/display.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type SpriteValue = Vec<u8>;
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InvalidSprite` and `InvalidDrawPosition` are never constructed
[INFO] [stdout]   --> src/chip8/display.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum DisplayError {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 32 |     InvalidSprite(u8),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 33 |     InvalidDrawPosition(usize, usize),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DisplayError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `width`, `height`, and `buffer` are never read
[INFO] [stdout]   --> src/chip8/display.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct Display {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 38 |     pub width: usize,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 39 |     pub height: usize,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 40 |
[INFO] [stdout] 41 |     buffer: [[u8; BUFFER_WIDTH]; BUFFER_HEIGHT],
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Display` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `get_sprite_address`, `clear`, `draw_sprite`, and `draw_sprite_row` are never used
[INFO] [stdout]   --> src/chip8/display.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl Display {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn get_sprite_address(sprite: u8) -> Result<usize, DisplayError> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn draw_sprite(&mut self, row: usize, col: usize, sprite_value: &SpriteValue) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     fn draw_sprite_row(&mut self, row: usize, col: usize, value: u8) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bit_erased` is never used
[INFO] [stdout]    --> src/chip8/display.rs:107:4
[INFO] [stdout]     |
[INFO] [stdout] 107 | fn bit_erased(original: u8, current: u8) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InvalidKey` is never constructed
[INFO] [stdout]  --> src/chip8/input.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Error {
[INFO] [stdout]   |          ----- variant in this enum
[INFO] [stdout] 5 |     InvalidKey(String),
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_key` and `get_key_u8` are never used
[INFO] [stdout]   --> src/chip8/input.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Input {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn get_key(&self) -> Option<&str> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn get_key_u8(&self) -> Result<Option<u8>, Error> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_byte` is never used
[INFO] [stdout]   --> src/chip8/memory.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Memory {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn read_byte(&self, address: usize) -> Result<u8, MemoryError> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InvalidAddress` and `InvalidOpcode` are never constructed
[INFO] [stdout]  --> src/chip8/opcodes.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum OpcodeError {
[INFO] [stdout]   |          ----------- variants in this enum
[INFO] [stdout] 5 |     InvalidAddress(u16),
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     InvalidOpcode(u16),
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `OpcodeError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Opcode` is never used
[INFO] [stdout]   --> src/chip8/opcodes.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Opcode {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Instruction` is never constructed
[INFO] [stdout]   --> src/chip8/opcodes.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | struct Instruction {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/chip8/opcodes.rs:84:8
[INFO] [stdout]     |
[INFO] [stdout]  83 | impl Instruction {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout]  84 |     fn get_address(&self) -> Result<u16, OpcodeError> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     fn get_code(&self) -> u8 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     fn get_n(&self) -> u8 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn get_x(&self) -> u8 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     fn get_y(&self) -> u8 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     fn get_kk(&self) -> u8 {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     fn get_byte(&self) -> u8 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_bytes` is never used
[INFO] [stdout]    --> src/chip8/opcodes.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl Opcode {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 120 |     pub fn from_bytes(msb: u8, lsb: u8) -> Result<Opcode, OpcodeError> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `v` and `i` are never read
[INFO] [stdout]  --> src/chip8/registers.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Registers {
[INFO] [stdout]   |            --------- fields in this struct
[INFO] [stdout] 5 |     v: [u8; DATA_REGISTER_COUNT],
[INFO] [stdout]   |     ^
[INFO] [stdout] 6 |     pub i: u16,
[INFO] [stdout]   |         ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Registers` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `read_v` and `write_v` are never used
[INFO] [stdout]   --> src/chip8/registers.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Registers {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn read_v(&self, register: u8) -> u8 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn write_v(&mut self, register: u8, value: u8) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `StackOverflow` and `StackUnderflow` are never constructed
[INFO] [stdout]  --> src/chip8/stack.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum StackError {
[INFO] [stdout]   |          ---------- variants in this enum
[INFO] [stdout] 3 |     StackOverflow,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 4 |     StackUnderflow,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `StackError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `stack` and `sp` are never read
[INFO] [stdout]   --> src/chip8/stack.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Stack {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 11 |     stack: [u16; STACK_SIZE], // Array to hold 16 levels of the stack
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 12 |     sp: usize,                // Stack pointer to track the current level (0-15)
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Stack` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `push` and `pop` are never used
[INFO] [stdout]   --> src/chip8/stack.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Stack {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn push(&mut self, value: u16) -> Result<(), StackError> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn pop(&mut self) -> Result<u16, StackError> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `delay_timer` and `sound_timer` are never read
[INFO] [stdout]  --> src/chip8/timers.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Timers {
[INFO] [stdout]   |            ------ fields in this struct
[INFO] [stdout] 3 |     delay_timer: u8,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 4 |     sound_timer: u8,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Timers` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_delay_timer`, `set_delay_timer`, `get_sound_timer`, `set_sound_timer`, and `decrement_timers` are never used
[INFO] [stdout]   --> src/chip8/timers.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Timers {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn get_delay_timer(&self) -> u8 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn set_delay_timer(&mut self, value: u8) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn get_sound_timer(&self) -> u8 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn set_sound_timer(&mut self, value: u8) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn decrement_timers(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 37.03s
[INFO] running `Command { std: "docker" "inspect" "41e0f914e6a4a5083bd23f9b199ae16f1dfdc9ac186dfbaf60320606c5354e1a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "41e0f914e6a4a5083bd23f9b199ae16f1dfdc9ac186dfbaf60320606c5354e1a", kill_on_drop: false }`
[INFO] [stdout] 41e0f914e6a4a5083bd23f9b199ae16f1dfdc9ac186dfbaf60320606c5354e1a
[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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 68f65e80267c5ae2637cc98f3f6249206e978586d9867e3eb0c85eb07904b007
[INFO] running `Command { std: "docker" "start" "-a" "68f65e80267c5ae2637cc98f3f6249206e978586d9867e3eb0c85eb07904b007", kill_on_drop: false }`
[INFO] [stderr]    Compiling ch8emu v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/chip8/input.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::str::FromStr;
[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::iter`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::iter;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/chip8.rs:148:29
[INFO] [stdout]     |
[INFO] [stdout] 148 |             Opcode::SysAddr(addr) => {}
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPRITE_LEN` is never used
[INFO] [stdout]  --> src/chip8/display.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const SPRITE_LEN: usize = 5;
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InvalidDrawPosition` is never constructed
[INFO] [stdout]   --> src/chip8/display.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum DisplayError {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] 32 |     InvalidSprite(u8),
[INFO] [stdout] 33 |     InvalidDrawPosition(usize, usize),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DisplayError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Undefined` is never constructed
[INFO] [stdout]   --> src/chip8/opcodes.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Opcode {
[INFO] [stdout]    |          ------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 67 |     Undefined(u16), // For any opcode that doesn't match the above
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Opcode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/chip8.rs:943:9
[INFO] [stdout]     |
[INFO] [stdout] 943 |         chip8.load_sprites();
[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] 943 |         let _ = chip8.load_sprites();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.48s
[INFO] running `Command { std: "docker" "inspect" "68f65e80267c5ae2637cc98f3f6249206e978586d9867e3eb0c85eb07904b007", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "68f65e80267c5ae2637cc98f3f6249206e978586d9867e3eb0c85eb07904b007", kill_on_drop: false }`
[INFO] [stdout] 68f65e80267c5ae2637cc98f3f6249206e978586d9867e3eb0c85eb07904b007
[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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 6a6fcb31baafe54955e734ad35a04aa57a7a27c9384fb9143b3628395f9dd804
[INFO] running `Command { std: "docker" "start" "-a" "6a6fcb31baafe54955e734ad35a04aa57a7a27c9384fb9143b3628395f9dd804", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::str::FromStr`
[INFO] [stderr]  --> src/chip8/input.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::str::FromStr;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::iter`
[INFO] [stderr]  --> src/main.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::iter;
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `addr`
[INFO] [stderr]    --> src/chip8.rs:148:29
[INFO] [stderr]     |
[INFO] [stderr] 148 |             Opcode::SysAddr(addr) => {}
[INFO] [stderr]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SPRITE_LEN` is never used
[INFO] [stderr]  --> src/chip8/display.rs:1:11
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub const SPRITE_LEN: usize = 5;
[INFO] [stderr]   |           ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `InvalidDrawPosition` is never constructed
[INFO] [stderr]   --> src/chip8/display.rs:33:5
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub enum DisplayError {
[INFO] [stderr]    |          ------------ variant in this enum
[INFO] [stderr] 32 |     InvalidSprite(u8),
[INFO] [stderr] 33 |     InvalidDrawPosition(usize, usize),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `DisplayError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Undefined` is never constructed
[INFO] [stderr]   --> src/chip8/opcodes.rs:67:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub enum Opcode {
[INFO] [stderr]    |          ------ variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 67 |     Undefined(u16), // For any opcode that doesn't match the above
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Opcode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/chip8.rs:943:9
[INFO] [stderr]     |
[INFO] [stderr] 943 |         chip8.load_sprites();
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 943 |         let _ = chip8.load_sprites();
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `ch8emu` (bin "ch8emu" test) generated 7 warnings (run `cargo fix --bin "ch8emu" -p ch8emu --tests` to apply 3 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ch8emu-1e47ab09e2aea4ec)
[INFO] [stdout] 
[INFO] [stdout] running 134 tests
[INFO] [stdout] test chip8::display::tests::test_bit_erased_no_erased_bits ... ok
[INFO] [stdout] test chip8::display::tests::draw_sprite_wraps_around_bottom_edge ... ok
[INFO] [stdout] test chip8::display::tests::test_bit_erased_some_erased_bits ... ok
[INFO] [stdout] test chip8::display::tests::draw_sprite ... ok
[INFO] [stdout] test chip8::display::tests::test_bit_erased_all_erased_bits ... ok
[INFO] [stdout] test chip8::display::tests::draw_sprite_reports_erased_bit ... ok
[INFO] [stdout] test chip8::display::tests::test_buffer_initialized_with_zeroes ... ok
[INFO] [stdout] test chip8::display::tests::test_new ... ok
[INFO] [stdout] test chip8::display::tests::test_render_sprite_row ... ok
[INFO] [stdout] test chip8::display::tests::test_render_sprite_row_multiple_buffer_elements ... ok
[INFO] [stdout] test chip8::input::tests::test_clear_key ... ok
[INFO] [stdout] test chip8::display::tests::test_clear ... ok
[INFO] [stdout] test chip8::display::tests::test_render_sprite_row_wraps_around_right_edge ... ok
[INFO] [stdout] test chip8::display::tests::test_get_sprite_address_valid_sprite ... ok
[INFO] [stdout] test chip8::input::tests::test_get_key_u8_valid_key ... ok
[INFO] [stdout] test chip8::input::tests::test_new_input ... ok
[INFO] [stdout] test chip8::input::tests::test_set_key ... ok
[INFO] [stdout] test chip8::memory::tests::test_read_byte ... ok
[INFO] [stdout] test chip8::display::tests::test_get_sprite_address_invalid_sprite ... ok
[INFO] [stdout] test chip8::memory::tests::test_write_byte ... ok
[INFO] [stdout] test chip8::input::tests::test_get_key_u8_invalid_key ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_add_sub ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_call ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_clear_display ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_draw ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_or ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_jump ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_jump_v0 ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_load_byte ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_load_delay_timer ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_load_reg ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_load_sprite_addr ... ok
[INFO] [stdout] test chip8::memory::tests::test_write_byte_out_of_bounds ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_random ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_add_i ... ok
[INFO] [stdout] test chip8::memory::tests::test_read_byte_out_of_bounds ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_return ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_set_delay_timer ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_shift_left ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_add_byte ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_shr ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_skip_if_equal ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_reg_load ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_skip_if_key_not_pressed ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_skip_if_key_pressed ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_skip_if_not_equal ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_reg_dump ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_set_index ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_skip_if_reg_not_equal ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_skip_if_reg_equal ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_store_bcd ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_subn ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_set_sound_timer ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_str_and ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_sys_addr ... ok
[INFO] [stdout] test chip8::registers::tests::test_registers_new ... ok
[INFO] [stdout] test chip8::registers::tests::test_write_and_read_data_register ... ok
[INFO] [stdout] test chip8::registers::tests::test_write_and_read_i_register ... ok
[INFO] [stdout] test chip8::registers::tests::test_write_and_read_pc_register ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_with_invalid_address ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_wait_for_key ... ok
[INFO] [stdout] test chip8::stack::tests::test_new_stack ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_with_invalid_opcode ... ok
[INFO] [stdout] test chip8::stack::tests::test_push_and_pop ... ok
[INFO] [stdout] test chip8::stack::tests::test_pop_empty_stack ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_xor ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_add_byte ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_add_i ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_and ... ok
[INFO] [stdout] test chip8::stack::tests::test_push_full_stack ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_add_reg_no_overflow ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_add_reg_with_overflow ... ok
[INFO] [stdout] test chip8::opcodes::tests::test_opcode_from_bytes_add_reg ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_load_byte ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_draw_erased_pixels_reported ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_or ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_reg_dump_memory_error ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_reg_load_memory_error ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_return ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_return_empty_stack ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_set_delay_timer ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_shift_left ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_shift_left_overflow ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_reg_load ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_jump ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_jump_v0 ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_load_sprite_addr ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_random ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_clear_display ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_set_index ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_load_register ... ok
[INFO] [stdout] test chip8::input::tests::test_get_key_u8_no_key ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_reg_dump ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_shift_right ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_shift_right_overflow ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_skip_does_not_skip_when_key_not_pressed ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_skip_if_equal_not_skips ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_skip_if_equal_skips ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_skip_if_not_equal_not_skips ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_skip_if_not_pressed ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_skip_if_not_equal_skips ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_set_sound_timer ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_skip_if_not_pressed_skips_on_wrong_key_press ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_skip_if_pressed ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_skip_if_not_pressed_not_skips ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_skip_if_reg_equal_not_skips ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_skip_if_reg_equal_skips ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_skip_if_reg_not_equal_not_skips ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_store_bcd ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_sub ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_subn ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_subn_no_borrow ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_xor ... ok
[INFO] [stdout] test chip8::tests::test_chip8_load_sprite_address_invalid_sprite ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_subn_borrow ... ok
[INFO] [stdout] test chip8::tests::test_chip8_load_rom_from_non_existing_file ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_sub_no_borrow ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_skip_if_reg_not_equal_skips ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_sub_borrow ... ok
[INFO] [stdout] test chip8::tests::test_chip8_load_sprites ... ok
[INFO] [stdout] test chip8::tests::test_chip8_new ... ok
[INFO] [stdout] test chip8::tests::test_chip8_load_rom ... ok
[INFO] [stdout] test chip8::tests::test_chip8_wait_for_key ... ok
[INFO] [stdout] test chip8::tests::test_chip8_wait_for_key_no_key_pressed ... ok
[INFO] [stdout] test chip8::timers::tests::test_decrement_timers ... ok
[INFO] [stdout] test chip8::timers::tests::test_new_timers ... ok
[INFO] [stdout] test chip8::timers::tests::test_set_delay_timer ... ok
[INFO] [stdout] test chip8::timers::tests::test_set_sound_timer ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_load_delay_timer ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_draw ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_call_stack_overflow ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_call ... ok
[INFO] [stdout] test chip8::tests::test_chip8_execute_skip_if_pressed_does_not_skip_on_wrong_key_press ... ok
[INFO] [stdout] test chip8::tests::test_chip8_load_rom_from_file ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- chip8::tests::test_chip8_load_rom_from_file stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'chip8::tests::test_chip8_load_rom_from_file' (147) panicked at src/chip8.rs:447:61:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5597424a5782 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5597424a5782 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5597424a5782 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5597424a5782 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5597424ba92a - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5597424ba92a - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x5597424aa5b6 - std[716c9a7a72e5c14e]::io::default_write_fmt::<alloc[9c68fdf4f4f29218]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5597424aa5b6 - <alloc[9c68fdf4f4f29218]::vec::Vec<u8> as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x55974248369f - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x55974248369f - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x55974249d4b9 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5597423fde4e - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5597423fde4e - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x55974249d672 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x55974249d672 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x559742483758 - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x55974247af79 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5597424845ad - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5597424bb03c - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5597424badb2 - core[c5ed12ab89cc536a]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5597423e59a7 - <core[c5ed12ab89cc536a]::result::Result<(), std[716c9a7a72e5c14e]::io::error::Error>>::unwrap
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x5597423e59a7 - ch8emu[1d5c11763fb62edc]::chip8::tests::test_chip8_load_rom_from_file
[INFO] [stdout]                                at /opt/rustwide/workdir/src/chip8.rs:447:61
[INFO] [stdout]   22:     0x5597423e1697 - ch8emu[1d5c11763fb62edc]::chip8::tests::test_chip8_load_rom_from_file::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/chip8.rs:442:39
[INFO] [stdout]   23:     0x5597423df676 - <ch8emu[1d5c11763fb62edc]::chip8::tests::test_chip8_load_rom_from_file::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5597423f21fb - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5597423f21fb - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x5597423fea5a - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x5597423fea5a - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x5597423fea5a - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5597423fea5a - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5597423fea5a - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5597423fea5a - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x5597423fea5a - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x5597423f8f24 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x5597423f8f24 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x559742401552 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x559742401552 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x559742401552 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x559742401552 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x559742401552 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x559742401552 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x559742401552 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5597424a4b2f - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x5597424a4b2f - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   44:     0x72651e564aa4 - <unknown>
[INFO] [stdout]   45:     0x72651e5f1a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     chip8::tests::test_chip8_load_rom_from_file
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 133 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin ch8emu`
[INFO] running `Command { std: "docker" "inspect" "6a6fcb31baafe54955e734ad35a04aa57a7a27c9384fb9143b3628395f9dd804", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6a6fcb31baafe54955e734ad35a04aa57a7a27c9384fb9143b3628395f9dd804", kill_on_drop: false }`
[INFO] [stdout] 6a6fcb31baafe54955e734ad35a04aa57a7a27c9384fb9143b3628395f9dd804
