[INFO] cloning repository https://github.com/AnAtlas/chip8_emulator_rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AnAtlas/chip8_emulator_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAnAtlas%2Fchip8_emulator_rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAnAtlas%2Fchip8_emulator_rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9609d861400de83efb54aecff660f1a5b4816c8f
[INFO] testing AnAtlas/chip8_emulator_rust against master#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAnAtlas%2Fchip8_emulator_rust" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/AnAtlas/chip8_emulator_rust
[INFO] finished tweaking git repo https://github.com/AnAtlas/chip8_emulator_rust
[INFO] tweaked toml for git repo https://github.com/AnAtlas/chip8_emulator_rust written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/AnAtlas/chip8_emulator_rust on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/AnAtlas/chip8_emulator_rust 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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2bcd8e3887e13b3da07d2693715d43bb4ce34915d50d1a3cc915247139be76b8
[INFO] running `Command { std: "docker" "start" "-a" "2bcd8e3887e13b3da07d2693715d43bb4ce34915d50d1a3cc915247139be76b8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2bcd8e3887e13b3da07d2693715d43bb4ce34915d50d1a3cc915247139be76b8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2bcd8e3887e13b3da07d2693715d43bb4ce34915d50d1a3cc915247139be76b8", kill_on_drop: false }`
[INFO] [stdout] 2bcd8e3887e13b3da07d2693715d43bb4ce34915d50d1a3cc915247139be76b8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=forbid -Copt-level=3" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 82e22aad61f87ebd9fccf7bdf25920f139afb1551185bfe39b9303a7f0e95800
[INFO] running `Command { std: "docker" "start" "-a" "82e22aad61f87ebd9fccf7bdf25920f139afb1551185bfe39b9303a7f0e95800", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.107
[INFO] [stderr]    Compiling version-compare v0.1.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.15
[INFO] [stderr]    Compiling sdl2 v0.35.1
[INFO] [stderr]    Compiling sdl2-sys v0.35.1
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.4
[INFO] [stderr]    Compiling chip8_emulator v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `sdl2::Sdl`
[INFO] [stdout]  --> src/drivers/input.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use sdl2::Sdl;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::env;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]   --> src/drivers/input.rs:34:35
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn handle_window_event(&self, window_id: u32, win_event: WindowEvent) -> Option<WindowAction> {
[INFO] [stdout]    |                                   ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `keypad_window_id` and `display_window_id` are never read
[INFO] [stdout]   --> src/drivers/input.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub struct Input {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 8  |     events: sdl2::EventPump,
[INFO] [stdout] 9  |     keypad_window_id: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     display_window_id: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]  --> src/drivers/rom.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ROM {
[INFO] [stdout]   |            --- field in this struct
[INFO] [stdout] 5 |     pub rom: [u8; 3584],
[INFO] [stdout] 6 |     pub size: usize,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/cpu.rs:104:17
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn tick(&mut self, keypad: &[bool; 16]) -> OutputState {
[INFO] [stdout]     |                 ^^^^^^^^^                          ----------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn tick(&mut self, keypad: &[bool; 16]) -> OutputState<'_> {
[INFO] [stdout]     |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `displayCanvas` should have a snake case name
[INFO] [stdout]   --> src/drivers/display.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     displayCanvas: Canvas<Window>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `display_canvas`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `keypadCanvas` should have a snake case name
[INFO] [stdout]   --> src/drivers/display.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     keypadCanvas: Canvas<Window>,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `keypad_canvas`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.63s
[INFO] running `Command { std: "docker" "inspect" "82e22aad61f87ebd9fccf7bdf25920f139afb1551185bfe39b9303a7f0e95800", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "82e22aad61f87ebd9fccf7bdf25920f139afb1551185bfe39b9303a7f0e95800", kill_on_drop: false }`
[INFO] [stdout] 82e22aad61f87ebd9fccf7bdf25920f139afb1551185bfe39b9303a7f0e95800
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=forbid -Copt-level=3" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 42fcf3d6f77e39e6925f38a32fb53181c81b2d48e8e64a9a68807aecdb03c693
[INFO] running `Command { std: "docker" "start" "-a" "42fcf3d6f77e39e6925f38a32fb53181c81b2d48e8e64a9a68807aecdb03c693", kill_on_drop: false }`
[INFO] [stderr]    Compiling chip8_emulator v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `sdl2::Sdl`
[INFO] [stdout]  --> src/drivers/input.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use sdl2::Sdl;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::env;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `change`
[INFO] [stdout]    --> src/./cpu_test.rs:269:9
[INFO] [stdout]     |
[INFO] [stdout] 269 |     let change = cpu.run_opcode(0xA130);
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_change`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]   --> src/drivers/input.rs:34:35
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn handle_window_event(&self, window_id: u32, win_event: WindowEvent) -> Option<WindowAction> {
[INFO] [stdout]    |                                   ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `keypad_window_id` and `display_window_id` are never read
[INFO] [stdout]   --> src/drivers/input.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub struct Input {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 8  |     events: sdl2::EventPump,
[INFO] [stdout] 9  |     keypad_window_id: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     display_window_id: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]  --> src/drivers/rom.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ROM {
[INFO] [stdout]   |            --- field in this struct
[INFO] [stdout] 5 |     pub rom: [u8; 3584],
[INFO] [stdout] 6 |     pub size: usize,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/cpu.rs:104:17
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn tick(&mut self, keypad: &[bool; 16]) -> OutputState {
[INFO] [stdout]     |                 ^^^^^^^^^                          ----------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn tick(&mut self, keypad: &[bool; 16]) -> OutputState<'_> {
[INFO] [stdout]     |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `displayCanvas` should have a snake case name
[INFO] [stdout]   --> src/drivers/display.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     displayCanvas: Canvas<Window>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `display_canvas`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `keypadCanvas` should have a snake case name
[INFO] [stdout]   --> src/drivers/display.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     keypadCanvas: Canvas<Window>,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `keypad_canvas`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.10s
[INFO] running `Command { std: "docker" "inspect" "42fcf3d6f77e39e6925f38a32fb53181c81b2d48e8e64a9a68807aecdb03c693", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "42fcf3d6f77e39e6925f38a32fb53181c81b2d48e8e64a9a68807aecdb03c693", kill_on_drop: false }`
[INFO] [stdout] 42fcf3d6f77e39e6925f38a32fb53181c81b2d48e8e64a9a68807aecdb03c693
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=forbid -Copt-level=3" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] dbfdf39f3334d94ef82bac367525298d07446947c05435c86db9f4b525153fca
[INFO] running `Command { std: "docker" "start" "-a" "dbfdf39f3334d94ef82bac367525298d07446947c05435c86db9f4b525153fca", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `sdl2::Sdl`
[INFO] [stderr]  --> src/drivers/input.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use sdl2::Sdl;
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::env`
[INFO] [stderr]   --> src/main.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::env;
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `change`
[INFO] [stderr]    --> src/./cpu_test.rs:269:9
[INFO] [stderr]     |
[INFO] [stderr] 269 |     let change = cpu.run_opcode(0xA130);
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_change`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `window_id`
[INFO] [stderr]   --> src/drivers/input.rs:34:35
[INFO] [stderr]    |
[INFO] [stderr] 34 |     fn handle_window_event(&self, window_id: u32, win_event: WindowEvent) -> Option<WindowAction> {
[INFO] [stderr]    |                                   ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_id`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `keypad_window_id` and `display_window_id` are never read
[INFO] [stderr]   --> src/drivers/input.rs:9:5
[INFO] [stderr]    |
[INFO] [stderr] 7  | pub struct Input {
[INFO] [stderr]    |            ----- fields in this struct
[INFO] [stderr] 8  |     events: sdl2::EventPump,
[INFO] [stderr] 9  |     keypad_window_id: u32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 10 |     display_window_id: u32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `size` is never read
[INFO] [stderr]  --> src/drivers/rom.rs:6:9
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct ROM {
[INFO] [stderr]   |            --- field in this struct
[INFO] [stderr] 5 |     pub rom: [u8; 3584],
[INFO] [stderr] 6 |     pub size: usize,
[INFO] [stderr]   |         ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/cpu.rs:104:17
[INFO] [stderr]     |
[INFO] [stderr] 104 |     pub fn tick(&mut self, keypad: &[bool; 16]) -> OutputState {
[INFO] [stderr]     |                 ^^^^^^^^^                          ----------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 104 |     pub fn tick(&mut self, keypad: &[bool; 16]) -> OutputState<'_> {
[INFO] [stderr]     |                                                               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `displayCanvas` should have a snake case name
[INFO] [stderr]   --> src/drivers/display.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     displayCanvas: Canvas<Window>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^ help: convert the identifier to snake case: `display_canvas`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `keypadCanvas` should have a snake case name
[INFO] [stderr]   --> src/drivers/display.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     keypadCanvas: Canvas<Window>,
[INFO] [stderr]    |     ^^^^^^^^^^^^ help: convert the identifier to snake case: `keypad_canvas`
[INFO] [stderr] 
[INFO] [stderr] warning: `chip8_emulator` (bin "chip8_emulator" test) generated 9 warnings (run `cargo fix --bin "chip8_emulator" --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/chip8_emulator-b0fd7cc9db1c6ea6)
[INFO] [stdout] 
[INFO] [stdout] running 31 tests
[INFO] [stdout] test cpu::cpu_test::test_display_sprite ... ok
[INFO] [stdout] test cpu::cpu_test::test_add_kk_to_register_x ... ok
[INFO] [stdout] test cpu::cpu_test::test_execute_subroutine_at_address_nnn ... ok
[INFO] [stdout] test cpu::cpu_test::test_clear_screen ... ok
[INFO] [stdout] test cpu::cpu_test::test_jump_to_address_nnn ... ok
[INFO] [stdout] test cpu::cpu_test::test_initial_state ... ok
[INFO] [stdout] test cpu::cpu_test::test_return_from_subroutine ... ok
[INFO] [stdout] test cpu::cpu_test::test_jump_to_address_nnn_plus_reg_0 ... ok
[INFO] [stdout] test cpu::cpu_test::test_set_delay_timer_to_register_x ... ok
[INFO] [stdout] test cpu::cpu_test::test_set_memory_at_i_to_decimal_value_of_register_x ... ok
[INFO] [stdout] test cpu::cpu_test::test_set_memory_at_i_to_registers ... ok
[INFO] [stdout] test cpu::cpu_test::test_set_register_i_to_address_of_sprite_at_register_x ... ok
[INFO] [stdout] test cpu::cpu_test::test_set_register_i_to_nnn ... ok
[INFO] [stdout] test cpu::cpu_test::test_set_register_x_to_kk ... ok
[INFO] [stdout] test cpu::cpu_test::test_set_register_i_to_register_i_add_register_x ... ok
[INFO] [stdout] test cpu::cpu_test::test_set_register_x_to_register_x_add_register_y ... ok
[INFO] [stdout] test cpu::cpu_test::test_set_register_x_to_register_x_and_register_y ... ok
[INFO] [stdout] test cpu::cpu_test::test_set_register_x_to_register_x_sub_register_y ... ok
[INFO] [stdout] test cpu::cpu_test::test_set_register_x_to_register_x_or_register_y ... ok
[INFO] [stdout] test cpu::cpu_test::test_set_registers_to_memory_at_i ... ok
[INFO] [stdout] test cpu::cpu_test::test_set_sound_timer_to_register_x ... ok
[INFO] [stdout] test cpu::cpu_test::test_set_register_x_to_timer_register ... ok
[INFO] [stdout] test cpu::cpu_test::test_shift_register_x_right ... ok
[INFO] [stdout] test cpu::cpu_test::test_skip_next_op_if_reg_x_not_equals_reg_y ... ok
[INFO] [stdout] test cpu::cpu_test::test_skip_next_op_if_reg_x_not_equals_kk ... ok
[INFO] [stdout] test cpu::cpu_test::test_shift_register_x_left ... ok
[INFO] [stdout] test cpu::cpu_test::test_skip_next_op_if_reg_x_equals_kk ... ok
[INFO] [stdout] test cpu::cpu_test::test_skip_next_op_if_reg_x_equals_reg_y ... ok
[INFO] [stdout] test cpu::cpu_test::test_set_register_x_to_register_x_xor_register_y ... ok
[INFO] [stdout] test cpu::cpu_test::test_set_register_x_to_register_y ... ok
[INFO] [stdout] test cpu::cpu_test::test_set_register_x_to_register_y_sub_register_x ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "dbfdf39f3334d94ef82bac367525298d07446947c05435c86db9f4b525153fca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dbfdf39f3334d94ef82bac367525298d07446947c05435c86db9f4b525153fca", kill_on_drop: false }`
[INFO] [stdout] dbfdf39f3334d94ef82bac367525298d07446947c05435c86db9f4b525153fca
