Nov 28 14:24:05.406 INFO checking BlinfoldKing/Chip8-rs against try#db42d4dad33013eba11ef37342ad9f614e5652b8 for pr-56074 Nov 28 14:24:05.408 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-56074/worker-5/try#db42d4dad33013eba11ef37342ad9f614e5652b8:/target:rw,Z" "-v" "/mnt/big/crater/work/local/test-source/worker-5/pr-56074/try#db42d4dad33013eba11ef37342ad9f614e5652b8:/source:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/source" "-e" "USER_ID=1000" "-e" "CMD=cargo +db42d4dad33013eba11ef37342ad9f614e5652b8-alt check --frozen --all --all-targets" "-e" "CARGO_TARGET_DIR=/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/cargo-home" "-e" "RUSTUP_HOME=/rustup-home" "-m" "1536M" "--network" "none" "crater"` Nov 28 14:24:05.852 INFO [stdout] 17d465731c898e230ad381dc2d1b8e97c8e4310aaca13c0dc7edd90fa53ef4d0 Nov 28 14:24:05.858 INFO running `"docker" "start" "-a" "17d465731c898e230ad381dc2d1b8e97c8e4310aaca13c0dc7edd90fa53ef4d0"` Nov 28 14:24:06.872 INFO [stderr] usermod: no changes Nov 28 14:24:07.290 INFO [stderr] Checking gfx_core v0.8.3 Nov 28 14:24:07.291 INFO [stderr] Compiling gfx_gl v0.5.0 Nov 28 14:24:07.292 INFO [stderr] Compiling num-derive v0.2.3 Nov 28 14:24:07.292 INFO [stderr] Checking rusttype v0.4.3 Nov 28 14:24:07.296 INFO [stderr] Checking pistoncore-input v0.21.0 Nov 28 14:24:07.296 INFO [stderr] Checking jpeg-decoder v0.1.15 Nov 28 14:24:07.296 INFO [stderr] Checking smithay-client-toolkit v0.3.0 Nov 28 14:24:18.880 INFO [stderr] Checking piston2d-graphics v0.26.0 Nov 28 14:24:22.678 INFO [stderr] Checking winit v0.17.2 Nov 28 14:24:26.538 INFO [stderr] Checking pistoncore-window v0.32.0 Nov 28 14:24:37.068 INFO [stderr] Checking pistoncore-event_loop v0.37.0 Nov 28 14:24:42.194 INFO [stderr] Checking glutin v0.18.0 Nov 28 14:24:43.249 INFO [stderr] Checking piston v0.37.0 Nov 28 14:24:46.881 INFO [stderr] Checking tiff v0.2.1 Nov 28 14:24:49.988 INFO [stderr] Checking image v0.20.0 Nov 28 14:24:52.364 INFO [stderr] Checking pistoncore-glutin_window v0.48.0 Nov 28 14:25:00.731 INFO [stderr] Checking piston2d-opengl_graphics v0.54.0 Nov 28 14:25:11.391 INFO [stderr] Checking gfx v0.17.1 Nov 28 14:25:11.391 INFO [stderr] Checking gfx_device_gl v0.15.3 Nov 28 14:25:18.172 INFO [stderr] Checking piston-gfx_texture v0.34.0 Nov 28 14:25:21.116 INFO [stderr] Checking piston2d-gfx_graphics v0.52.0 Nov 28 14:25:25.940 INFO [stderr] Checking piston_window v0.81.0 Nov 28 14:25:31.480 INFO [stderr] Checking chip8-rust v0.1.0 (/source) Nov 28 14:25:38.867 INFO [stderr] warning: unused import: `piston::window::WindowSettings` Nov 28 14:25:38.867 INFO [stderr] --> src/main.rs:9:5 Nov 28 14:25:38.867 INFO [stderr] | Nov 28 14:25:38.867 INFO [stderr] 9 | use piston::window::WindowSettings; Nov 28 14:25:38.867 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 28 14:25:38.867 INFO [stderr] | Nov 28 14:25:38.867 INFO [stderr] = note: #[warn(unused_imports)] on by default Nov 28 14:25:38.867 INFO [stderr] Nov 28 14:25:38.867 INFO [stderr] warning: unused import: `glutin_window::GlutinWindow as Window` Nov 28 14:25:38.867 INFO [stderr] --> src/main.rs:10:5 Nov 28 14:25:38.867 INFO [stderr] | Nov 28 14:25:38.867 INFO [stderr] 10 | use glutin_window::GlutinWindow as Window; Nov 28 14:25:38.867 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 28 14:25:38.867 INFO [stderr] Nov 28 14:25:38.867 INFO [stderr] warning: unused import: `piston::event_loop::*` Nov 28 14:25:38.867 INFO [stderr] --> src/main.rs:11:5 Nov 28 14:25:38.867 INFO [stderr] | Nov 28 14:25:38.867 INFO [stderr] 11 | use piston::event_loop::*; Nov 28 14:25:38.870 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^ Nov 28 14:25:38.870 INFO [stderr] Nov 28 14:25:38.870 INFO [stderr] warning: unused import: `piston::input::*` Nov 28 14:25:38.870 INFO [stderr] --> src/main.rs:12:5 Nov 28 14:25:38.870 INFO [stderr] | Nov 28 14:25:38.870 INFO [stderr] 12 | use piston::input::*; Nov 28 14:25:38.870 INFO [stderr] | ^^^^^^^^^^^^^^^^ Nov 28 14:25:38.870 INFO [stderr] Nov 28 14:25:38.870 INFO [stderr] warning: unused imports: `GlGraphics`, `OpenGL` Nov 28 14:25:38.870 INFO [stderr] --> src/main.rs:13:24 Nov 28 14:25:38.870 INFO [stderr] | Nov 28 14:25:38.870 INFO [stderr] 13 | use opengl_graphics::{ GlGraphics, OpenGL }; Nov 28 14:25:38.870 INFO [stderr] | ^^^^^^^^^^ ^^^^^^ Nov 28 14:25:38.870 INFO [stderr] Nov 28 14:25:38.870 INFO [stderr] warning: unused import: `std::io::prelude::*` Nov 28 14:25:38.870 INFO [stderr] --> src/CPU.rs:4:5 Nov 28 14:25:38.870 INFO [stderr] | Nov 28 14:25:38.870 INFO [stderr] 4 | use std::io::prelude::*; Nov 28 14:25:38.870 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^ Nov 28 14:25:38.870 INFO [stderr] Nov 28 14:25:38.960 INFO [stderr] warning: unreachable statement Nov 28 14:25:38.960 INFO [stderr] --> src/main.rs:29:5 Nov 28 14:25:38.960 INFO [stderr] | Nov 28 14:25:38.960 INFO [stderr] 29 | println!("Hello, world!"); Nov 28 14:25:38.960 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 28 14:25:38.962 INFO [stderr] | Nov 28 14:25:38.962 INFO [stderr] = note: #[warn(unreachable_code)] on by default Nov 28 14:25:38.962 INFO [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) Nov 28 14:25:38.962 INFO [stderr] Nov 28 14:25:39.063 INFO [stderr] warning: unused import: `piston::window::WindowSettings` Nov 28 14:25:39.063 INFO [stderr] --> src/main.rs:9:5 Nov 28 14:25:39.064 INFO [stderr] | Nov 28 14:25:39.064 INFO [stderr] 9 | use piston::window::WindowSettings; Nov 28 14:25:39.064 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 28 14:25:39.065 INFO [stderr] | Nov 28 14:25:39.065 INFO [stderr] = note: #[warn(unused_imports)] on by default Nov 28 14:25:39.065 INFO [stderr] Nov 28 14:25:39.065 INFO [stderr] warning: unused import: `glutin_window::GlutinWindow as Window` Nov 28 14:25:39.066 INFO [stderr] --> src/main.rs:10:5 Nov 28 14:25:39.066 INFO [stderr] | Nov 28 14:25:39.066 INFO [stderr] 10 | use glutin_window::GlutinWindow as Window; Nov 28 14:25:39.066 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 28 14:25:39.067 INFO [stderr] Nov 28 14:25:39.067 INFO [stderr] warning: unused import: `piston::event_loop::*` Nov 28 14:25:39.067 INFO [stderr] --> src/main.rs:11:5 Nov 28 14:25:39.067 INFO [stderr] | Nov 28 14:25:39.068 INFO [stderr] 11 | use piston::event_loop::*; Nov 28 14:25:39.068 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^ Nov 28 14:25:39.068 INFO [stderr] Nov 28 14:25:39.068 INFO [stderr] warning: unused import: `piston::input::*` Nov 28 14:25:39.069 INFO [stderr] --> src/main.rs:12:5 Nov 28 14:25:39.069 INFO [stderr] | Nov 28 14:25:39.069 INFO [stderr] 12 | use piston::input::*; Nov 28 14:25:39.069 INFO [stderr] | ^^^^^^^^^^^^^^^^ Nov 28 14:25:39.070 INFO [stderr] Nov 28 14:25:39.070 INFO [stderr] warning: unused imports: `GlGraphics`, `OpenGL` Nov 28 14:25:39.070 INFO [stderr] --> src/main.rs:13:24 Nov 28 14:25:39.070 INFO [stderr] | Nov 28 14:25:39.071 INFO [stderr] 13 | use opengl_graphics::{ GlGraphics, OpenGL }; Nov 28 14:25:39.071 INFO [stderr] | ^^^^^^^^^^ ^^^^^^ Nov 28 14:25:39.071 INFO [stderr] Nov 28 14:25:39.071 INFO [stderr] warning: unused import: `std::io::prelude::*` Nov 28 14:25:39.072 INFO [stderr] --> src/CPU.rs:4:5 Nov 28 14:25:39.072 INFO [stderr] | Nov 28 14:25:39.072 INFO [stderr] 4 | use std::io::prelude::*; Nov 28 14:25:39.073 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^ Nov 28 14:25:39.073 INFO [stderr] Nov 28 14:25:39.118 INFO [stderr] warning: unused variable: `state` Nov 28 14:25:39.118 INFO [stderr] --> src/CPU.rs:83:13 Nov 28 14:25:39.119 INFO [stderr] | Nov 28 14:25:39.119 INFO [stderr] 83 | let state = match nibble { Nov 28 14:25:39.119 INFO [stderr] | ^^^^^ help: consider using `_state` instead Nov 28 14:25:39.119 INFO [stderr] | Nov 28 14:25:39.120 INFO [stderr] = note: #[warn(unused_variables)] on by default Nov 28 14:25:39.120 INFO [stderr] Nov 28 14:25:39.120 INFO [stderr] warning: unused variable: `bytes_read` Nov 28 14:25:39.121 INFO [stderr] --> src/CPU.rs:265:13 Nov 28 14:25:39.121 INFO [stderr] | Nov 28 14:25:39.121 INFO [stderr] 265 | let bytes_read = if let Ok(bytes_read) = reader.read(&mut buffer) { Nov 28 14:25:39.121 INFO [stderr] | ^^^^^^^^^^ help: consider using `_bytes_read` instead Nov 28 14:25:39.122 INFO [stderr] Nov 28 14:25:39.149 INFO [stderr] warning: field is never used: `gfx` Nov 28 14:25:39.149 INFO [stderr] --> src/CPU.rs:24:5 Nov 28 14:25:39.150 INFO [stderr] | Nov 28 14:25:39.150 INFO [stderr] 24 | gfx: [[u8; 32]; 64], Nov 28 14:25:39.151 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^ Nov 28 14:25:39.151 INFO [stderr] | Nov 28 14:25:39.152 INFO [stderr] = note: #[warn(dead_code)] on by default Nov 28 14:25:39.152 INFO [stderr] Nov 28 14:25:39.153 INFO [stderr] warning: field is never used: `delay_timer` Nov 28 14:25:39.154 INFO [stderr] --> src/CPU.rs:27:5 Nov 28 14:25:39.154 INFO [stderr] | Nov 28 14:25:39.155 INFO [stderr] 27 | delay_timer: u8, Nov 28 14:25:39.161 INFO [stderr] | ^^^^^^^^^^^^^^^ Nov 28 14:25:39.161 INFO [stderr] Nov 28 14:25:39.161 INFO [stderr] warning: field is never used: `sound_timer` Nov 28 14:25:39.162 INFO [stderr] --> src/CPU.rs:28:5 Nov 28 14:25:39.162 INFO [stderr] | Nov 28 14:25:39.162 INFO [stderr] 28 | sound_timer: u8, Nov 28 14:25:39.162 INFO [stderr] | ^^^^^^^^^^^^^^^ Nov 28 14:25:39.163 INFO [stderr] Nov 28 14:25:39.163 INFO [stderr] warning: module `CPU` should have a snake case name such as `cpu` Nov 28 14:25:39.163 INFO [stderr] --> src/main.rs:15:1 Nov 28 14:25:39.163 INFO [stderr] | Nov 28 14:25:39.164 INFO [stderr] 15 | mod CPU; Nov 28 14:25:39.164 INFO [stderr] | ^^^^^^^^ Nov 28 14:25:39.164 INFO [stderr] | Nov 28 14:25:39.165 INFO [stderr] = note: #[warn(non_snake_case)] on by default Nov 28 14:25:39.165 INFO [stderr] Nov 28 14:25:39.165 INFO [stderr] warning: constant `fontset` should have an upper case name such as `FONTSET` Nov 28 14:25:39.166 INFO [stderr] --> src/CPU.rs:9:1 Nov 28 14:25:39.166 INFO [stderr] | Nov 28 14:25:39.166 INFO [stderr] 9 | / const fontset: [u8; 80] = [ Nov 28 14:25:39.167 INFO [stderr] 10 | | 0xF0, 0x90, 0x90, 0x90, 0xF0, 0x20, 0x60, 0x20, 0x20, 0x70, Nov 28 14:25:39.167 INFO [stderr] 11 | | 0xF0, 0x10, 0xF0, 0x80, 0xF0, 0xF0, 0x10, 0xF0, 0x10, 0xF0, Nov 28 14:25:39.167 INFO [stderr] 12 | | 0x90, 0x90, 0xF0, 0x10, 0x10, 0xF0, 0x80, 0xF0, 0x10, 0xF0, Nov 28 14:25:39.167 INFO [stderr] ... | Nov 28 14:25:39.168 INFO [stderr] 17 | | 0xF0, 0x80, 0xF0, 0x80, 0xF0, 0xF0, 0x80, 0xF0, 0x80, 0x80 Nov 28 14:25:39.168 INFO [stderr] 18 | | ]; Nov 28 14:25:39.168 INFO [stderr] | |__^ Nov 28 14:25:39.169 INFO [stderr] | Nov 28 14:25:39.169 INFO [stderr] = note: #[warn(non_upper_case_globals)] on by default Nov 28 14:25:39.169 INFO [stderr] Nov 28 14:25:39.169 INFO [stderr] warning: structure field `V` should have a snake case name such as `v` Nov 28 14:25:39.170 INFO [stderr] --> src/CPU.rs:26:5 Nov 28 14:25:39.170 INFO [stderr] | Nov 28 14:25:39.170 INFO [stderr] 26 | V: [u8; 16], // General purpose registers Nov 28 14:25:39.170 INFO [stderr] | ^^^^^^^^^^^ Nov 28 14:25:39.171 INFO [stderr] Nov 28 14:25:39.171 INFO [stderr] warning: method `JP` should have a snake case name such as `jp` Nov 28 14:25:39.171 INFO [stderr] --> src/CPU.rs:116:5 Nov 28 14:25:39.171 INFO [stderr] | Nov 28 14:25:39.172 INFO [stderr] 116 | / fn JP (&mut self, nnn: u16) { Nov 28 14:25:39.172 INFO [stderr] 117 | | println!("JP {}", nnn); Nov 28 14:25:39.172 INFO [stderr] 118 | | self.program_counter = nnn; Nov 28 14:25:39.172 INFO [stderr] 119 | | } Nov 28 14:25:39.173 INFO [stderr] | |_____^ Nov 28 14:25:39.173 INFO [stderr] Nov 28 14:25:39.173 INFO [stderr] warning: method `CALL` should have a snake case name such as `call` Nov 28 14:25:39.173 INFO [stderr] --> src/CPU.rs:121:5 Nov 28 14:25:39.174 INFO [stderr] | Nov 28 14:25:39.174 INFO [stderr] 121 | / fn CALL (&mut self, nnn: u16) { Nov 28 14:25:39.174 INFO [stderr] 122 | | println!("CALL {}", nnn); Nov 28 14:25:39.174 INFO [stderr] 123 | | self.stack[self.sp as usize] = self.program_counter; Nov 28 14:25:39.175 INFO [stderr] 124 | | self.sp + 1; Nov 28 14:25:39.175 INFO [stderr] 125 | | self.program_counter = nnn; Nov 28 14:25:39.175 INFO [stderr] 126 | | } Nov 28 14:25:39.175 INFO [stderr] | |_____^ Nov 28 14:25:39.176 INFO [stderr] Nov 28 14:25:39.176 INFO [stderr] warning: unused arithmetic operation that must be used Nov 28 14:25:39.176 INFO [stderr] --> src/CPU.rs:124:9 Nov 28 14:25:39.176 INFO [stderr] | Nov 28 14:25:39.177 INFO [stderr] 124 | self.sp + 1; Nov 28 14:25:39.177 INFO [stderr] | ^^^^^^^^^^^ Nov 28 14:25:39.177 INFO [stderr] | Nov 28 14:25:39.177 INFO [stderr] = note: #[warn(unused_must_use)] on by default Nov 28 14:25:39.178 INFO [stderr] Nov 28 14:25:39.178 INFO [stderr] warning: method `RET` should have a snake case name such as `ret` Nov 28 14:25:39.178 INFO [stderr] --> src/CPU.rs:128:5 Nov 28 14:25:39.178 INFO [stderr] | Nov 28 14:25:39.179 INFO [stderr] 128 | / fn RET (&mut self) { Nov 28 14:25:39.179 INFO [stderr] 129 | | println!("RET"); Nov 28 14:25:39.179 INFO [stderr] 130 | | self.program_counter = self.stack[self.sp as usize]; Nov 28 14:25:39.179 INFO [stderr] 131 | | self.sp -= 1; Nov 28 14:25:39.180 INFO [stderr] 132 | | } Nov 28 14:25:39.180 INFO [stderr] | |_____^ Nov 28 14:25:39.180 INFO [stderr] Nov 28 14:25:39.180 INFO [stderr] warning: method `SE` should have a snake case name such as `se` Nov 28 14:25:39.181 INFO [stderr] --> src/CPU.rs:134:5 Nov 28 14:25:39.181 INFO [stderr] | Nov 28 14:25:39.181 INFO [stderr] 134 | / fn SE (&mut self, x: u16, kk: u16) { Nov 28 14:25:39.182 INFO [stderr] 135 | | println!("SE {} {}", x, kk); Nov 28 14:25:39.182 INFO [stderr] 136 | | if self.V[x as usize] as u16 == kk { Nov 28 14:25:39.182 INFO [stderr] 137 | | self.program_counter += 2; Nov 28 14:25:39.182 INFO [stderr] 138 | | } Nov 28 14:25:39.182 INFO [stderr] 139 | | } Nov 28 14:25:39.183 INFO [stderr] | |_____^ Nov 28 14:25:39.183 INFO [stderr] Nov 28 14:25:39.183 INFO [stderr] warning: method `SNE` should have a snake case name such as `sne` Nov 28 14:25:39.184 INFO [stderr] --> src/CPU.rs:141:5 Nov 28 14:25:39.184 INFO [stderr] | Nov 28 14:25:39.184 INFO [stderr] 141 | / fn SNE (&mut self, x: u16, kk: u16) { Nov 28 14:25:39.184 INFO [stderr] 142 | | println!("SNE {} {}", x, kk); Nov 28 14:25:39.185 INFO [stderr] 143 | | if self.V[x as usize] as u16 != kk { Nov 28 14:25:39.185 INFO [stderr] 144 | | self.program_counter += 2; Nov 28 14:25:39.185 INFO [stderr] 145 | | } Nov 28 14:25:39.185 INFO [stderr] 146 | | } Nov 28 14:25:39.186 INFO [stderr] | |_____^ Nov 28 14:25:39.186 INFO [stderr] Nov 28 14:25:39.186 INFO [stderr] warning: method `SE_xy` should have a snake case name such as `se_xy` Nov 28 14:25:39.187 INFO [stderr] --> src/CPU.rs:148:5 Nov 28 14:25:39.187 INFO [stderr] | Nov 28 14:25:39.187 INFO [stderr] 148 | / fn SE_xy (&mut self, x: u16, y: u16) { Nov 28 14:25:39.187 INFO [stderr] 149 | | println!("SE_xy {} {}", x, y); Nov 28 14:25:39.188 INFO [stderr] 150 | | if self.V[x as usize] != self.V[y as usize] { Nov 28 14:25:39.188 INFO [stderr] 151 | | self.program_counter += 2; Nov 28 14:25:39.188 INFO [stderr] 152 | | } Nov 28 14:25:39.188 INFO [stderr] 153 | | } Nov 28 14:25:39.189 INFO [stderr] | |_____^ Nov 28 14:25:39.189 INFO [stderr] Nov 28 14:25:39.189 INFO [stderr] warning: method `LD` should have a snake case name such as `ld` Nov 28 14:25:39.189 INFO [stderr] --> src/CPU.rs:155:5 Nov 28 14:25:39.190 INFO [stderr] | Nov 28 14:25:39.190 INFO [stderr] 155 | / fn LD (&mut self, x: u16, kk: u16) { Nov 28 14:25:39.190 INFO [stderr] 156 | | println!("LD {} {}", x, kk); Nov 28 14:25:39.190 INFO [stderr] 157 | | self.V[x as usize] = kk as u8; Nov 28 14:25:39.191 INFO [stderr] 158 | | } Nov 28 14:25:39.191 INFO [stderr] | |_____^ Nov 28 14:25:39.191 INFO [stderr] Nov 28 14:25:39.191 INFO [stderr] warning: method `ADD` should have a snake case name such as `add` Nov 28 14:25:39.192 INFO [stderr] --> src/CPU.rs:160:5 Nov 28 14:25:39.192 INFO [stderr] | Nov 28 14:25:39.192 INFO [stderr] 160 | / fn ADD (&mut self, x: u16, kk: u16) { Nov 28 14:25:39.192 INFO [stderr] 161 | | println!("ADD {} {}", x, kk); Nov 28 14:25:39.193 INFO [stderr] 162 | | self.V[x as usize] += kk as u8; Nov 28 14:25:39.193 INFO [stderr] 163 | | } Nov 28 14:25:39.193 INFO [stderr] | |_____^ Nov 28 14:25:39.193 INFO [stderr] Nov 28 14:25:39.194 INFO [stderr] warning: method `LD_xy` should have a snake case name such as `ld_xy` Nov 28 14:25:39.194 INFO [stderr] --> src/CPU.rs:165:5 Nov 28 14:25:39.194 INFO [stderr] | Nov 28 14:25:39.194 INFO [stderr] 165 | / fn LD_xy (&mut self, x: u16, y: u16) { Nov 28 14:25:39.195 INFO [stderr] 166 | | println!("LD_xy {} {}", x, y); Nov 28 14:25:39.195 INFO [stderr] 167 | | self.V[x as usize] = self.V[y as usize]; Nov 28 14:25:39.195 INFO [stderr] 168 | | } Nov 28 14:25:39.195 INFO [stderr] | |_____^ Nov 28 14:25:39.196 INFO [stderr] Nov 28 14:25:39.196 INFO [stderr] warning: method `OR` should have a snake case name such as `or` Nov 28 14:25:39.196 INFO [stderr] --> src/CPU.rs:170:5 Nov 28 14:25:39.197 INFO [stderr] | Nov 28 14:25:39.197 INFO [stderr] 170 | / fn OR (&mut self, x: u16, y: u16) { Nov 28 14:25:39.197 INFO [stderr] 171 | | println!("OR {} {}", x, y); Nov 28 14:25:39.197 INFO [stderr] 172 | | self.V[x as usize] |= self.V[y as usize]; Nov 28 14:25:39.198 INFO [stderr] 173 | | } Nov 28 14:25:39.198 INFO [stderr] | |_____^ Nov 28 14:25:39.198 INFO [stderr] Nov 28 14:25:39.199 INFO [stderr] warning: method `AND` should have a snake case name such as `and` Nov 28 14:25:39.199 INFO [stderr] --> src/CPU.rs:175:5 Nov 28 14:25:39.199 INFO [stderr] | Nov 28 14:25:39.199 INFO [stderr] 175 | / fn AND (&mut self, x: u16, y: u16) { Nov 28 14:25:39.200 INFO [stderr] 176 | | println!("AND {} {}", x, y); Nov 28 14:25:39.200 INFO [stderr] 177 | | self.V[x as usize] &= self.V[y as usize]; Nov 28 14:25:39.200 INFO [stderr] 178 | | } Nov 28 14:25:39.201 INFO [stderr] | |_____^ Nov 28 14:25:39.201 INFO [stderr] Nov 28 14:25:39.201 INFO [stderr] warning: method `XOR` should have a snake case name such as `xor` Nov 28 14:25:39.201 INFO [stderr] --> src/CPU.rs:180:5 Nov 28 14:25:39.202 INFO [stderr] | Nov 28 14:25:39.202 INFO [stderr] 180 | / fn XOR (&mut self, x: u16, y: u16) { Nov 28 14:25:39.202 INFO [stderr] 181 | | println!("XOR {} {}", x, y); Nov 28 14:25:39.202 INFO [stderr] 182 | | self.V[x as usize] ^= self.V[y as usize]; Nov 28 14:25:39.203 INFO [stderr] 183 | | } Nov 28 14:25:39.203 INFO [stderr] | |_____^ Nov 28 14:25:39.203 INFO [stderr] Nov 28 14:25:39.204 INFO [stderr] warning: method `ADD_xy` should have a snake case name such as `add_xy` Nov 28 14:25:39.204 INFO [stderr] --> src/CPU.rs:185:5 Nov 28 14:25:39.204 INFO [stderr] | Nov 28 14:25:39.205 INFO [stderr] 185 | / fn ADD_xy (&mut self, x: u16, y: u16) { Nov 28 14:25:39.205 INFO [stderr] 186 | | println!("ADD_xy {} {}", x, y); Nov 28 14:25:39.205 INFO [stderr] 187 | | self.V[x as usize] += self.V[y as usize]; Nov 28 14:25:39.205 INFO [stderr] 188 | | } Nov 28 14:25:39.206 INFO [stderr] | |_____^ Nov 28 14:25:39.206 INFO [stderr] Nov 28 14:25:39.206 INFO [stderr] warning: method `SUB` should have a snake case name such as `sub` Nov 28 14:25:39.206 INFO [stderr] --> src/CPU.rs:190:5 Nov 28 14:25:39.207 INFO [stderr] | Nov 28 14:25:39.207 INFO [stderr] 190 | / fn SUB (&mut self, x: u16, y: u16) { Nov 28 14:25:39.207 INFO [stderr] 191 | | println!("SUB {} {}", x, y); Nov 28 14:25:39.207 INFO [stderr] 192 | | if self.V[x as usize] > self.V[y as usize] { Nov 28 14:25:39.208 INFO [stderr] 193 | | self.V[0xF] = 1; Nov 28 14:25:39.208 INFO [stderr] ... | Nov 28 14:25:39.208 INFO [stderr] 197 | | self.V[x as usize] -= self.V[y as usize]; Nov 28 14:25:39.208 INFO [stderr] 198 | | } Nov 28 14:25:39.209 INFO [stderr] | |_____^ Nov 28 14:25:39.209 INFO [stderr] Nov 28 14:25:39.209 INFO [stderr] warning: method `SHR` should have a snake case name such as `shr` Nov 28 14:25:39.209 INFO [stderr] --> src/CPU.rs:200:5 Nov 28 14:25:39.210 INFO [stderr] | Nov 28 14:25:39.210 INFO [stderr] 200 | / fn SHR (&mut self, x: u16) { Nov 28 14:25:39.210 INFO [stderr] 201 | | println!("SHR {}", x); Nov 28 14:25:39.210 INFO [stderr] 202 | | self.V[0xF] = self.V[x as usize] & 0x1; Nov 28 14:25:39.211 INFO [stderr] 203 | | self.V[x as usize] >>= 1; Nov 28 14:25:39.211 INFO [stderr] 204 | | } Nov 28 14:25:39.211 INFO [stderr] | |_____^ Nov 28 14:25:39.211 INFO [stderr] Nov 28 14:25:39.212 INFO [stderr] warning: method `SUBN` should have a snake case name such as `subn` Nov 28 14:25:39.212 INFO [stderr] --> src/CPU.rs:206:5 Nov 28 14:25:39.212 INFO [stderr] | Nov 28 14:25:39.213 INFO [stderr] 206 | / fn SUBN (&mut self, x: u16, y: u16) { Nov 28 14:25:39.213 INFO [stderr] 207 | | println!("SUB {} {}", x, y); Nov 28 14:25:39.213 INFO [stderr] 208 | | if self.V[y as usize] > self.V[x as usize] { Nov 28 14:25:39.213 INFO [stderr] 209 | | self.V[0xF] = 1; Nov 28 14:25:39.214 INFO [stderr] ... | Nov 28 14:25:39.214 INFO [stderr] 213 | | self.V[x as usize] -= self.V[y as usize]; Nov 28 14:25:39.214 INFO [stderr] 214 | | } Nov 28 14:25:39.214 INFO [stderr] | |_____^ Nov 28 14:25:39.214 INFO [stderr] Nov 28 14:25:39.215 INFO [stderr] warning: method `SHL` should have a snake case name such as `shl` Nov 28 14:25:39.215 INFO [stderr] --> src/CPU.rs:216:5 Nov 28 14:25:39.215 INFO [stderr] | Nov 28 14:25:39.216 INFO [stderr] 216 | / fn SHL (&mut self, x: u16) { Nov 28 14:25:39.216 INFO [stderr] 217 | | println!("SHL {}", x); Nov 28 14:25:39.216 INFO [stderr] 218 | | self.V[0xF] = self.V[x as usize] & 0x80; Nov 28 14:25:39.216 INFO [stderr] 219 | | self.V[x as usize] <<= 1; Nov 28 14:25:39.217 INFO [stderr] 220 | | } Nov 28 14:25:39.217 INFO [stderr] | |_____^ Nov 28 14:25:39.217 INFO [stderr] Nov 28 14:25:39.217 INFO [stderr] warning: method `SNE_xy` should have a snake case name such as `sne_xy` Nov 28 14:25:39.218 INFO [stderr] --> src/CPU.rs:222:5 Nov 28 14:25:39.218 INFO [stderr] | Nov 28 14:25:39.218 INFO [stderr] 222 | / fn SNE_xy (&mut self, x: u16, y: u16) { Nov 28 14:25:39.219 INFO [stderr] 223 | | println!("SNE_xy {} {}", x, y); Nov 28 14:25:39.219 INFO [stderr] 224 | | if self.V[x as usize] == self.V[y as usize] { Nov 28 14:25:39.219 INFO [stderr] 225 | | self.program_counter += 2; Nov 28 14:25:39.220 INFO [stderr] 226 | | } Nov 28 14:25:39.220 INFO [stderr] 227 | | } Nov 28 14:25:39.220 INFO [stderr] | |_____^ Nov 28 14:25:39.220 INFO [stderr] Nov 28 14:25:39.221 INFO [stderr] warning: method `LD_I` should have a snake case name such as `ld_i` Nov 28 14:25:39.221 INFO [stderr] --> src/CPU.rs:229:5 Nov 28 14:25:39.221 INFO [stderr] | Nov 28 14:25:39.222 INFO [stderr] 229 | / fn LD_I (&mut self, nnn: u16) { Nov 28 14:25:39.222 INFO [stderr] 230 | | println!("LD_I {}", nnn); Nov 28 14:25:39.222 INFO [stderr] 231 | | self.index_register = nnn; Nov 28 14:25:39.222 INFO [stderr] 232 | | } Nov 28 14:25:39.222 INFO [stderr] | |_____^ Nov 28 14:25:39.223 INFO [stderr] Nov 28 14:25:39.223 INFO [stderr] warning: method `JP_V0` should have a snake case name such as `jp_v0` Nov 28 14:25:39.223 INFO [stderr] --> src/CPU.rs:234:5 Nov 28 14:25:39.223 INFO [stderr] | Nov 28 14:25:39.224 INFO [stderr] 234 | / fn JP_V0 (&mut self, nnn: u16) { Nov 28 14:25:39.224 INFO [stderr] 235 | | println!("JP_V0 {}", nnn); Nov 28 14:25:39.224 INFO [stderr] 236 | | self.program_counter = (self.V[0] + nnn as u8).into(); Nov 28 14:25:39.224 INFO [stderr] 237 | | } Nov 28 14:25:39.225 INFO [stderr] | |_____^ Nov 28 14:25:39.225 INFO [stderr] Nov 28 14:25:39.225 INFO [stderr] warning: method `RND` should have a snake case name such as `rnd` Nov 28 14:25:39.225 INFO [stderr] --> src/CPU.rs:239:5 Nov 28 14:25:39.226 INFO [stderr] | Nov 28 14:25:39.226 INFO [stderr] 239 | / fn RND (&mut self, x: u16, kk: u16) { Nov 28 14:25:39.226 INFO [stderr] 240 | | println!("RND {} {}", x, kk); Nov 28 14:25:39.227 INFO [stderr] 241 | | self.V[x as usize] = (thread_rng().gen_range(0, 255) as u16 & kk) as u8; Nov 28 14:25:39.227 INFO [stderr] 242 | | } Nov 28 14:25:39.227 INFO [stderr] | |_____^ Nov 28 14:25:39.227 INFO [stderr] Nov 28 14:25:39.228 INFO [stderr] warning: method `SKP` should have a snake case name such as `skp` Nov 28 14:25:39.228 INFO [stderr] --> src/CPU.rs:244:5 Nov 28 14:25:39.228 INFO [stderr] | Nov 28 14:25:39.228 INFO [stderr] 244 | / fn SKP (&mut self, x: u16) { Nov 28 14:25:39.229 INFO [stderr] 245 | | println!("SKP {}", x); Nov 28 14:25:39.229 INFO [stderr] 246 | | if true { Nov 28 14:25:39.229 INFO [stderr] 247 | | // self.program_counter += 2; Nov 28 14:25:39.229 INFO [stderr] 248 | | } Nov 28 14:25:39.230 INFO [stderr] 249 | | } Nov 28 14:25:39.230 INFO [stderr] | |_____^ Nov 28 14:25:39.230 INFO [stderr] Nov 28 14:25:39.230 INFO [stderr] warning: method `SKNP` should have a snake case name such as `sknp` Nov 28 14:25:39.231 INFO [stderr] --> src/CPU.rs:251:5 Nov 28 14:25:39.231 INFO [stderr] | Nov 28 14:25:39.231 INFO [stderr] 251 | / fn SKNP (&mut self, x: u16) { Nov 28 14:25:39.231 INFO [stderr] 252 | | println!("SKNP {}", x); Nov 28 14:25:39.232 INFO [stderr] 253 | | if true { Nov 28 14:25:39.232 INFO [stderr] 254 | | // self.program_counter += 2; Nov 28 14:25:39.232 INFO [stderr] 255 | | } Nov 28 14:25:39.232 INFO [stderr] 256 | | } Nov 28 14:25:39.233 INFO [stderr] | |_____^ Nov 28 14:25:39.233 INFO [stderr] Nov 28 14:25:39.233 INFO [stderr] warning: unreachable statement Nov 28 14:25:39.233 INFO [stderr] --> src/main.rs:29:5 Nov 28 14:25:39.234 INFO [stderr] | Nov 28 14:25:39.234 INFO [stderr] 29 | println!("Hello, world!"); Nov 28 14:25:39.234 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 28 14:25:39.234 INFO [stderr] | Nov 28 14:25:39.235 INFO [stderr] = note: #[warn(unreachable_code)] on by default Nov 28 14:25:39.235 INFO [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) Nov 28 14:25:39.235 INFO [stderr] Nov 28 14:25:39.433 INFO [stderr] warning: unused variable: `state` Nov 28 14:25:39.433 INFO [stderr] --> src/CPU.rs:83:13 Nov 28 14:25:39.433 INFO [stderr] | Nov 28 14:25:39.433 INFO [stderr] 83 | let state = match nibble { Nov 28 14:25:39.433 INFO [stderr] | ^^^^^ help: consider using `_state` instead Nov 28 14:25:39.433 INFO [stderr] | Nov 28 14:25:39.433 INFO [stderr] = note: #[warn(unused_variables)] on by default Nov 28 14:25:39.433 INFO [stderr] Nov 28 14:25:39.434 INFO [stderr] warning: unused variable: `bytes_read` Nov 28 14:25:39.435 INFO [stderr] --> src/CPU.rs:265:13 Nov 28 14:25:39.435 INFO [stderr] | Nov 28 14:25:39.436 INFO [stderr] 265 | let bytes_read = if let Ok(bytes_read) = reader.read(&mut buffer) { Nov 28 14:25:39.440 INFO [stderr] | ^^^^^^^^^^ help: consider using `_bytes_read` instead Nov 28 14:25:39.440 INFO [stderr] Nov 28 14:25:39.464 INFO [stderr] warning: field is never used: `gfx` Nov 28 14:25:39.469 INFO [stderr] --> src/CPU.rs:24:5 Nov 28 14:25:39.469 INFO [stderr] | Nov 28 14:25:39.470 INFO [stderr] 24 | gfx: [[u8; 32]; 64], Nov 28 14:25:39.472 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^ Nov 28 14:25:39.472 INFO [stderr] | Nov 28 14:25:39.472 INFO [stderr] = note: #[warn(dead_code)] on by default Nov 28 14:25:39.472 INFO [stderr] Nov 28 14:25:39.472 INFO [stderr] warning: field is never used: `delay_timer` Nov 28 14:25:39.472 INFO [stderr] --> src/CPU.rs:27:5 Nov 28 14:25:39.472 INFO [stderr] | Nov 28 14:25:39.473 INFO [stderr] 27 | delay_timer: u8, Nov 28 14:25:39.473 INFO [stderr] | ^^^^^^^^^^^^^^^ Nov 28 14:25:39.473 INFO [stderr] Nov 28 14:25:39.473 INFO [stderr] warning: field is never used: `sound_timer` Nov 28 14:25:39.473 INFO [stderr] --> src/CPU.rs:28:5 Nov 28 14:25:39.473 INFO [stderr] | Nov 28 14:25:39.473 INFO [stderr] 28 | sound_timer: u8, Nov 28 14:25:39.473 INFO [stderr] | ^^^^^^^^^^^^^^^ Nov 28 14:25:39.474 INFO [stderr] Nov 28 14:25:39.474 INFO [stderr] warning: module `CPU` should have a snake case name such as `cpu` Nov 28 14:25:39.474 INFO [stderr] --> src/main.rs:15:1 Nov 28 14:25:39.474 INFO [stderr] | Nov 28 14:25:39.474 INFO [stderr] 15 | mod CPU; Nov 28 14:25:39.474 INFO [stderr] | ^^^^^^^^ Nov 28 14:25:39.474 INFO [stderr] | Nov 28 14:25:39.475 INFO [stderr] = note: #[warn(non_snake_case)] on by default Nov 28 14:25:39.475 INFO [stderr] Nov 28 14:25:39.475 INFO [stderr] warning: constant `fontset` should have an upper case name such as `FONTSET` Nov 28 14:25:39.475 INFO [stderr] --> src/CPU.rs:9:1 Nov 28 14:25:39.475 INFO [stderr] | Nov 28 14:25:39.475 INFO [stderr] 9 | / const fontset: [u8; 80] = [ Nov 28 14:25:39.475 INFO [stderr] 10 | | 0xF0, 0x90, 0x90, 0x90, 0xF0, 0x20, 0x60, 0x20, 0x20, 0x70, Nov 28 14:25:39.475 INFO [stderr] 11 | | 0xF0, 0x10, 0xF0, 0x80, 0xF0, 0xF0, 0x10, 0xF0, 0x10, 0xF0, Nov 28 14:25:39.476 INFO [stderr] 12 | | 0x90, 0x90, 0xF0, 0x10, 0x10, 0xF0, 0x80, 0xF0, 0x10, 0xF0, Nov 28 14:25:39.476 INFO [stderr] ... | Nov 28 14:25:39.476 INFO [stderr] 17 | | 0xF0, 0x80, 0xF0, 0x80, 0xF0, 0xF0, 0x80, 0xF0, 0x80, 0x80 Nov 28 14:25:39.476 INFO [stderr] 18 | | ]; Nov 28 14:25:39.476 INFO [stderr] | |__^ Nov 28 14:25:39.476 INFO [stderr] | Nov 28 14:25:39.477 INFO [stderr] = note: #[warn(non_upper_case_globals)] on by default Nov 28 14:25:39.477 INFO [stderr] Nov 28 14:25:39.477 INFO [stderr] warning: structure field `V` should have a snake case name such as `v` Nov 28 14:25:39.477 INFO [stderr] --> src/CPU.rs:26:5 Nov 28 14:25:39.477 INFO [stderr] | Nov 28 14:25:39.477 INFO [stderr] 26 | V: [u8; 16], // General purpose registers Nov 28 14:25:39.477 INFO [stderr] | ^^^^^^^^^^^ Nov 28 14:25:39.478 INFO [stderr] Nov 28 14:25:39.478 INFO [stderr] warning: method `JP` should have a snake case name such as `jp` Nov 28 14:25:39.478 INFO [stderr] --> src/CPU.rs:116:5 Nov 28 14:25:39.478 INFO [stderr] | Nov 28 14:25:39.478 INFO [stderr] 116 | / fn JP (&mut self, nnn: u16) { Nov 28 14:25:39.478 INFO [stderr] 117 | | println!("JP {}", nnn); Nov 28 14:25:39.478 INFO [stderr] 118 | | self.program_counter = nnn; Nov 28 14:25:39.479 INFO [stderr] 119 | | } Nov 28 14:25:39.479 INFO [stderr] | |_____^ Nov 28 14:25:39.479 INFO [stderr] Nov 28 14:25:39.479 INFO [stderr] warning: method `CALL` should have a snake case name such as `call` Nov 28 14:25:39.479 INFO [stderr] --> src/CPU.rs:121:5 Nov 28 14:25:39.479 INFO [stderr] | Nov 28 14:25:39.479 INFO [stderr] 121 | / fn CALL (&mut self, nnn: u16) { Nov 28 14:25:39.480 INFO [stderr] 122 | | println!("CALL {}", nnn); Nov 28 14:25:39.480 INFO [stderr] 123 | | self.stack[self.sp as usize] = self.program_counter; Nov 28 14:25:39.480 INFO [stderr] 124 | | self.sp + 1; Nov 28 14:25:39.480 INFO [stderr] 125 | | self.program_counter = nnn; Nov 28 14:25:39.480 INFO [stderr] 126 | | } Nov 28 14:25:39.480 INFO [stderr] | |_____^ Nov 28 14:25:39.480 INFO [stderr] Nov 28 14:25:39.481 INFO [stderr] warning: unused arithmetic operation that must be used Nov 28 14:25:39.481 INFO [stderr] --> src/CPU.rs:124:9 Nov 28 14:25:39.481 INFO [stderr] | Nov 28 14:25:39.481 INFO [stderr] 124 | self.sp + 1; Nov 28 14:25:39.481 INFO [stderr] | ^^^^^^^^^^^ Nov 28 14:25:39.481 INFO [stderr] | Nov 28 14:25:39.481 INFO [stderr] = note: #[warn(unused_must_use)] on by default Nov 28 14:25:39.482 INFO [stderr] Nov 28 14:25:39.482 INFO [stderr] warning: method `RET` should have a snake case name such as `ret` Nov 28 14:25:39.482 INFO [stderr] --> src/CPU.rs:128:5 Nov 28 14:25:39.482 INFO [stderr] | Nov 28 14:25:39.482 INFO [stderr] 128 | / fn RET (&mut self) { Nov 28 14:25:39.482 INFO [stderr] 129 | | println!("RET"); Nov 28 14:25:39.482 INFO [stderr] 130 | | self.program_counter = self.stack[self.sp as usize]; Nov 28 14:25:39.482 INFO [stderr] 131 | | self.sp -= 1; Nov 28 14:25:39.483 INFO [stderr] 132 | | } Nov 28 14:25:39.483 INFO [stderr] | |_____^ Nov 28 14:25:39.483 INFO [stderr] Nov 28 14:25:39.483 INFO [stderr] warning: method `SE` should have a snake case name such as `se` Nov 28 14:25:39.483 INFO [stderr] --> src/CPU.rs:134:5 Nov 28 14:25:39.483 INFO [stderr] | Nov 28 14:25:39.483 INFO [stderr] 134 | / fn SE (&mut self, x: u16, kk: u16) { Nov 28 14:25:39.484 INFO [stderr] 135 | | println!("SE {} {}", x, kk); Nov 28 14:25:39.484 INFO [stderr] 136 | | if self.V[x as usize] as u16 == kk { Nov 28 14:25:39.484 INFO [stderr] 137 | | self.program_counter += 2; Nov 28 14:25:39.488 INFO [stderr] 138 | | } Nov 28 14:25:39.488 INFO [stderr] 139 | | } Nov 28 14:25:39.488 INFO [stderr] | |_____^ Nov 28 14:25:39.488 INFO [stderr] Nov 28 14:25:39.489 INFO [stderr] warning: method `SNE` should have a snake case name such as `sne` Nov 28 14:25:39.489 INFO [stderr] --> src/CPU.rs:141:5 Nov 28 14:25:39.489 INFO [stderr] | Nov 28 14:25:39.489 INFO [stderr] 141 | / fn SNE (&mut self, x: u16, kk: u16) { Nov 28 14:25:39.489 INFO [stderr] 142 | | println!("SNE {} {}", x, kk); Nov 28 14:25:39.489 INFO [stderr] 143 | | if self.V[x as usize] as u16 != kk { Nov 28 14:25:39.489 INFO [stderr] 144 | | self.program_counter += 2; Nov 28 14:25:39.490 INFO [stderr] 145 | | } Nov 28 14:25:39.490 INFO [stderr] 146 | | } Nov 28 14:25:39.490 INFO [stderr] | |_____^ Nov 28 14:25:39.490 INFO [stderr] Nov 28 14:25:39.490 INFO [stderr] warning: method `SE_xy` should have a snake case name such as `se_xy` Nov 28 14:25:39.490 INFO [stderr] --> src/CPU.rs:148:5 Nov 28 14:25:39.490 INFO [stderr] | Nov 28 14:25:39.491 INFO [stderr] 148 | / fn SE_xy (&mut self, x: u16, y: u16) { Nov 28 14:25:39.491 INFO [stderr] 149 | | println!("SE_xy {} {}", x, y); Nov 28 14:25:39.491 INFO [stderr] 150 | | if self.V[x as usize] != self.V[y as usize] { Nov 28 14:25:39.491 INFO [stderr] 151 | | self.program_counter += 2; Nov 28 14:25:39.491 INFO [stderr] 152 | | } Nov 28 14:25:39.491 INFO [stderr] 153 | | } Nov 28 14:25:39.491 INFO [stderr] | |_____^ Nov 28 14:25:39.492 INFO [stderr] Nov 28 14:25:39.492 INFO [stderr] warning: method `LD` should have a snake case name such as `ld` Nov 28 14:25:39.492 INFO [stderr] --> src/CPU.rs:155:5 Nov 28 14:25:39.492 INFO [stderr] | Nov 28 14:25:39.492 INFO [stderr] 155 | / fn LD (&mut self, x: u16, kk: u16) { Nov 28 14:25:39.492 INFO [stderr] 156 | | println!("LD {} {}", x, kk); Nov 28 14:25:39.492 INFO [stderr] 157 | | self.V[x as usize] = kk as u8; Nov 28 14:25:39.493 INFO [stderr] 158 | | } Nov 28 14:25:39.493 INFO [stderr] | |_____^ Nov 28 14:25:39.493 INFO [stderr] Nov 28 14:25:39.493 INFO [stderr] warning: method `ADD` should have a snake case name such as `add` Nov 28 14:25:39.493 INFO [stderr] --> src/CPU.rs:160:5 Nov 28 14:25:39.493 INFO [stderr] | Nov 28 14:25:39.493 INFO [stderr] 160 | / fn ADD (&mut self, x: u16, kk: u16) { Nov 28 14:25:39.494 INFO [stderr] 161 | | println!("ADD {} {}", x, kk); Nov 28 14:25:39.494 INFO [stderr] 162 | | self.V[x as usize] += kk as u8; Nov 28 14:25:39.494 INFO [stderr] 163 | | } Nov 28 14:25:39.494 INFO [stderr] | |_____^ Nov 28 14:25:39.494 INFO [stderr] Nov 28 14:25:39.494 INFO [stderr] warning: method `LD_xy` should have a snake case name such as `ld_xy` Nov 28 14:25:39.494 INFO [stderr] --> src/CPU.rs:165:5 Nov 28 14:25:39.495 INFO [stderr] | Nov 28 14:25:39.495 INFO [stderr] 165 | / fn LD_xy (&mut self, x: u16, y: u16) { Nov 28 14:25:39.495 INFO [stderr] 166 | | println!("LD_xy {} {}", x, y); Nov 28 14:25:39.495 INFO [stderr] 167 | | self.V[x as usize] = self.V[y as usize]; Nov 28 14:25:39.495 INFO [stderr] 168 | | } Nov 28 14:25:39.495 INFO [stderr] | |_____^ Nov 28 14:25:39.496 INFO [stderr] Nov 28 14:25:39.496 INFO [stderr] warning: method `OR` should have a snake case name such as `or` Nov 28 14:25:39.496 INFO [stderr] --> src/CPU.rs:170:5 Nov 28 14:25:39.496 INFO [stderr] | Nov 28 14:25:39.496 INFO [stderr] 170 | / fn OR (&mut self, x: u16, y: u16) { Nov 28 14:25:39.496 INFO [stderr] 171 | | println!("OR {} {}", x, y); Nov 28 14:25:39.496 INFO [stderr] 172 | | self.V[x as usize] |= self.V[y as usize]; Nov 28 14:25:39.497 INFO [stderr] 173 | | } Nov 28 14:25:39.497 INFO [stderr] | |_____^ Nov 28 14:25:39.497 INFO [stderr] Nov 28 14:25:39.497 INFO [stderr] warning: method `AND` should have a snake case name such as `and` Nov 28 14:25:39.497 INFO [stderr] --> src/CPU.rs:175:5 Nov 28 14:25:39.497 INFO [stderr] | Nov 28 14:25:39.497 INFO [stderr] 175 | / fn AND (&mut self, x: u16, y: u16) { Nov 28 14:25:39.498 INFO [stderr] 176 | | println!("AND {} {}", x, y); Nov 28 14:25:39.498 INFO [stderr] 177 | | self.V[x as usize] &= self.V[y as usize]; Nov 28 14:25:39.498 INFO [stderr] 178 | | } Nov 28 14:25:39.498 INFO [stderr] | |_____^ Nov 28 14:25:39.498 INFO [stderr] Nov 28 14:25:39.498 INFO [stderr] warning: method `XOR` should have a snake case name such as `xor` Nov 28 14:25:39.498 INFO [stderr] --> src/CPU.rs:180:5 Nov 28 14:25:39.498 INFO [stderr] | Nov 28 14:25:39.499 INFO [stderr] 180 | / fn XOR (&mut self, x: u16, y: u16) { Nov 28 14:25:39.499 INFO [stderr] 181 | | println!("XOR {} {}", x, y); Nov 28 14:25:39.499 INFO [stderr] 182 | | self.V[x as usize] ^= self.V[y as usize]; Nov 28 14:25:39.499 INFO [stderr] 183 | | } Nov 28 14:25:39.499 INFO [stderr] | |_____^ Nov 28 14:25:39.499 INFO [stderr] Nov 28 14:25:39.499 INFO [stderr] warning: method `ADD_xy` should have a snake case name such as `add_xy` Nov 28 14:25:39.500 INFO [stderr] --> src/CPU.rs:185:5 Nov 28 14:25:39.500 INFO [stderr] | Nov 28 14:25:39.500 INFO [stderr] 185 | / fn ADD_xy (&mut self, x: u16, y: u16) { Nov 28 14:25:39.500 INFO [stderr] 186 | | println!("ADD_xy {} {}", x, y); Nov 28 14:25:39.500 INFO [stderr] 187 | | self.V[x as usize] += self.V[y as usize]; Nov 28 14:25:39.500 INFO [stderr] 188 | | } Nov 28 14:25:39.500 INFO [stderr] | |_____^ Nov 28 14:25:39.501 INFO [stderr] Nov 28 14:25:39.501 INFO [stderr] warning: method `SUB` should have a snake case name such as `sub` Nov 28 14:25:39.501 INFO [stderr] --> src/CPU.rs:190:5 Nov 28 14:25:39.501 INFO [stderr] | Nov 28 14:25:39.501 INFO [stderr] 190 | / fn SUB (&mut self, x: u16, y: u16) { Nov 28 14:25:39.501 INFO [stderr] 191 | | println!("SUB {} {}", x, y); Nov 28 14:25:39.501 INFO [stderr] 192 | | if self.V[x as usize] > self.V[y as usize] { Nov 28 14:25:39.502 INFO [stderr] 193 | | self.V[0xF] = 1; Nov 28 14:25:39.502 INFO [stderr] ... | Nov 28 14:25:39.502 INFO [stderr] 197 | | self.V[x as usize] -= self.V[y as usize]; Nov 28 14:25:39.502 INFO [stderr] 198 | | } Nov 28 14:25:39.502 INFO [stderr] | |_____^ Nov 28 14:25:39.502 INFO [stderr] Nov 28 14:25:39.502 INFO [stderr] warning: method `SHR` should have a snake case name such as `shr` Nov 28 14:25:39.502 INFO [stderr] --> src/CPU.rs:200:5 Nov 28 14:25:39.503 INFO [stderr] | Nov 28 14:25:39.503 INFO [stderr] 200 | / fn SHR (&mut self, x: u16) { Nov 28 14:25:39.503 INFO [stderr] 201 | | println!("SHR {}", x); Nov 28 14:25:39.503 INFO [stderr] 202 | | self.V[0xF] = self.V[x as usize] & 0x1; Nov 28 14:25:39.503 INFO [stderr] 203 | | self.V[x as usize] >>= 1; Nov 28 14:25:39.503 INFO [stderr] 204 | | } Nov 28 14:25:39.503 INFO [stderr] | |_____^ Nov 28 14:25:39.504 INFO [stderr] Nov 28 14:25:39.504 INFO [stderr] warning: method `SUBN` should have a snake case name such as `subn` Nov 28 14:25:39.504 INFO [stderr] --> src/CPU.rs:206:5 Nov 28 14:25:39.504 INFO [stderr] | Nov 28 14:25:39.504 INFO [stderr] 206 | / fn SUBN (&mut self, x: u16, y: u16) { Nov 28 14:25:39.504 INFO [stderr] 207 | | println!("SUB {} {}", x, y); Nov 28 14:25:39.504 INFO [stderr] 208 | | if self.V[y as usize] > self.V[x as usize] { Nov 28 14:25:39.504 INFO [stderr] 209 | | self.V[0xF] = 1; Nov 28 14:25:39.505 INFO [stderr] ... | Nov 28 14:25:39.505 INFO [stderr] 213 | | self.V[x as usize] -= self.V[y as usize]; Nov 28 14:25:39.505 INFO [stderr] 214 | | } Nov 28 14:25:39.505 INFO [stderr] | |_____^ Nov 28 14:25:39.505 INFO [stderr] Nov 28 14:25:39.505 INFO [stderr] warning: method `SHL` should have a snake case name such as `shl` Nov 28 14:25:39.505 INFO [stderr] --> src/CPU.rs:216:5 Nov 28 14:25:39.506 INFO [stderr] | Nov 28 14:25:39.506 INFO [stderr] 216 | / fn SHL (&mut self, x: u16) { Nov 28 14:25:39.506 INFO [stderr] 217 | | println!("SHL {}", x); Nov 28 14:25:39.506 INFO [stderr] 218 | | self.V[0xF] = self.V[x as usize] & 0x80; Nov 28 14:25:39.506 INFO [stderr] 219 | | self.V[x as usize] <<= 1; Nov 28 14:25:39.506 INFO [stderr] 220 | | } Nov 28 14:25:39.506 INFO [stderr] | |_____^ Nov 28 14:25:39.506 INFO [stderr] Nov 28 14:25:39.507 INFO [stderr] warning: method `SNE_xy` should have a snake case name such as `sne_xy` Nov 28 14:25:39.507 INFO [stderr] --> src/CPU.rs:222:5 Nov 28 14:25:39.507 INFO [stderr] | Nov 28 14:25:39.507 INFO [stderr] 222 | / fn SNE_xy (&mut self, x: u16, y: u16) { Nov 28 14:25:39.507 INFO [stderr] 223 | | println!("SNE_xy {} {}", x, y); Nov 28 14:25:39.507 INFO [stderr] 224 | | if self.V[x as usize] == self.V[y as usize] { Nov 28 14:25:39.507 INFO [stderr] 225 | | self.program_counter += 2; Nov 28 14:25:39.507 INFO [stderr] 226 | | } Nov 28 14:25:39.507 INFO [stderr] 227 | | } Nov 28 14:25:39.507 INFO [stderr] | |_____^ Nov 28 14:25:39.507 INFO [stderr] Nov 28 14:25:39.507 INFO [stderr] warning: method `LD_I` should have a snake case name such as `ld_i` Nov 28 14:25:39.507 INFO [stderr] --> src/CPU.rs:229:5 Nov 28 14:25:39.507 INFO [stderr] | Nov 28 14:25:39.507 INFO [stderr] 229 | / fn LD_I (&mut self, nnn: u16) { Nov 28 14:25:39.507 INFO [stderr] 230 | | println!("LD_I {}", nnn); Nov 28 14:25:39.507 INFO [stderr] 231 | | self.index_register = nnn; Nov 28 14:25:39.507 INFO [stderr] 232 | | } Nov 28 14:25:39.507 INFO [stderr] | |_____^ Nov 28 14:25:39.507 INFO [stderr] Nov 28 14:25:39.507 INFO [stderr] warning: method `JP_V0` should have a snake case name such as `jp_v0` Nov 28 14:25:39.507 INFO [stderr] --> src/CPU.rs:234:5 Nov 28 14:25:39.507 INFO [stderr] | Nov 28 14:25:39.508 INFO [stderr] 234 | / fn JP_V0 (&mut self, nnn: u16) { Nov 28 14:25:39.508 INFO [stderr] 235 | | println!("JP_V0 {}", nnn); Nov 28 14:25:39.508 INFO [stderr] 236 | | self.program_counter = (self.V[0] + nnn as u8).into(); Nov 28 14:25:39.508 INFO [stderr] 237 | | } Nov 28 14:25:39.508 INFO [stderr] | |_____^ Nov 28 14:25:39.508 INFO [stderr] Nov 28 14:25:39.508 INFO [stderr] warning: method `RND` should have a snake case name such as `rnd` Nov 28 14:25:39.508 INFO [stderr] --> src/CPU.rs:239:5 Nov 28 14:25:39.508 INFO [stderr] | Nov 28 14:25:39.508 INFO [stderr] 239 | / fn RND (&mut self, x: u16, kk: u16) { Nov 28 14:25:39.508 INFO [stderr] 240 | | println!("RND {} {}", x, kk); Nov 28 14:25:39.508 INFO [stderr] 241 | | self.V[x as usize] = (thread_rng().gen_range(0, 255) as u16 & kk) as u8; Nov 28 14:25:39.508 INFO [stderr] 242 | | } Nov 28 14:25:39.508 INFO [stderr] | |_____^ Nov 28 14:25:39.508 INFO [stderr] Nov 28 14:25:39.508 INFO [stderr] warning: method `SKP` should have a snake case name such as `skp` Nov 28 14:25:39.508 INFO [stderr] --> src/CPU.rs:244:5 Nov 28 14:25:39.508 INFO [stderr] | Nov 28 14:25:39.508 INFO [stderr] 244 | / fn SKP (&mut self, x: u16) { Nov 28 14:25:39.508 INFO [stderr] 245 | | println!("SKP {}", x); Nov 28 14:25:39.508 INFO [stderr] 246 | | if true { Nov 28 14:25:39.508 INFO [stderr] 247 | | // self.program_counter += 2; Nov 28 14:25:39.508 INFO [stderr] 248 | | } Nov 28 14:25:39.508 INFO [stderr] 249 | | } Nov 28 14:25:39.508 INFO [stderr] | |_____^ Nov 28 14:25:39.508 INFO [stderr] Nov 28 14:25:39.508 INFO [stderr] warning: method `SKNP` should have a snake case name such as `sknp` Nov 28 14:25:39.508 INFO [stderr] --> src/CPU.rs:251:5 Nov 28 14:25:39.508 INFO [stderr] | Nov 28 14:25:39.508 INFO [stderr] 251 | / fn SKNP (&mut self, x: u16) { Nov 28 14:25:39.508 INFO [stderr] 252 | | println!("SKNP {}", x); Nov 28 14:25:39.508 INFO [stderr] 253 | | if true { Nov 28 14:25:39.508 INFO [stderr] 254 | | // self.program_counter += 2; Nov 28 14:25:39.508 INFO [stderr] 255 | | } Nov 28 14:25:39.508 INFO [stderr] 256 | | } Nov 28 14:25:39.508 INFO [stderr] | |_____^ Nov 28 14:25:39.508 INFO [stderr] Nov 28 14:25:39.520 INFO [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 32s Nov 28 14:25:39.553 INFO [stderr] su: No module specific data is present Nov 28 14:25:40.309 INFO running `"docker" "inspect" "17d465731c898e230ad381dc2d1b8e97c8e4310aaca13c0dc7edd90fa53ef4d0"` Nov 28 14:25:40.637 INFO running `"docker" "rm" "-f" "17d465731c898e230ad381dc2d1b8e97c8e4310aaca13c0dc7edd90fa53ef4d0"` Nov 28 14:25:40.984 INFO [stdout] 17d465731c898e230ad381dc2d1b8e97c8e4310aaca13c0dc7edd90fa53ef4d0