[INFO] cloning repository https://github.com/JJendryka/chip8
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/JJendryka/chip8" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJJendryka%2Fchip8", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJJendryka%2Fchip8'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 03f10d7804f68a5941daef1bef813940d75f05cd
[INFO] testing JJendryka/chip8 against 1.47.0 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJJendryka%2Fchip8" "/workspace/builds/worker-7/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/JJendryka/chip8 on toolchain 1.47.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/JJendryka/chip8
[INFO] finished tweaking git repo https://github.com/JJendryka/chip8
[INFO] tweaked toml for git repo https://github.com/JJendryka/chip8 written to /workspace/builds/worker-7/source/Cargo.toml
[INFO] crate git repo https://github.com/JJendryka/chip8 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5d6028b0e296ef1db923cfd6b8ebd5c52924071fa6ae942a12c74271e98b3952
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "5d6028b0e296ef1db923cfd6b8ebd5c52924071fa6ae942a12c74271e98b3952", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5d6028b0e296ef1db923cfd6b8ebd5c52924071fa6ae942a12c74271e98b3952", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5d6028b0e296ef1db923cfd6b8ebd5c52924071fa6ae942a12c74271e98b3952", kill_on_drop: false }`
[INFO] [stdout] 5d6028b0e296ef1db923cfd6b8ebd5c52924071fa6ae942a12c74271e98b3952
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7ff10be2b943f6ec4d99a8eee7991d83bf92c95c883b29a79d24f3dff88186d4
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "7ff10be2b943f6ec4d99a8eee7991d83bf92c95c883b29a79d24f3dff88186d4", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.71
[INFO] [stderr]    Compiling cc v1.0.57
[INFO] [stderr]    Compiling num-traits v0.2.12
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling libudev-sys v0.1.4
[INFO] [stderr]    Compiling inflate v0.4.5
[INFO] [stderr]    Compiling error-chain v0.12.2
[INFO] [stderr]    Compiling addr2line v0.12.2
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling toml v0.5.6
[INFO] [stderr]    Compiling serde_json v1.0.56
[INFO] [stderr]    Compiling gfx_core v0.9.2
[INFO] [stderr]    Compiling gfx_gl v0.6.1
[INFO] [stderr]    Compiling png v0.15.3
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling parking_lot_core v0.6.2
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]    Compiling bzip2-sys v0.1.9+1.0.8
[INFO] [stderr]    Compiling minimp3-sys v0.3.2
[INFO] [stderr]    Compiling libloading v0.5.2
[INFO] [stderr]    Compiling approx v0.3.2
[INFO] [stderr]    Compiling ordered-float v1.1.0
[INFO] [stderr]    Compiling euclid v0.19.9
[INFO] [stderr]    Compiling line_drawing v0.7.0
[INFO] [stderr]    Compiling num-integer v0.1.43
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]    Compiling tiff v0.3.1
[INFO] [stderr]    Compiling sid v0.5.2
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling num-iter v0.1.41
[INFO] [stderr]    Compiling alga v0.9.3
[INFO] [stderr]    Compiling gfx v0.18.2
[INFO] [stderr]    Compiling image v0.22.5
[INFO] [stderr]    Compiling lyon_geom v0.12.7
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling nix v0.14.1
[INFO] [stderr]    Compiling getrandom v0.1.14
[INFO] [stderr]    Compiling backtrace v0.3.49
[INFO] [stderr]    Compiling x11-dl v2.18.5
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling memmap v0.7.0
[INFO] [stderr]    Compiling raw-window-handle v0.3.3
[INFO] [stderr]    Compiling shared_library v0.1.9
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling alsa-sys v0.1.2
[INFO] [stderr]    Compiling slice-deque v0.3.0
[INFO] [stderr]    Compiling nix v0.15.0
[INFO] [stderr]    Compiling dirs-sys v0.3.5
[INFO] [stderr]    Compiling rusttype v0.8.3
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling osmesa-sys v0.1.2
[INFO] [stderr]    Compiling bzip2 v0.3.3
[INFO] [stderr]    Compiling cpal v0.8.2
[INFO] [stderr]    Compiling directories v2.0.2
[INFO] [stderr]    Compiling lyon_path v0.13.2
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling tempdir v0.3.7
[INFO] [stderr]    Compiling minimp3 v0.3.5
[INFO] [stderr]    Compiling zip v0.5.6
[INFO] [stderr]    Compiling cargo_metadata v0.6.4
[INFO] [stderr]    Compiling rusttype v0.7.9
[INFO] [stderr]    Compiling glyph_brush_layout v0.1.9
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling andrew v0.2.1
[INFO] [stderr]    Compiling lyon_algorithms v0.13.4
[INFO] [stderr]    Compiling lyon_tessellation v0.13.5
[INFO] [stderr]    Compiling nalgebra v0.18.1
[INFO] [stderr]    Compiling skeptic v0.13.4
[INFO] [stderr]    Compiling twox-hash v1.5.0
[INFO] [stderr]    Compiling gfx_device_gl v0.16.2
[INFO] [stderr]    Compiling lyon v0.13.5
[INFO] [stderr]    Compiling glyph_brush v0.6.3
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.6
[INFO] [stderr]    Compiling glyph_brush v0.5.4
[INFO] [stderr]    Compiling ggez v0.5.1
[INFO] [stderr]    Compiling wayland-commons v0.21.13
[INFO] [stderr]    Compiling wayland-client v0.21.13
[INFO] [stderr]    Compiling gilrs-core v0.2.6
[INFO] [stderr]    Compiling gilrs v0.7.4
[INFO] [stderr]    Compiling wayland-protocols v0.21.13
[INFO] [stderr]    Compiling smithay-client-toolkit v0.4.6
[INFO] [stderr]    Compiling winit v0.19.5
[INFO] [stderr]    Compiling glutin v0.20.1
[INFO] [stderr]    Compiling gfx_window_glutin v0.30.0
[INFO] [stderr]    Compiling rodio v0.9.0
[INFO] [stderr]    Compiling chip8 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `EventHandler`
[INFO] [stdout]  --> src/main.rs:2:25
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::event::{self, EventHandler};
[INFO] [stdout]   |                         ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::random`
[INFO] [stdout]  --> src/simulator.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand::random;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> src/simulator.rs:48:50
[INFO] [stdout]    |
[INFO] [stdout] 48 | op!(OP_OOEO, "CLEAR screen", |chip8: &mut Chip8, opcode: &Opcode| { 
[INFO] [stdout]    |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> src/simulator.rs:53:60
[INFO] [stdout]    |
[INFO] [stdout] 53 | op!(OP_OOEE, "RETURN from subroutine", |chip8: &mut Chip8, opcode: &Opcode| { 
[INFO] [stdout]    |                                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output`
[INFO] [stdout]    --> src/simulator.rs:297:13
[INFO] [stdout]     |
[INFO] [stdout] 297 |         let output = operation.display.to_string(); //.replace("{Vb}", vb).replace({Vc}, vc)
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `display`
[INFO] [stdout]   --> src/simulator.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     display: &'static str,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `name`
[INFO] [stdout]   --> src/simulator.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     name: &'static str,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `print_operation`
[INFO] [stdout]    --> src/simulator.rs:294:8
[INFO] [stdout]     |
[INFO] [stdout] 294 |     fn print_operation(&mut self, operation: &Operation, opcode: &Opcode) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_1nnn` should have an upper case name
[INFO] [stdout]   --> src/simulator.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | op!(OP_1nnn, "JUMP to nnn{bcd}", |chip8: &mut Chip8, opcode: &Opcode| { 
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper case: `OP_1NNN`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_2nnn` should have an upper case name
[INFO] [stdout]   --> src/simulator.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | op!(OP_2nnn, "CALL abc{bcd}", |chip8: &mut Chip8, opcode: &Opcode| { 
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper case: `OP_2NNN`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_3xkk` should have an upper case name
[INFO] [stdout]   --> src/simulator.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | op!(OP_3xkk, "SKIP if Vx{Vb} equal to kk{cd}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_3XKK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_4xkk` should have an upper case name
[INFO] [stdout]   --> src/simulator.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | op!(OP_4xkk, "SKIP if Vx{Vb} not equal to kk{cd}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_4XKK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_5xy0` should have an upper case name
[INFO] [stdout]   --> src/simulator.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | op!(OP_5xy0, "SKIP if Vx{Vb} equal to Vy{Vc}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_5XY0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_6xkk` should have an upper case name
[INFO] [stdout]   --> src/simulator.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 | op!(OP_6xkk, "SET Vx{Vb} to kk{cd}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_6XKK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_7xkk` should have an upper case name
[INFO] [stdout]   --> src/simulator.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | op!(OP_7xkk, "ADD kk{cd} to Vx{Vb} without carry", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_7XKK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_8xy0` should have an upper case name
[INFO] [stdout]   --> src/simulator.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 | op!(OP_8xy0, "MOVE Vy{Vc} to Vx{Vb}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_8XY0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_8xy1` should have an upper case name
[INFO] [stdout]   --> src/simulator.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 | op!(OP_8xy1, "OR Vx{Vb} with Vy{Vc} and store to Vx", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_8XY1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_8xy2` should have an upper case name
[INFO] [stdout]   --> src/simulator.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 | op!(OP_8xy2, "AND Vx{Vb} with Vy{Vc} and store to Vx", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_8XY2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_8xy3` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 | op!(OP_8xy3, "XOR Vx{Vb} with Vy{Vc} and store to Vx", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_8XY3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_8xy4` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 | op!(OP_8xy4, "ADD Vy{Vc} to Vx{Vb} and store to Vx with carry", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_8XY4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_8xy5` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | op!(OP_8xy5, "SUB Vy{Vc} from Vx{Vb} and store to Vx with borrow", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_8XY5`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_8xy6` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 | op!(OP_8xy6, "SHIFT RIGHT Vx{Vb} and store LSB to VF", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_8XY6`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_8xy7` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 | op!(OP_8xy7, "SUB Vx{Vc} from Vy{Vb} and store to Vx with borrow", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_8XY7`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_8xyE` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 | op!(OP_8xyE, "SHIFT LEFT Vx{Vb} and store MSB to VF", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case: `OP_8XY_E`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_9xy0` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 | op!(OP_9xy0, "SKIP if Vx{Vb} != Vy{Vc}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_9XY0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Annn` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 | op!(OP_Annn, "SET I to nnn{bcd}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case: `OP_ANNN`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Bnnn` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 162 | op!(OP_Bnnn, "JUMP to nnn{bcd} + VO", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case: `OP_BNNN`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Cxkk` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 | op!(OP_Cxkk, "RAND to Vx{Vb} and AND with kk{cd}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_CXKK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Dxyn` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 172 | op!(OP_Dxyn, "DRAW n{d} byte sprite at coordinates (Vx{Vb}, Vy{Vc})", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case: `OP_DXYN`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Ex9E` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 189 | op!(OP_Ex9E, "SKIP if Vx{Vb} key is pressed", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case: `OP_EX9_E`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_ExA1` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 193 | op!(OP_ExA1, "SKIP if Vx{Vb} key is NOT pressed", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case: `OP_EX_A1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Fx07` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:197:5
[INFO] [stdout]     |
[INFO] [stdout] 197 | op!(OP_Fx07, "SET Vx{Vb} to delay_timer", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_FX07`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Fx0A` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 202 | op!(OP_Fx0A, "WAIT for keypress. Store key to Vx{Vb}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case: `OP_FX0_A`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Fx15` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 | op!(OP_Fx15, "SET delay_timer to Vx{Vb}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_FX15`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Fx18` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 213 | op!(OP_Fx18, "SET sound_timer to Vx{Vb}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_FX18`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Fx1E` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 218 | op!(OP_Fx1E, "ADD Vx{Vb} to I and store in I", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case: `OP_FX1_E`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Fx29` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:223:5
[INFO] [stdout]     |
[INFO] [stdout] 223 | op!(OP_Fx29, "SET I to location of sprite for digit stored in Vx{Vb}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_FX29`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Fx33` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 | op!(OP_Fx33, "STORE BCD of Vx{Vb} in memory starting with address I", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_FX33`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Fx55` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:235:5
[INFO] [stdout]     |
[INFO] [stdout] 235 | op!(OP_Fx55, "STORE registers V0-Vx{Vb} to mem[I]-mem[I+x]", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_FX55`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Fx65` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:242:5
[INFO] [stdout]     |
[INFO] [stdout] 242 | op!(OP_Fx65, "LOAD mem[I]-mem[I+x] to registers V0-Vx{Vb}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_FX65`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 40 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 3m 11s
[INFO] running `Command { std: "docker" "inspect" "7ff10be2b943f6ec4d99a8eee7991d83bf92c95c883b29a79d24f3dff88186d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7ff10be2b943f6ec4d99a8eee7991d83bf92c95c883b29a79d24f3dff88186d4", kill_on_drop: false }`
[INFO] [stdout] 7ff10be2b943f6ec4d99a8eee7991d83bf92c95c883b29a79d24f3dff88186d4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9104c42fa27218acdc93e2e49b23d5c80367de11161472b6036305c6f9812484
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "9104c42fa27218acdc93e2e49b23d5c80367de11161472b6036305c6f9812484", kill_on_drop: false }`
[INFO] [stderr]    Compiling chip8 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `EventHandler`
[INFO] [stdout]  --> src/main.rs:2:25
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::event::{self, EventHandler};
[INFO] [stdout]   |                         ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::random`
[INFO] [stdout]  --> src/simulator.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand::random;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> src/simulator.rs:48:50
[INFO] [stdout]    |
[INFO] [stdout] 48 | op!(OP_OOEO, "CLEAR screen", |chip8: &mut Chip8, opcode: &Opcode| { 
[INFO] [stdout]    |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> src/simulator.rs:53:60
[INFO] [stdout]    |
[INFO] [stdout] 53 | op!(OP_OOEE, "RETURN from subroutine", |chip8: &mut Chip8, opcode: &Opcode| { 
[INFO] [stdout]    |                                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output`
[INFO] [stdout]    --> src/simulator.rs:297:13
[INFO] [stdout]     |
[INFO] [stdout] 297 |         let output = operation.display.to_string(); //.replace("{Vb}", vb).replace({Vc}, vc)
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `display`
[INFO] [stdout]   --> src/simulator.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     display: &'static str,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `name`
[INFO] [stdout]   --> src/simulator.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     name: &'static str,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `print_operation`
[INFO] [stdout]    --> src/simulator.rs:294:8
[INFO] [stdout]     |
[INFO] [stdout] 294 |     fn print_operation(&mut self, operation: &Operation, opcode: &Opcode) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_1nnn` should have an upper case name
[INFO] [stdout]   --> src/simulator.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | op!(OP_1nnn, "JUMP to nnn{bcd}", |chip8: &mut Chip8, opcode: &Opcode| { 
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper case: `OP_1NNN`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_2nnn` should have an upper case name
[INFO] [stdout]   --> src/simulator.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | op!(OP_2nnn, "CALL abc{bcd}", |chip8: &mut Chip8, opcode: &Opcode| { 
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper case: `OP_2NNN`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_3xkk` should have an upper case name
[INFO] [stdout]   --> src/simulator.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | op!(OP_3xkk, "SKIP if Vx{Vb} equal to kk{cd}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_3XKK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_4xkk` should have an upper case name
[INFO] [stdout]   --> src/simulator.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | op!(OP_4xkk, "SKIP if Vx{Vb} not equal to kk{cd}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_4XKK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_5xy0` should have an upper case name
[INFO] [stdout]   --> src/simulator.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | op!(OP_5xy0, "SKIP if Vx{Vb} equal to Vy{Vc}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_5XY0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_6xkk` should have an upper case name
[INFO] [stdout]   --> src/simulator.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 | op!(OP_6xkk, "SET Vx{Vb} to kk{cd}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_6XKK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_7xkk` should have an upper case name
[INFO] [stdout]   --> src/simulator.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | op!(OP_7xkk, "ADD kk{cd} to Vx{Vb} without carry", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_7XKK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_8xy0` should have an upper case name
[INFO] [stdout]   --> src/simulator.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 | op!(OP_8xy0, "MOVE Vy{Vc} to Vx{Vb}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_8XY0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_8xy1` should have an upper case name
[INFO] [stdout]   --> src/simulator.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 | op!(OP_8xy1, "OR Vx{Vb} with Vy{Vc} and store to Vx", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_8XY1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_8xy2` should have an upper case name
[INFO] [stdout]   --> src/simulator.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 | op!(OP_8xy2, "AND Vx{Vb} with Vy{Vc} and store to Vx", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_8XY2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_8xy3` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 | op!(OP_8xy3, "XOR Vx{Vb} with Vy{Vc} and store to Vx", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_8XY3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_8xy4` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 | op!(OP_8xy4, "ADD Vy{Vc} to Vx{Vb} and store to Vx with carry", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_8XY4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_8xy5` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | op!(OP_8xy5, "SUB Vy{Vc} from Vx{Vb} and store to Vx with borrow", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_8XY5`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_8xy6` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 | op!(OP_8xy6, "SHIFT RIGHT Vx{Vb} and store LSB to VF", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_8XY6`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_8xy7` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 | op!(OP_8xy7, "SUB Vx{Vc} from Vy{Vb} and store to Vx with borrow", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_8XY7`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_8xyE` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 | op!(OP_8xyE, "SHIFT LEFT Vx{Vb} and store MSB to VF", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case: `OP_8XY_E`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_9xy0` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 | op!(OP_9xy0, "SKIP if Vx{Vb} != Vy{Vc}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_9XY0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Annn` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 | op!(OP_Annn, "SET I to nnn{bcd}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case: `OP_ANNN`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Bnnn` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 162 | op!(OP_Bnnn, "JUMP to nnn{bcd} + VO", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case: `OP_BNNN`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Cxkk` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 | op!(OP_Cxkk, "RAND to Vx{Vb} and AND with kk{cd}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_CXKK`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Dxyn` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 172 | op!(OP_Dxyn, "DRAW n{d} byte sprite at coordinates (Vx{Vb}, Vy{Vc})", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case: `OP_DXYN`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Ex9E` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 189 | op!(OP_Ex9E, "SKIP if Vx{Vb} key is pressed", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case: `OP_EX9_E`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_ExA1` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 193 | op!(OP_ExA1, "SKIP if Vx{Vb} key is NOT pressed", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case: `OP_EX_A1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Fx07` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:197:5
[INFO] [stdout]     |
[INFO] [stdout] 197 | op!(OP_Fx07, "SET Vx{Vb} to delay_timer", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_FX07`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Fx0A` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 202 | op!(OP_Fx0A, "WAIT for keypress. Store key to Vx{Vb}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case: `OP_FX0_A`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Fx15` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 | op!(OP_Fx15, "SET delay_timer to Vx{Vb}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_FX15`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Fx18` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 213 | op!(OP_Fx18, "SET sound_timer to Vx{Vb}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_FX18`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Fx1E` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 218 | op!(OP_Fx1E, "ADD Vx{Vb} to I and store in I", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case: `OP_FX1_E`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Fx29` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:223:5
[INFO] [stdout]     |
[INFO] [stdout] 223 | op!(OP_Fx29, "SET I to location of sprite for digit stored in Vx{Vb}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_FX29`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Fx33` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 | op!(OP_Fx33, "STORE BCD of Vx{Vb} in memory starting with address I", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_FX33`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Fx55` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:235:5
[INFO] [stdout]     |
[INFO] [stdout] 235 | op!(OP_Fx55, "STORE registers V0-Vx{Vb} to mem[I]-mem[I+x]", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_FX55`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_Fx65` should have an upper case name
[INFO] [stdout]    --> src/simulator.rs:242:5
[INFO] [stdout]     |
[INFO] [stdout] 242 | op!(OP_Fx65, "LOAD mem[I]-mem[I+x] to registers V0-Vx{Vb}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_FX65`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 40 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 6.15s
[INFO] running `Command { std: "docker" "inspect" "9104c42fa27218acdc93e2e49b23d5c80367de11161472b6036305c6f9812484", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9104c42fa27218acdc93e2e49b23d5c80367de11161472b6036305c6f9812484", kill_on_drop: false }`
[INFO] [stdout] 9104c42fa27218acdc93e2e49b23d5c80367de11161472b6036305c6f9812484
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5b58b9462a77efc9bb401f7dc831b884cedc68e5d565e78ee223fdd72565063b
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "5b58b9462a77efc9bb401f7dc831b884cedc68e5d565e78ee223fdd72565063b", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `EventHandler`
[INFO] [stderr]  --> src/main.rs:2:25
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ggez::event::{self, EventHandler};
[INFO] [stderr]   |                         ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::random`
[INFO] [stderr]  --> src/simulator.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use rand::random;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `opcode`
[INFO] [stderr]   --> src/simulator.rs:48:50
[INFO] [stderr]    |
[INFO] [stderr] 48 | op!(OP_OOEO, "CLEAR screen", |chip8: &mut Chip8, opcode: &Opcode| { 
[INFO] [stderr]    |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `opcode`
[INFO] [stderr]   --> src/simulator.rs:53:60
[INFO] [stderr]    |
[INFO] [stderr] 53 | op!(OP_OOEE, "RETURN from subroutine", |chip8: &mut Chip8, opcode: &Opcode| { 
[INFO] [stderr]    |                                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `output`
[INFO] [stderr]    --> src/simulator.rs:297:13
[INFO] [stderr]     |
[INFO] [stderr] 297 |         let output = operation.display.to_string(); //.replace("{Vb}", vb).replace({Vc}, vc)
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `display`
[INFO] [stderr]   --> src/simulator.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 34 |     display: &'static str,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `name`
[INFO] [stderr]   --> src/simulator.rs:35:5
[INFO] [stderr]    |
[INFO] [stderr] 35 |     name: &'static str,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `print_operation`
[INFO] [stderr]    --> src/simulator.rs:294:8
[INFO] [stderr]     |
[INFO] [stderr] 294 |     fn print_operation(&mut self, operation: &Operation, opcode: &Opcode) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_1nnn` should have an upper case name
[INFO] [stderr]   --> src/simulator.rs:57:5
[INFO] [stderr]    |
[INFO] [stderr] 57 | op!(OP_1nnn, "JUMP to nnn{bcd}", |chip8: &mut Chip8, opcode: &Opcode| { 
[INFO] [stderr]    |     ^^^^^^^ help: convert the identifier to upper case: `OP_1NNN`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_2nnn` should have an upper case name
[INFO] [stderr]   --> src/simulator.rs:61:5
[INFO] [stderr]    |
[INFO] [stderr] 61 | op!(OP_2nnn, "CALL abc{bcd}", |chip8: &mut Chip8, opcode: &Opcode| { 
[INFO] [stderr]    |     ^^^^^^^ help: convert the identifier to upper case: `OP_2NNN`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_3xkk` should have an upper case name
[INFO] [stderr]   --> src/simulator.rs:66:5
[INFO] [stderr]    |
[INFO] [stderr] 66 | op!(OP_3xkk, "SKIP if Vx{Vb} equal to kk{cd}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]    |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_3XKK`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_4xkk` should have an upper case name
[INFO] [stderr]   --> src/simulator.rs:70:5
[INFO] [stderr]    |
[INFO] [stderr] 70 | op!(OP_4xkk, "SKIP if Vx{Vb} not equal to kk{cd}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]    |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_4XKK`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_5xy0` should have an upper case name
[INFO] [stderr]   --> src/simulator.rs:74:5
[INFO] [stderr]    |
[INFO] [stderr] 74 | op!(OP_5xy0, "SKIP if Vx{Vb} equal to Vy{Vc}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]    |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_5XY0`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_6xkk` should have an upper case name
[INFO] [stderr]   --> src/simulator.rs:78:5
[INFO] [stderr]    |
[INFO] [stderr] 78 | op!(OP_6xkk, "SET Vx{Vb} to kk{cd}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]    |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_6XKK`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_7xkk` should have an upper case name
[INFO] [stderr]   --> src/simulator.rs:83:5
[INFO] [stderr]    |
[INFO] [stderr] 83 | op!(OP_7xkk, "ADD kk{cd} to Vx{Vb} without carry", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]    |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_7XKK`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_8xy0` should have an upper case name
[INFO] [stderr]   --> src/simulator.rs:88:5
[INFO] [stderr]    |
[INFO] [stderr] 88 | op!(OP_8xy0, "MOVE Vy{Vc} to Vx{Vb}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]    |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_8XY0`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_8xy1` should have an upper case name
[INFO] [stderr]   --> src/simulator.rs:93:5
[INFO] [stderr]    |
[INFO] [stderr] 93 | op!(OP_8xy1, "OR Vx{Vb} with Vy{Vc} and store to Vx", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]    |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_8XY1`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_8xy2` should have an upper case name
[INFO] [stderr]   --> src/simulator.rs:98:5
[INFO] [stderr]    |
[INFO] [stderr] 98 | op!(OP_8xy2, "AND Vx{Vb} with Vy{Vc} and store to Vx", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]    |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_8XY2`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_8xy3` should have an upper case name
[INFO] [stderr]    --> src/simulator.rs:103:5
[INFO] [stderr]     |
[INFO] [stderr] 103 | op!(OP_8xy3, "XOR Vx{Vb} with Vy{Vc} and store to Vx", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_8XY3`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_8xy4` should have an upper case name
[INFO] [stderr]    --> src/simulator.rs:108:5
[INFO] [stderr]     |
[INFO] [stderr] 108 | op!(OP_8xy4, "ADD Vy{Vc} to Vx{Vb} and store to Vx with carry", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_8XY4`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_8xy5` should have an upper case name
[INFO] [stderr]    --> src/simulator.rs:119:5
[INFO] [stderr]     |
[INFO] [stderr] 119 | op!(OP_8xy5, "SUB Vy{Vc} from Vx{Vb} and store to Vx with borrow", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_8XY5`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_8xy6` should have an upper case name
[INFO] [stderr]    --> src/simulator.rs:130:5
[INFO] [stderr]     |
[INFO] [stderr] 130 | op!(OP_8xy6, "SHIFT RIGHT Vx{Vb} and store LSB to VF", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_8XY6`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_8xy7` should have an upper case name
[INFO] [stderr]    --> src/simulator.rs:136:5
[INFO] [stderr]     |
[INFO] [stderr] 136 | op!(OP_8xy7, "SUB Vx{Vc} from Vy{Vb} and store to Vx with borrow", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_8XY7`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_8xyE` should have an upper case name
[INFO] [stderr]    --> src/simulator.rs:147:5
[INFO] [stderr]     |
[INFO] [stderr] 147 | op!(OP_8xyE, "SHIFT LEFT Vx{Vb} and store MSB to VF", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]     |     ^^^^^^^ help: convert the identifier to upper case: `OP_8XY_E`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_9xy0` should have an upper case name
[INFO] [stderr]    --> src/simulator.rs:153:5
[INFO] [stderr]     |
[INFO] [stderr] 153 | op!(OP_9xy0, "SKIP if Vx{Vb} != Vy{Vc}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_9XY0`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_Annn` should have an upper case name
[INFO] [stderr]    --> src/simulator.rs:157:5
[INFO] [stderr]     |
[INFO] [stderr] 157 | op!(OP_Annn, "SET I to nnn{bcd}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]     |     ^^^^^^^ help: convert the identifier to upper case: `OP_ANNN`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_Bnnn` should have an upper case name
[INFO] [stderr]    --> src/simulator.rs:162:5
[INFO] [stderr]     |
[INFO] [stderr] 162 | op!(OP_Bnnn, "JUMP to nnn{bcd} + VO", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]     |     ^^^^^^^ help: convert the identifier to upper case: `OP_BNNN`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_Cxkk` should have an upper case name
[INFO] [stderr]    --> src/simulator.rs:167:5
[INFO] [stderr]     |
[INFO] [stderr] 167 | op!(OP_Cxkk, "RAND to Vx{Vb} and AND with kk{cd}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_CXKK`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_Dxyn` should have an upper case name
[INFO] [stderr]    --> src/simulator.rs:172:5
[INFO] [stderr]     |
[INFO] [stderr] 172 | op!(OP_Dxyn, "DRAW n{d} byte sprite at coordinates (Vx{Vb}, Vy{Vc})", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]     |     ^^^^^^^ help: convert the identifier to upper case: `OP_DXYN`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_Ex9E` should have an upper case name
[INFO] [stderr]    --> src/simulator.rs:189:5
[INFO] [stderr]     |
[INFO] [stderr] 189 | op!(OP_Ex9E, "SKIP if Vx{Vb} key is pressed", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]     |     ^^^^^^^ help: convert the identifier to upper case: `OP_EX9_E`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_ExA1` should have an upper case name
[INFO] [stderr]    --> src/simulator.rs:193:5
[INFO] [stderr]     |
[INFO] [stderr] 193 | op!(OP_ExA1, "SKIP if Vx{Vb} key is NOT pressed", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]     |     ^^^^^^^ help: convert the identifier to upper case: `OP_EX_A1`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_Fx07` should have an upper case name
[INFO] [stderr]    --> src/simulator.rs:197:5
[INFO] [stderr]     |
[INFO] [stderr] 197 | op!(OP_Fx07, "SET Vx{Vb} to delay_timer", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_FX07`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_Fx0A` should have an upper case name
[INFO] [stderr]    --> src/simulator.rs:202:5
[INFO] [stderr]     |
[INFO] [stderr] 202 | op!(OP_Fx0A, "WAIT for keypress. Store key to Vx{Vb}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]     |     ^^^^^^^ help: convert the identifier to upper case: `OP_FX0_A`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_Fx15` should have an upper case name
[INFO] [stderr]    --> src/simulator.rs:208:5
[INFO] [stderr]     |
[INFO] [stderr] 208 | op!(OP_Fx15, "SET delay_timer to Vx{Vb}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_FX15`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_Fx18` should have an upper case name
[INFO] [stderr]    --> src/simulator.rs:213:5
[INFO] [stderr]     |
[INFO] [stderr] 213 | op!(OP_Fx18, "SET sound_timer to Vx{Vb}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_FX18`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_Fx1E` should have an upper case name
[INFO] [stderr]    --> src/simulator.rs:218:5
[INFO] [stderr]     |
[INFO] [stderr] 218 | op!(OP_Fx1E, "ADD Vx{Vb} to I and store in I", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]     |     ^^^^^^^ help: convert the identifier to upper case: `OP_FX1_E`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_Fx29` should have an upper case name
[INFO] [stderr]    --> src/simulator.rs:223:5
[INFO] [stderr]     |
[INFO] [stderr] 223 | op!(OP_Fx29, "SET I to location of sprite for digit stored in Vx{Vb}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_FX29`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_Fx33` should have an upper case name
[INFO] [stderr]    --> src/simulator.rs:228:5
[INFO] [stderr]     |
[INFO] [stderr] 228 | op!(OP_Fx33, "STORE BCD of Vx{Vb} in memory starting with address I", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_FX33`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_Fx55` should have an upper case name
[INFO] [stderr]    --> src/simulator.rs:235:5
[INFO] [stderr]     |
[INFO] [stderr] 235 | op!(OP_Fx55, "STORE registers V0-Vx{Vb} to mem[I]-mem[I+x]", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_FX55`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `OP_Fx65` should have an upper case name
[INFO] [stderr]    --> src/simulator.rs:242:5
[INFO] [stderr]     |
[INFO] [stderr] 242 | op!(OP_Fx65, "LOAD mem[I]-mem[I+x] to registers V0-Vx{Vb}", |chip8: &mut Chip8, opcode: &Opcode| {
[INFO] [stderr]     |     ^^^^^^^ help: convert the identifier to upper case (notice the capitalization): `OP_FX65`
[INFO] [stderr] 
[INFO] [stderr] warning: 40 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.68s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/chip8-5f59df3b1fe7a4fe
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test simulator::test_fetch ... ok
[INFO] [stdout] test simulator::test_merge ... ok
[INFO] [stdout] test simulator::test_merge_u16 ... ok
[INFO] [stdout] test simulator::test_stack ... ok
[INFO] [stdout] test simulator::test_split ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "5b58b9462a77efc9bb401f7dc831b884cedc68e5d565e78ee223fdd72565063b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5b58b9462a77efc9bb401f7dc831b884cedc68e5d565e78ee223fdd72565063b", kill_on_drop: false }`
[INFO] [stdout] 5b58b9462a77efc9bb401f7dc831b884cedc68e5d565e78ee223fdd72565063b
