[INFO] cloning repository https://github.com/BlinfoldKing/Chip8-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/BlinfoldKing/Chip8-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBlinfoldKing%2FChip8-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBlinfoldKing%2FChip8-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 865bc402f1a586becc472eee2fc0df921cf17e52 [INFO] checking BlinfoldKing/Chip8-rs against try#f47dd4da3ae8c32c9e65d307bfe640b143e674df for pr-77526 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBlinfoldKing%2FChip8-rs" "/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/BlinfoldKing/Chip8-rs on toolchain f47dd4da3ae8c32c9e65d307bfe640b143e674df [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/BlinfoldKing/Chip8-rs [INFO] finished tweaking git repo https://github.com/BlinfoldKing/Chip8-rs [INFO] tweaked toml for git repo https://github.com/BlinfoldKing/Chip8-rs written to /workspace/builds/worker-7/source/Cargo.toml [INFO] crate git repo https://github.com/BlinfoldKing/Chip8-rs already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded syn v0.15.9 [INFO] [stderr] Downloaded serde_derive v1.0.79 [INFO] [stderr] Downloaded image v0.20.0 [INFO] [stderr] Downloaded piston-gfx_texture v0.34.0 [INFO] [stderr] Downloaded piston2d-gfx_graphics v0.52.0 [INFO] [stderr] Downloaded gleam v0.6.3 [INFO] [stderr] Downloaded gfx_gl v0.5.0 [INFO] [stderr] Downloaded gfx_device_gl v0.15.3 [INFO] [stderr] Downloaded pistoncore-glutin_window v0.48.0 [INFO] [stderr] Downloaded serde v1.0.79 [INFO] [stderr] Downloaded piston_window v0.81.0 [INFO] [stderr] Downloaded piston2d-opengl_graphics v0.54.0 [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" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6ce277c016b9cc364e7fba43551ac5c9b5444995da79f82c34edf69d3b85878c [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" "6ce277c016b9cc364e7fba43551ac5c9b5444995da79f82c34edf69d3b85878c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6ce277c016b9cc364e7fba43551ac5c9b5444995da79f82c34edf69d3b85878c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6ce277c016b9cc364e7fba43551ac5c9b5444995da79f82c34edf69d3b85878c", kill_on_drop: false }` [INFO] [stdout] 6ce277c016b9cc364e7fba43551ac5c9b5444995da79f82c34edf69d3b85878c [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=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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ea8c70d81bd36e9ab7e1d0df4752b84bbb8d143127c9053f81b9e5c512c4c81e [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" "ea8c70d81bd36e9ab7e1d0df4752b84bbb8d143127c9053f81b9e5c512c4c81e", kill_on_drop: false }` [INFO] [stderr] Compiling bitflags v1.0.4 [INFO] [stderr] Checking libc v0.2.43 [INFO] [stderr] Checking cfg-if v0.1.5 [INFO] [stderr] Compiling num-traits v0.2.6 [INFO] [stderr] Compiling proc-macro2 v0.4.20 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling khronos_api v2.2.0 [INFO] [stderr] Checking scopeguard v0.3.3 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Compiling cc v1.0.25 [INFO] [stderr] Checking nodrop v0.1.12 [INFO] [stderr] Checking byteorder v1.2.6 [INFO] [stderr] Checking piston-float v0.3.0 [INFO] [stderr] Compiling rayon-core v1.4.1 [INFO] [stderr] Compiling num-integer v0.1.39 [INFO] [stderr] Checking memoffset v0.2.1 [INFO] [stderr] Checking rand_core v0.2.1 [INFO] [stderr] Compiling rayon v1.0.2 [INFO] [stderr] Checking adler32 v1.0.3 [INFO] [stderr] Compiling either v1.5.0 [INFO] [stderr] Compiling unicode-xid v0.0.4 [INFO] [stderr] Checking downcast-rs v1.0.3 [INFO] [stderr] Compiling num-iter v0.1.37 [INFO] [stderr] Compiling serde v1.0.79 [INFO] [stderr] Compiling num-derive v0.2.3 [INFO] [stderr] Compiling quote v0.3.15 [INFO] [stderr] Checking lzw v0.10.0 [INFO] [stderr] Checking shader_version v0.3.0 [INFO] [stderr] Compiling num-rational v0.2.1 [INFO] [stderr] Compiling pkg-config v0.3.14 [INFO] [stderr] Compiling nix v0.11.0 [INFO] [stderr] Checking stable_deref_trait v1.1.1 [INFO] [stderr] Checking color_quant v1.0.1 [INFO] [stderr] Checking scoped_threadpool v0.1.9 [INFO] [stderr] Checking piston-texture v0.6.0 [INFO] [stderr] Checking percent-encoding v1.0.1 [INFO] [stderr] Checking fnv v1.0.6 [INFO] [stderr] Checking read_color v1.0.0 [INFO] [stderr] Checking interpolation v0.1.0 [INFO] [stderr] Checking piston-shaders_graphics2d v0.3.1 [INFO] [stderr] Compiling lazy_static v1.1.0 [INFO] [stderr] Compiling xml-rs v0.7.0 [INFO] [stderr] Checking crossbeam-utils v0.2.2 [INFO] [stderr] Checking log v0.4.5 [INFO] [stderr] Checking draw_state v0.8.0 [INFO] [stderr] Checking arrayvec v0.4.7 [INFO] [stderr] Checking unreachable v1.0.0 [INFO] [stderr] Checking piston-viewport v0.3.0 [INFO] [stderr] Checking vecmath v0.3.1 [INFO] [stderr] Checking inflate v0.4.3 [INFO] [stderr] Compiling itertools v0.5.10 [INFO] [stderr] Checking deflate v0.7.19 [INFO] [stderr] Checking stb_truetype v0.2.4 [INFO] [stderr] Compiling syn v0.10.8 [INFO] [stderr] Checking owning_ref v0.3.3 [INFO] [stderr] Checking gif v0.10.1 [INFO] [stderr] Checking num_cpus v1.8.0 [INFO] [stderr] Checking rand v0.5.5 [INFO] [stderr] Checking memmap v0.6.2 [INFO] [stderr] Checking smallvec v0.6.5 [INFO] [stderr] Compiling parking_lot_core v0.3.1 [INFO] [stderr] Checking lock_api v0.1.4 [INFO] [stderr] Checking crossbeam-epoch v0.3.1 [INFO] [stderr] Checking shared_library v0.1.9 [INFO] [stderr] Compiling x11-dl v2.18.3 [INFO] [stderr] Compiling gl_generator v0.9.0 [INFO] [stderr] Compiling wayland-scanner v0.20.12 [INFO] [stderr] Checking osmesa-sys v0.1.2 [INFO] [stderr] Checking crossbeam-deque v0.2.0 [INFO] [stderr] Compiling quote v0.6.8 [INFO] [stderr] Compiling syn v0.15.9 [INFO] [stderr] Checking num-traits v0.1.43 [INFO] [stderr] Compiling libloading v0.5.0 [INFO] [stderr] Checking ordered-float v0.5.2 [INFO] [stderr] Checking rusttype v0.4.3 [INFO] [stderr] Checking parking_lot v0.6.4 [INFO] [stderr] Checking png v0.12.0 [INFO] [stderr] Checking dlib v0.4.1 [INFO] [stderr] Checking wayland-sys v0.20.12 [INFO] [stderr] Compiling wayland-client v0.20.12 [INFO] [stderr] Compiling wayland-protocols v0.20.12 [INFO] [stderr] Checking piston2d-graphics v0.26.0 [INFO] [stderr] Compiling gl v0.10.0 [INFO] [stderr] Compiling glutin v0.18.0 [INFO] [stderr] Compiling gfx_gl v0.5.0 [INFO] [stderr] Checking wayland-commons v0.20.12 [INFO] [stderr] Checking jpeg-decoder v0.1.15 [INFO] [stderr] Compiling derivative v1.0.0 [INFO] [stderr] Compiling serde_derive v1.0.79 [INFO] [stderr] Checking smithay-client-toolkit v0.3.0 [INFO] [stderr] Checking gfx_core v0.8.3 [INFO] [stderr] Checking winit v0.17.2 [INFO] [stderr] Checking tiff v0.2.1 [INFO] [stderr] Checking image v0.20.0 [INFO] [stderr] Checking gfx v0.17.1 [INFO] [stderr] Checking gfx_device_gl v0.15.3 [INFO] [stderr] Checking piston-gfx_texture v0.34.0 [INFO] [stderr] Checking piston2d-opengl_graphics v0.54.0 [INFO] [stderr] Checking piston2d-gfx_graphics v0.52.0 [INFO] [stderr] Checking pistoncore-input v0.21.0 [INFO] [stderr] Checking pistoncore-window v0.32.0 [INFO] [stderr] Checking pistoncore-event_loop v0.37.0 [INFO] [stderr] Checking pistoncore-glutin_window v0.48.0 [INFO] [stderr] Checking piston v0.37.0 [INFO] [stderr] Checking piston_window v0.81.0 [INFO] [stderr] Checking chip8-rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `piston::window::WindowSettings` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use piston::window::WindowSettings; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `glutin_window::GlutinWindow as Window` [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use glutin_window::GlutinWindow as Window; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `piston::event_loop::*` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use piston::event_loop::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `piston::input::*` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use piston::input::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GlGraphics`, `OpenGL` [INFO] [stdout] --> src/main.rs:13:24 [INFO] [stdout] | [INFO] [stdout] 13 | use opengl_graphics::{ GlGraphics, OpenGL }; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::prelude::*` [INFO] [stdout] --> src/CPU.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::io::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/main.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 25 | / loop { [INFO] [stdout] 26 | | cpu.emulate_cycle(); [INFO] [stdout] 27 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 28 | [INFO] [stdout] 29 | println!("Hello, world!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `piston::window::WindowSettings` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use piston::window::WindowSettings; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `glutin_window::GlutinWindow as Window` [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use glutin_window::GlutinWindow as Window; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `piston::event_loop::*` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use piston::event_loop::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `piston::input::*` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use piston::input::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GlGraphics`, `OpenGL` [INFO] [stdout] --> src/main.rs:13:24 [INFO] [stdout] | [INFO] [stdout] 13 | use opengl_graphics::{ GlGraphics, OpenGL }; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::prelude::*` [INFO] [stdout] --> src/CPU.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::io::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/main.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 25 | / loop { [INFO] [stdout] 26 | | cpu.emulate_cycle(); [INFO] [stdout] 27 | | } [INFO] [stdout] | |_____- any code following this expression is unreachable [INFO] [stdout] 28 | [INFO] [stdout] 29 | println!("Hello, world!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/CPU.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | let state = match nibble { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bytes_read` [INFO] [stdout] --> src/CPU.rs:265:13 [INFO] [stdout] | [INFO] [stdout] 265 | let bytes_read = if let Ok(bytes_read) = reader.read(&mut buffer) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes_read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `gfx` [INFO] [stdout] --> src/CPU.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | gfx: [[u8; 32]; 64], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `delay_timer` [INFO] [stdout] --> src/CPU.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | delay_timer: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `sound_timer` [INFO] [stdout] --> src/CPU.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | sound_timer: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `CPU` should have a snake case name [INFO] [stdout] --> src/main.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | mod CPU; [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `cpu` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `fontset` should have an upper case name [INFO] [stdout] --> src/CPU.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const fontset: [u8; 80] = [ [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper case: `FONTSET` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `V` should have a snake case name [INFO] [stdout] --> src/CPU.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | V: [u8; 16], // General purpose registers [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `JP` should have a snake case name [INFO] [stdout] --> src/CPU.rs:116:8 [INFO] [stdout] | [INFO] [stdout] 116 | fn JP (&mut self, nnn: u16) { [INFO] [stdout] | ^^ help: convert the identifier to snake case: `jp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `CALL` should have a snake case name [INFO] [stdout] --> src/CPU.rs:121:8 [INFO] [stdout] | [INFO] [stdout] 121 | fn CALL (&mut self, nnn: u16) { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `call` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused arithmetic operation that must be used [INFO] [stdout] --> src/CPU.rs:124:9 [INFO] [stdout] | [INFO] [stdout] 124 | self.sp + 1; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `RET` should have a snake case name [INFO] [stdout] --> src/CPU.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 128 | fn RET (&mut self) { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `ret` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `SE` should have a snake case name [INFO] [stdout] --> src/CPU.rs:134:8 [INFO] [stdout] | [INFO] [stdout] 134 | fn SE (&mut self, x: u16, kk: u16) { [INFO] [stdout] | ^^ help: convert the identifier to snake case: `se` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `SNE` should have a snake case name [INFO] [stdout] --> src/CPU.rs:141:8 [INFO] [stdout] | [INFO] [stdout] 141 | fn SNE (&mut self, x: u16, kk: u16) { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `sne` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `SE_xy` should have a snake case name [INFO] [stdout] --> src/CPU.rs:148:8 [INFO] [stdout] | [INFO] [stdout] 148 | fn SE_xy (&mut self, x: u16, y: u16) { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `se_xy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `LD` should have a snake case name [INFO] [stdout] --> src/CPU.rs:155:8 [INFO] [stdout] | [INFO] [stdout] 155 | fn LD (&mut self, x: u16, kk: u16) { [INFO] [stdout] | ^^ help: convert the identifier to snake case: `ld` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `ADD` should have a snake case name [INFO] [stdout] --> src/CPU.rs:160:8 [INFO] [stdout] | [INFO] [stdout] 160 | fn ADD (&mut self, x: u16, kk: u16) { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `add` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `LD_xy` should have a snake case name [INFO] [stdout] --> src/CPU.rs:165:8 [INFO] [stdout] | [INFO] [stdout] 165 | fn LD_xy (&mut self, x: u16, y: u16) { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `ld_xy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `OR` should have a snake case name [INFO] [stdout] --> src/CPU.rs:170:8 [INFO] [stdout] | [INFO] [stdout] 170 | fn OR (&mut self, x: u16, y: u16) { [INFO] [stdout] | ^^ help: convert the identifier to snake case: `or` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `AND` should have a snake case name [INFO] [stdout] --> src/CPU.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | fn AND (&mut self, x: u16, y: u16) { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `and` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `XOR` should have a snake case name [INFO] [stdout] --> src/CPU.rs:180:8 [INFO] [stdout] | [INFO] [stdout] 180 | fn XOR (&mut self, x: u16, y: u16) { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `xor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `ADD_xy` should have a snake case name [INFO] [stdout] --> src/CPU.rs:185:8 [INFO] [stdout] | [INFO] [stdout] 185 | fn ADD_xy (&mut self, x: u16, y: u16) { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `add_xy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/CPU.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | let state = match nibble { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bytes_read` [INFO] [stdout] --> src/CPU.rs:265:13 [INFO] [stdout] | [INFO] [stdout] 265 | let bytes_read = if let Ok(bytes_read) = reader.read(&mut buffer) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes_read` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `SUB` should have a snake case name [INFO] [stdout] --> src/CPU.rs:190:8 [INFO] [stdout] | [INFO] [stdout] 190 | fn SUB (&mut self, x: u16, y: u16) { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `sub` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `SHR` should have a snake case name [INFO] [stdout] --> src/CPU.rs:200:8 [INFO] [stdout] | [INFO] [stdout] 200 | fn SHR (&mut self, x: u16) { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `shr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `SUBN` should have a snake case name [INFO] [stdout] --> src/CPU.rs:206:8 [INFO] [stdout] | [INFO] [stdout] 206 | fn SUBN (&mut self, x: u16, y: u16) { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `subn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `SHL` should have a snake case name [INFO] [stdout] --> src/CPU.rs:216:8 [INFO] [stdout] | [INFO] [stdout] 216 | fn SHL (&mut self, x: u16) { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `shl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `SNE_xy` should have a snake case name [INFO] [stdout] --> src/CPU.rs:222:8 [INFO] [stdout] | [INFO] [stdout] 222 | fn SNE_xy (&mut self, x: u16, y: u16) { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `sne_xy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `LD_I` should have a snake case name [INFO] [stdout] --> src/CPU.rs:229:8 [INFO] [stdout] | [INFO] [stdout] 229 | fn LD_I (&mut self, nnn: u16) { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `ld_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `JP_V0` should have a snake case name [INFO] [stdout] --> src/CPU.rs:234:8 [INFO] [stdout] | [INFO] [stdout] 234 | fn JP_V0 (&mut self, nnn: u16) { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `jp_v0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `RND` should have a snake case name [INFO] [stdout] --> src/CPU.rs:239:8 [INFO] [stdout] | [INFO] [stdout] 239 | fn RND (&mut self, x: u16, kk: u16) { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `rnd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `SKP` should have a snake case name [INFO] [stdout] --> src/CPU.rs:244:8 [INFO] [stdout] | [INFO] [stdout] 244 | fn SKP (&mut self, x: u16) { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `skp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `SKNP` should have a snake case name [INFO] [stdout] --> src/CPU.rs:251:8 [INFO] [stdout] | [INFO] [stdout] 251 | fn SKNP (&mut self, x: u16) { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `sknp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 39 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `gfx` [INFO] [stdout] --> src/CPU.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | gfx: [[u8; 32]; 64], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `delay_timer` [INFO] [stdout] --> src/CPU.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | delay_timer: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `sound_timer` [INFO] [stdout] --> src/CPU.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | sound_timer: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `CPU` should have a snake case name [INFO] [stdout] --> src/main.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | mod CPU; [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `cpu` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `fontset` should have an upper case name [INFO] [stdout] --> src/CPU.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const fontset: [u8; 80] = [ [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper case: `FONTSET` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `V` should have a snake case name [INFO] [stdout] --> src/CPU.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | V: [u8; 16], // General purpose registers [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `JP` should have a snake case name [INFO] [stdout] --> src/CPU.rs:116:8 [INFO] [stdout] | [INFO] [stdout] 116 | fn JP (&mut self, nnn: u16) { [INFO] [stdout] | ^^ help: convert the identifier to snake case: `jp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `CALL` should have a snake case name [INFO] [stdout] --> src/CPU.rs:121:8 [INFO] [stdout] | [INFO] [stdout] 121 | fn CALL (&mut self, nnn: u16) { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `call` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused arithmetic operation that must be used [INFO] [stdout] --> src/CPU.rs:124:9 [INFO] [stdout] | [INFO] [stdout] 124 | self.sp + 1; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `RET` should have a snake case name [INFO] [stdout] --> src/CPU.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 128 | fn RET (&mut self) { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `ret` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `SE` should have a snake case name [INFO] [stdout] --> src/CPU.rs:134:8 [INFO] [stdout] | [INFO] [stdout] 134 | fn SE (&mut self, x: u16, kk: u16) { [INFO] [stdout] | ^^ help: convert the identifier to snake case: `se` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `SNE` should have a snake case name [INFO] [stdout] --> src/CPU.rs:141:8 [INFO] [stdout] | [INFO] [stdout] 141 | fn SNE (&mut self, x: u16, kk: u16) { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `sne` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `SE_xy` should have a snake case name [INFO] [stdout] --> src/CPU.rs:148:8 [INFO] [stdout] | [INFO] [stdout] 148 | fn SE_xy (&mut self, x: u16, y: u16) { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `se_xy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `LD` should have a snake case name [INFO] [stdout] --> src/CPU.rs:155:8 [INFO] [stdout] | [INFO] [stdout] 155 | fn LD (&mut self, x: u16, kk: u16) { [INFO] [stdout] | ^^ help: convert the identifier to snake case: `ld` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `ADD` should have a snake case name [INFO] [stdout] --> src/CPU.rs:160:8 [INFO] [stdout] | [INFO] [stdout] 160 | fn ADD (&mut self, x: u16, kk: u16) { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `add` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `LD_xy` should have a snake case name [INFO] [stdout] --> src/CPU.rs:165:8 [INFO] [stdout] | [INFO] [stdout] 165 | fn LD_xy (&mut self, x: u16, y: u16) { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `ld_xy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `OR` should have a snake case name [INFO] [stdout] --> src/CPU.rs:170:8 [INFO] [stdout] | [INFO] [stdout] 170 | fn OR (&mut self, x: u16, y: u16) { [INFO] [stdout] | ^^ help: convert the identifier to snake case: `or` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `AND` should have a snake case name [INFO] [stdout] --> src/CPU.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | fn AND (&mut self, x: u16, y: u16) { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `and` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `XOR` should have a snake case name [INFO] [stdout] --> src/CPU.rs:180:8 [INFO] [stdout] | [INFO] [stdout] 180 | fn XOR (&mut self, x: u16, y: u16) { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `xor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `ADD_xy` should have a snake case name [INFO] [stdout] --> src/CPU.rs:185:8 [INFO] [stdout] | [INFO] [stdout] 185 | fn ADD_xy (&mut self, x: u16, y: u16) { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `add_xy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `SUB` should have a snake case name [INFO] [stdout] --> src/CPU.rs:190:8 [INFO] [stdout] | [INFO] [stdout] 190 | fn SUB (&mut self, x: u16, y: u16) { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `sub` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `SHR` should have a snake case name [INFO] [stdout] --> src/CPU.rs:200:8 [INFO] [stdout] | [INFO] [stdout] 200 | fn SHR (&mut self, x: u16) { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `shr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `SUBN` should have a snake case name [INFO] [stdout] --> src/CPU.rs:206:8 [INFO] [stdout] | [INFO] [stdout] 206 | fn SUBN (&mut self, x: u16, y: u16) { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `subn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `SHL` should have a snake case name [INFO] [stdout] --> src/CPU.rs:216:8 [INFO] [stdout] | [INFO] [stdout] 216 | fn SHL (&mut self, x: u16) { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `shl` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `SNE_xy` should have a snake case name [INFO] [stdout] --> src/CPU.rs:222:8 [INFO] [stdout] | [INFO] [stdout] 222 | fn SNE_xy (&mut self, x: u16, y: u16) { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `sne_xy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `LD_I` should have a snake case name [INFO] [stdout] --> src/CPU.rs:229:8 [INFO] [stdout] | [INFO] [stdout] 229 | fn LD_I (&mut self, nnn: u16) { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `ld_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `JP_V0` should have a snake case name [INFO] [stdout] --> src/CPU.rs:234:8 [INFO] [stdout] | [INFO] [stdout] 234 | fn JP_V0 (&mut self, nnn: u16) { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `jp_v0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `RND` should have a snake case name [INFO] [stdout] --> src/CPU.rs:239:8 [INFO] [stdout] | [INFO] [stdout] 239 | fn RND (&mut self, x: u16, kk: u16) { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `rnd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `SKP` should have a snake case name [INFO] [stdout] --> src/CPU.rs:244:8 [INFO] [stdout] | [INFO] [stdout] 244 | fn SKP (&mut self, x: u16) { [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `skp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `SKNP` should have a snake case name [INFO] [stdout] --> src/CPU.rs:251:8 [INFO] [stdout] | [INFO] [stdout] 251 | fn SKNP (&mut self, x: u16) { [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `sknp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 39 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2m 03s [INFO] running `Command { std: "docker" "inspect" "ea8c70d81bd36e9ab7e1d0df4752b84bbb8d143127c9053f81b9e5c512c4c81e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ea8c70d81bd36e9ab7e1d0df4752b84bbb8d143127c9053f81b9e5c512c4c81e", kill_on_drop: false }` [INFO] [stdout] ea8c70d81bd36e9ab7e1d0df4752b84bbb8d143127c9053f81b9e5c512c4c81e