Nov 28 14:24:05.565 INFO checking BlinfoldKing/Chip8-rs against master#0b9f19dff1347e29bf4362ab5a8fab84b43023b5 for pr-56074 Nov 28 14:24:05.565 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-56074/worker-0/master#0b9f19dff1347e29bf4362ab5a8fab84b43023b5:/target:rw,Z" "-v" "/mnt/big/crater/work/local/test-source/worker-0/pr-56074/master#0b9f19dff1347e29bf4362ab5a8fab84b43023b5:/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 +0b9f19dff1347e29bf4362ab5a8fab84b43023b5-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.981 INFO [stdout] a64d991921680a44de2f63d7f43604271e28754695ee536b7546e4e07a0c9993 Nov 28 14:24:05.989 INFO running `"docker" "start" "-a" "a64d991921680a44de2f63d7f43604271e28754695ee536b7546e4e07a0c9993"` Nov 28 14:24:07.496 INFO [stderr] usermod: no changes Nov 28 14:24:07.854 INFO [stderr] Checking gfx_core v0.8.3 Nov 28 14:24:07.906 INFO [stderr] Checking smithay-client-toolkit v0.3.0 Nov 28 14:24:12.545 INFO [stderr] Checking winit v0.17.2 Nov 28 14:24:18.972 INFO [stderr] Checking glutin v0.18.0 Nov 28 14:24:24.219 INFO [stderr] Checking pistoncore-glutin_window v0.48.0 Nov 28 14:24:43.418 INFO [stderr] Checking gfx v0.17.1 Nov 28 14:24:43.419 INFO [stderr] Checking gfx_device_gl v0.15.3 Nov 28 14:24:51.328 INFO [stderr] Checking piston-gfx_texture v0.34.0 Nov 28 14:24:55.084 INFO [stderr] Checking piston2d-gfx_graphics v0.52.0 Nov 28 14:24:59.955 INFO [stderr] Checking piston_window v0.81.0 Nov 28 14:25:05.585 INFO [stderr] Checking chip8-rust v0.1.0 (/source) Nov 28 14:25:12.906 INFO [stderr] warning: unused import: `piston::window::WindowSettings` Nov 28 14:25:12.907 INFO [stderr] --> src/main.rs:9:5 Nov 28 14:25:12.907 INFO [stderr] | Nov 28 14:25:12.907 INFO [stderr] 9 | use piston::window::WindowSettings; Nov 28 14:25:12.908 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 28 14:25:12.908 INFO [stderr] | Nov 28 14:25:12.908 INFO [stderr] = note: #[warn(unused_imports)] on by default Nov 28 14:25:12.908 INFO [stderr] Nov 28 14:25:12.909 INFO [stderr] warning: unused import: `glutin_window::GlutinWindow as Window` Nov 28 14:25:12.909 INFO [stderr] --> src/main.rs:10:5 Nov 28 14:25:12.909 INFO [stderr] | Nov 28 14:25:12.910 INFO [stderr] 10 | use glutin_window::GlutinWindow as Window; Nov 28 14:25:12.910 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 28 14:25:12.910 INFO [stderr] Nov 28 14:25:12.910 INFO [stderr] warning: unused import: `piston::event_loop::*` Nov 28 14:25:12.911 INFO [stderr] --> src/main.rs:11:5 Nov 28 14:25:12.911 INFO [stderr] | Nov 28 14:25:12.911 INFO [stderr] 11 | use piston::event_loop::*; Nov 28 14:25:12.912 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^ Nov 28 14:25:12.912 INFO [stderr] Nov 28 14:25:12.912 INFO [stderr] warning: unused import: `piston::input::*` Nov 28 14:25:12.913 INFO [stderr] --> src/main.rs:12:5 Nov 28 14:25:12.913 INFO [stderr] | Nov 28 14:25:12.920 INFO [stderr] 12 | use piston::input::*; Nov 28 14:25:12.921 INFO [stderr] | ^^^^^^^^^^^^^^^^ Nov 28 14:25:12.921 INFO [stderr] Nov 28 14:25:12.921 INFO [stderr] warning: unused imports: `GlGraphics`, `OpenGL` Nov 28 14:25:12.921 INFO [stderr] --> src/main.rs:13:24 Nov 28 14:25:12.922 INFO [stderr] | Nov 28 14:25:12.922 INFO [stderr] 13 | use opengl_graphics::{ GlGraphics, OpenGL }; Nov 28 14:25:12.922 INFO [stderr] | ^^^^^^^^^^ ^^^^^^ Nov 28 14:25:12.923 INFO [stderr] Nov 28 14:25:12.923 INFO [stderr] warning: unused import: `std::io::prelude::*` Nov 28 14:25:12.923 INFO [stderr] --> src/CPU.rs:4:5 Nov 28 14:25:12.923 INFO [stderr] | Nov 28 14:25:12.924 INFO [stderr] 4 | use std::io::prelude::*; Nov 28 14:25:12.924 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^ Nov 28 14:25:12.924 INFO [stderr] Nov 28 14:25:13.021 INFO [stderr] warning: unreachable statement Nov 28 14:25:13.021 INFO [stderr] --> src/main.rs:29:5 Nov 28 14:25:13.021 INFO [stderr] | Nov 28 14:25:13.021 INFO [stderr] 29 | println!("Hello, world!"); Nov 28 14:25:13.022 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 28 14:25:13.022 INFO [stderr] | Nov 28 14:25:13.022 INFO [stderr] = note: #[warn(unreachable_code)] on by default Nov 28 14:25:13.022 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:13.023 INFO [stderr] Nov 28 14:25:13.178 INFO [stderr] warning: unused variable: `state` Nov 28 14:25:13.178 INFO [stderr] --> src/CPU.rs:83:13 Nov 28 14:25:13.180 INFO [stderr] | Nov 28 14:25:13.180 INFO [stderr] 83 | let state = match nibble { Nov 28 14:25:13.181 INFO [stderr] | ^^^^^ help: consider using `_state` instead Nov 28 14:25:13.182 INFO [stderr] | Nov 28 14:25:13.182 INFO [stderr] = note: #[warn(unused_variables)] on by default Nov 28 14:25:13.183 INFO [stderr] Nov 28 14:25:13.183 INFO [stderr] warning: unused variable: `bytes_read` Nov 28 14:25:13.183 INFO [stderr] --> src/CPU.rs:265:13 Nov 28 14:25:13.184 INFO [stderr] | Nov 28 14:25:13.184 INFO [stderr] 265 | let bytes_read = if let Ok(bytes_read) = reader.read(&mut buffer) { Nov 28 14:25:13.185 INFO [stderr] | ^^^^^^^^^^ help: consider using `_bytes_read` instead Nov 28 14:25:13.185 INFO [stderr] Nov 28 14:25:13.220 INFO [stderr] warning: field is never used: `gfx` Nov 28 14:25:13.220 INFO [stderr] --> src/CPU.rs:24:5 Nov 28 14:25:13.221 INFO [stderr] | Nov 28 14:25:13.221 INFO [stderr] 24 | gfx: [[u8; 32]; 64], Nov 28 14:25:13.221 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^ Nov 28 14:25:13.221 INFO [stderr] | Nov 28 14:25:13.222 INFO [stderr] = note: #[warn(dead_code)] on by default Nov 28 14:25:13.222 INFO [stderr] Nov 28 14:25:13.222 INFO [stderr] warning: field is never used: `delay_timer` Nov 28 14:25:13.223 INFO [stderr] --> src/CPU.rs:27:5 Nov 28 14:25:13.223 INFO [stderr] | Nov 28 14:25:13.224 INFO [stderr] 27 | delay_timer: u8, Nov 28 14:25:13.225 INFO [stderr] | ^^^^^^^^^^^^^^^ Nov 28 14:25:13.225 INFO [stderr] Nov 28 14:25:13.225 INFO [stderr] warning: field is never used: `sound_timer` Nov 28 14:25:13.225 INFO [stderr] --> src/CPU.rs:28:5 Nov 28 14:25:13.226 INFO [stderr] | Nov 28 14:25:13.226 INFO [stderr] 28 | sound_timer: u8, Nov 28 14:25:13.226 INFO [stderr] | ^^^^^^^^^^^^^^^ Nov 28 14:25:13.226 INFO [stderr] Nov 28 14:25:13.227 INFO [stderr] warning: module `CPU` should have a snake case name such as `cpu` Nov 28 14:25:13.227 INFO [stderr] --> src/main.rs:15:1 Nov 28 14:25:13.227 INFO [stderr] | Nov 28 14:25:13.228 INFO [stderr] 15 | mod CPU; Nov 28 14:25:13.228 INFO [stderr] | ^^^^^^^^ Nov 28 14:25:13.228 INFO [stderr] | Nov 28 14:25:13.229 INFO [stderr] = note: #[warn(non_snake_case)] on by default Nov 28 14:25:13.229 INFO [stderr] Nov 28 14:25:13.229 INFO [stderr] warning: constant `fontset` should have an upper case name such as `FONTSET` Nov 28 14:25:13.229 INFO [stderr] --> src/CPU.rs:9:1 Nov 28 14:25:13.230 INFO [stderr] | Nov 28 14:25:13.230 INFO [stderr] 9 | / const fontset: [u8; 80] = [ Nov 28 14:25:13.230 INFO [stderr] 10 | | 0xF0, 0x90, 0x90, 0x90, 0xF0, 0x20, 0x60, 0x20, 0x20, 0x70, Nov 28 14:25:13.231 INFO [stderr] 11 | | 0xF0, 0x10, 0xF0, 0x80, 0xF0, 0xF0, 0x10, 0xF0, 0x10, 0xF0, Nov 28 14:25:13.231 INFO [stderr] 12 | | 0x90, 0x90, 0xF0, 0x10, 0x10, 0xF0, 0x80, 0xF0, 0x10, 0xF0, Nov 28 14:25:13.231 INFO [stderr] ... | Nov 28 14:25:13.231 INFO [stderr] 17 | | 0xF0, 0x80, 0xF0, 0x80, 0xF0, 0xF0, 0x80, 0xF0, 0x80, 0x80 Nov 28 14:25:13.232 INFO [stderr] 18 | | ]; Nov 28 14:25:13.232 INFO [stderr] | |__^ Nov 28 14:25:13.233 INFO [stderr] | Nov 28 14:25:13.233 INFO [stderr] = note: #[warn(non_upper_case_globals)] on by default Nov 28 14:25:13.233 INFO [stderr] Nov 28 14:25:13.234 INFO [stderr] warning: structure field `V` should have a snake case name such as `v` Nov 28 14:25:13.234 INFO [stderr] --> src/CPU.rs:26:5 Nov 28 14:25:13.234 INFO [stderr] | Nov 28 14:25:13.234 INFO [stderr] 26 | V: [u8; 16], // General purpose registers Nov 28 14:25:13.235 INFO [stderr] | ^^^^^^^^^^^ Nov 28 14:25:13.235 INFO [stderr] Nov 28 14:25:13.235 INFO [stderr] warning: method `JP` should have a snake case name such as `jp` Nov 28 14:25:13.236 INFO [stderr] --> src/CPU.rs:116:5 Nov 28 14:25:13.236 INFO [stderr] | Nov 28 14:25:13.236 INFO [stderr] 116 | / fn JP (&mut self, nnn: u16) { Nov 28 14:25:13.237 INFO [stderr] 117 | | println!("JP {}", nnn); Nov 28 14:25:13.237 INFO [stderr] 118 | | self.program_counter = nnn; Nov 28 14:25:13.237 INFO [stderr] 119 | | } Nov 28 14:25:13.237 INFO [stderr] | |_____^ Nov 28 14:25:13.238 INFO [stderr] Nov 28 14:25:13.238 INFO [stderr] warning: method `CALL` should have a snake case name such as `call` Nov 28 14:25:13.238 INFO [stderr] --> src/CPU.rs:121:5 Nov 28 14:25:13.239 INFO [stderr] | Nov 28 14:25:13.239 INFO [stderr] 121 | / fn CALL (&mut self, nnn: u16) { Nov 28 14:25:13.239 INFO [stderr] 122 | | println!("CALL {}", nnn); Nov 28 14:25:13.239 INFO [stderr] 123 | | self.stack[self.sp as usize] = self.program_counter; Nov 28 14:25:13.240 INFO [stderr] 124 | | self.sp + 1; Nov 28 14:25:13.240 INFO [stderr] 125 | | self.program_counter = nnn; Nov 28 14:25:13.240 INFO [stderr] 126 | | } Nov 28 14:25:13.241 INFO [stderr] | |_____^ Nov 28 14:25:13.241 INFO [stderr] Nov 28 14:25:13.241 INFO [stderr] warning: unused arithmetic operation that must be used Nov 28 14:25:13.241 INFO [stderr] --> src/CPU.rs:124:9 Nov 28 14:25:13.242 INFO [stderr] | Nov 28 14:25:13.242 INFO [stderr] 124 | self.sp + 1; Nov 28 14:25:13.242 INFO [stderr] | ^^^^^^^^^^^ Nov 28 14:25:13.243 INFO [stderr] | Nov 28 14:25:13.243 INFO [stderr] = note: #[warn(unused_must_use)] on by default Nov 28 14:25:13.243 INFO [stderr] Nov 28 14:25:13.243 INFO [stderr] warning: method `RET` should have a snake case name such as `ret` Nov 28 14:25:13.244 INFO [stderr] --> src/CPU.rs:128:5 Nov 28 14:25:13.244 INFO [stderr] | Nov 28 14:25:13.244 INFO [stderr] 128 | / fn RET (&mut self) { Nov 28 14:25:13.244 INFO [stderr] 129 | | println!("RET"); Nov 28 14:25:13.245 INFO [stderr] 130 | | self.program_counter = self.stack[self.sp as usize]; Nov 28 14:25:13.245 INFO [stderr] 131 | | self.sp -= 1; Nov 28 14:25:13.245 INFO [stderr] 132 | | } Nov 28 14:25:13.246 INFO [stderr] | |_____^ Nov 28 14:25:13.246 INFO [stderr] Nov 28 14:25:13.246 INFO [stderr] warning: method `SE` should have a snake case name such as `se` Nov 28 14:25:13.246 INFO [stderr] --> src/CPU.rs:134:5 Nov 28 14:25:13.247 INFO [stderr] | Nov 28 14:25:13.247 INFO [stderr] 134 | / fn SE (&mut self, x: u16, kk: u16) { Nov 28 14:25:13.247 INFO [stderr] 135 | | println!("SE {} {}", x, kk); Nov 28 14:25:13.247 INFO [stderr] 136 | | if self.V[x as usize] as u16 == kk { Nov 28 14:25:13.248 INFO [stderr] 137 | | self.program_counter += 2; Nov 28 14:25:13.248 INFO [stderr] 138 | | } Nov 28 14:25:13.248 INFO [stderr] 139 | | } Nov 28 14:25:13.249 INFO [stderr] | |_____^ Nov 28 14:25:13.249 INFO [stderr] Nov 28 14:25:13.249 INFO [stderr] warning: method `SNE` should have a snake case name such as `sne` Nov 28 14:25:13.249 INFO [stderr] --> src/CPU.rs:141:5 Nov 28 14:25:13.250 INFO [stderr] | Nov 28 14:25:13.250 INFO [stderr] 141 | / fn SNE (&mut self, x: u16, kk: u16) { Nov 28 14:25:13.250 INFO [stderr] 142 | | println!("SNE {} {}", x, kk); Nov 28 14:25:13.250 INFO [stderr] 143 | | if self.V[x as usize] as u16 != kk { Nov 28 14:25:13.251 INFO [stderr] 144 | | self.program_counter += 2; Nov 28 14:25:13.251 INFO [stderr] 145 | | } Nov 28 14:25:13.251 INFO [stderr] 146 | | } Nov 28 14:25:13.251 INFO [stderr] | |_____^ Nov 28 14:25:13.252 INFO [stderr] Nov 28 14:25:13.252 INFO [stderr] warning: method `SE_xy` should have a snake case name such as `se_xy` Nov 28 14:25:13.252 INFO [stderr] --> src/CPU.rs:148:5 Nov 28 14:25:13.253 INFO [stderr] | Nov 28 14:25:13.253 INFO [stderr] 148 | / fn SE_xy (&mut self, x: u16, y: u16) { Nov 28 14:25:13.253 INFO [stderr] 149 | | println!("SE_xy {} {}", x, y); Nov 28 14:25:13.254 INFO [stderr] 150 | | if self.V[x as usize] != self.V[y as usize] { Nov 28 14:25:13.254 INFO [stderr] 151 | | self.program_counter += 2; Nov 28 14:25:13.254 INFO [stderr] 152 | | } Nov 28 14:25:13.254 INFO [stderr] 153 | | } Nov 28 14:25:13.255 INFO [stderr] | |_____^ Nov 28 14:25:13.255 INFO [stderr] Nov 28 14:25:13.255 INFO [stderr] warning: method `LD` should have a snake case name such as `ld` Nov 28 14:25:13.256 INFO [stderr] --> src/CPU.rs:155:5 Nov 28 14:25:13.256 INFO [stderr] | Nov 28 14:25:13.256 INFO [stderr] 155 | / fn LD (&mut self, x: u16, kk: u16) { Nov 28 14:25:13.257 INFO [stderr] 156 | | println!("LD {} {}", x, kk); Nov 28 14:25:13.257 INFO [stderr] 157 | | self.V[x as usize] = kk as u8; Nov 28 14:25:13.257 INFO [stderr] 158 | | } Nov 28 14:25:13.258 INFO [stderr] | |_____^ Nov 28 14:25:13.258 INFO [stderr] Nov 28 14:25:13.258 INFO [stderr] warning: method `ADD` should have a snake case name such as `add` Nov 28 14:25:13.258 INFO [stderr] --> src/CPU.rs:160:5 Nov 28 14:25:13.259 INFO [stderr] | Nov 28 14:25:13.259 INFO [stderr] 160 | / fn ADD (&mut self, x: u16, kk: u16) { Nov 28 14:25:13.259 INFO [stderr] 161 | | println!("ADD {} {}", x, kk); Nov 28 14:25:13.260 INFO [stderr] 162 | | self.V[x as usize] += kk as u8; Nov 28 14:25:13.260 INFO [stderr] 163 | | } Nov 28 14:25:13.264 INFO [stderr] | |_____^ Nov 28 14:25:13.265 INFO [stderr] Nov 28 14:25:13.265 INFO [stderr] warning: method `LD_xy` should have a snake case name such as `ld_xy` Nov 28 14:25:13.265 INFO [stderr] --> src/CPU.rs:165:5 Nov 28 14:25:13.265 INFO [stderr] | Nov 28 14:25:13.266 INFO [stderr] 165 | / fn LD_xy (&mut self, x: u16, y: u16) { Nov 28 14:25:13.266 INFO [stderr] 166 | | println!("LD_xy {} {}", x, y); Nov 28 14:25:13.266 INFO [stderr] 167 | | self.V[x as usize] = self.V[y as usize]; Nov 28 14:25:13.266 INFO [stderr] 168 | | } Nov 28 14:25:13.267 INFO [stderr] | |_____^ Nov 28 14:25:13.267 INFO [stderr] Nov 28 14:25:13.267 INFO [stderr] warning: method `OR` should have a snake case name such as `or` Nov 28 14:25:13.268 INFO [stderr] --> src/CPU.rs:170:5 Nov 28 14:25:13.268 INFO [stderr] | Nov 28 14:25:13.268 INFO [stderr] 170 | / fn OR (&mut self, x: u16, y: u16) { Nov 28 14:25:13.268 INFO [stderr] 171 | | println!("OR {} {}", x, y); Nov 28 14:25:13.269 INFO [stderr] 172 | | self.V[x as usize] |= self.V[y as usize]; Nov 28 14:25:13.269 INFO [stderr] 173 | | } Nov 28 14:25:13.269 INFO [stderr] | |_____^ Nov 28 14:25:13.269 INFO [stderr] Nov 28 14:25:13.270 INFO [stderr] warning: method `AND` should have a snake case name such as `and` Nov 28 14:25:13.270 INFO [stderr] --> src/CPU.rs:175:5 Nov 28 14:25:13.270 INFO [stderr] | Nov 28 14:25:13.270 INFO [stderr] 175 | / fn AND (&mut self, x: u16, y: u16) { Nov 28 14:25:13.271 INFO [stderr] 176 | | println!("AND {} {}", x, y); Nov 28 14:25:13.271 INFO [stderr] 177 | | self.V[x as usize] &= self.V[y as usize]; Nov 28 14:25:13.271 INFO [stderr] 178 | | } Nov 28 14:25:13.271 INFO [stderr] | |_____^ Nov 28 14:25:13.272 INFO [stderr] Nov 28 14:25:13.272 INFO [stderr] warning: method `XOR` should have a snake case name such as `xor` Nov 28 14:25:13.272 INFO [stderr] --> src/CPU.rs:180:5 Nov 28 14:25:13.272 INFO [stderr] | Nov 28 14:25:13.273 INFO [stderr] 180 | / fn XOR (&mut self, x: u16, y: u16) { Nov 28 14:25:13.273 INFO [stderr] 181 | | println!("XOR {} {}", x, y); Nov 28 14:25:13.273 INFO [stderr] 182 | | self.V[x as usize] ^= self.V[y as usize]; Nov 28 14:25:13.273 INFO [stderr] 183 | | } Nov 28 14:25:13.274 INFO [stderr] | |_____^ Nov 28 14:25:13.274 INFO [stderr] Nov 28 14:25:13.274 INFO [stderr] warning: method `ADD_xy` should have a snake case name such as `add_xy` Nov 28 14:25:13.274 INFO [stderr] --> src/CPU.rs:185:5 Nov 28 14:25:13.275 INFO [stderr] | Nov 28 14:25:13.275 INFO [stderr] 185 | / fn ADD_xy (&mut self, x: u16, y: u16) { Nov 28 14:25:13.275 INFO [stderr] 186 | | println!("ADD_xy {} {}", x, y); Nov 28 14:25:13.276 INFO [stderr] 187 | | self.V[x as usize] += self.V[y as usize]; Nov 28 14:25:13.276 INFO [stderr] 188 | | } Nov 28 14:25:13.276 INFO [stderr] | |_____^ Nov 28 14:25:13.276 INFO [stderr] Nov 28 14:25:13.277 INFO [stderr] warning: method `SUB` should have a snake case name such as `sub` Nov 28 14:25:13.277 INFO [stderr] --> src/CPU.rs:190:5 Nov 28 14:25:13.277 INFO [stderr] | Nov 28 14:25:13.277 INFO [stderr] 190 | / fn SUB (&mut self, x: u16, y: u16) { Nov 28 14:25:13.278 INFO [stderr] 191 | | println!("SUB {} {}", x, y); Nov 28 14:25:13.278 INFO [stderr] 192 | | if self.V[x as usize] > self.V[y as usize] { Nov 28 14:25:13.278 INFO [stderr] 193 | | self.V[0xF] = 1; Nov 28 14:25:13.278 INFO [stderr] ... | Nov 28 14:25:13.279 INFO [stderr] 197 | | self.V[x as usize] -= self.V[y as usize]; Nov 28 14:25:13.279 INFO [stderr] 198 | | } Nov 28 14:25:13.279 INFO [stderr] | |_____^ Nov 28 14:25:13.279 INFO [stderr] Nov 28 14:25:13.280 INFO [stderr] warning: method `SHR` should have a snake case name such as `shr` Nov 28 14:25:13.280 INFO [stderr] --> src/CPU.rs:200:5 Nov 28 14:25:13.280 INFO [stderr] | Nov 28 14:25:13.280 INFO [stderr] 200 | / fn SHR (&mut self, x: u16) { Nov 28 14:25:13.281 INFO [stderr] 201 | | println!("SHR {}", x); Nov 28 14:25:13.281 INFO [stderr] 202 | | self.V[0xF] = self.V[x as usize] & 0x1; Nov 28 14:25:13.281 INFO [stderr] 203 | | self.V[x as usize] >>= 1; Nov 28 14:25:13.281 INFO [stderr] 204 | | } Nov 28 14:25:13.282 INFO [stderr] | |_____^ Nov 28 14:25:13.282 INFO [stderr] Nov 28 14:25:13.282 INFO [stderr] warning: method `SUBN` should have a snake case name such as `subn` Nov 28 14:25:13.282 INFO [stderr] --> src/CPU.rs:206:5 Nov 28 14:25:13.283 INFO [stderr] | Nov 28 14:25:13.283 INFO [stderr] 206 | / fn SUBN (&mut self, x: u16, y: u16) { Nov 28 14:25:13.283 INFO [stderr] 207 | | println!("SUB {} {}", x, y); Nov 28 14:25:13.284 INFO [stderr] 208 | | if self.V[y as usize] > self.V[x as usize] { Nov 28 14:25:13.284 INFO [stderr] 209 | | self.V[0xF] = 1; Nov 28 14:25:13.284 INFO [stderr] ... | Nov 28 14:25:13.284 INFO [stderr] 213 | | self.V[x as usize] -= self.V[y as usize]; Nov 28 14:25:13.285 INFO [stderr] 214 | | } Nov 28 14:25:13.285 INFO [stderr] | |_____^ Nov 28 14:25:13.285 INFO [stderr] Nov 28 14:25:13.285 INFO [stderr] warning: method `SHL` should have a snake case name such as `shl` Nov 28 14:25:13.286 INFO [stderr] --> src/CPU.rs:216:5 Nov 28 14:25:13.286 INFO [stderr] | Nov 28 14:25:13.286 INFO [stderr] 216 | / fn SHL (&mut self, x: u16) { Nov 28 14:25:13.286 INFO [stderr] 217 | | println!("SHL {}", x); Nov 28 14:25:13.286 INFO [stderr] 218 | | self.V[0xF] = self.V[x as usize] & 0x80; Nov 28 14:25:13.287 INFO [stderr] 219 | | self.V[x as usize] <<= 1; Nov 28 14:25:13.287 INFO [stderr] 220 | | } Nov 28 14:25:13.287 INFO [stderr] | |_____^ Nov 28 14:25:13.287 INFO [stderr] Nov 28 14:25:13.288 INFO [stderr] warning: method `SNE_xy` should have a snake case name such as `sne_xy` Nov 28 14:25:13.288 INFO [stderr] --> src/CPU.rs:222:5 Nov 28 14:25:13.288 INFO [stderr] | Nov 28 14:25:13.288 INFO [stderr] 222 | / fn SNE_xy (&mut self, x: u16, y: u16) { Nov 28 14:25:13.289 INFO [stderr] 223 | | println!("SNE_xy {} {}", x, y); Nov 28 14:25:13.289 INFO [stderr] 224 | | if self.V[x as usize] == self.V[y as usize] { Nov 28 14:25:13.289 INFO [stderr] 225 | | self.program_counter += 2; Nov 28 14:25:13.289 INFO [stderr] 226 | | } Nov 28 14:25:13.290 INFO [stderr] 227 | | } Nov 28 14:25:13.290 INFO [stderr] | |_____^ Nov 28 14:25:13.290 INFO [stderr] Nov 28 14:25:13.290 INFO [stderr] warning: method `LD_I` should have a snake case name such as `ld_i` Nov 28 14:25:13.291 INFO [stderr] --> src/CPU.rs:229:5 Nov 28 14:25:13.291 INFO [stderr] | Nov 28 14:25:13.291 INFO [stderr] 229 | / fn LD_I (&mut self, nnn: u16) { Nov 28 14:25:13.291 INFO [stderr] 230 | | println!("LD_I {}", nnn); Nov 28 14:25:13.291 INFO [stderr] 231 | | self.index_register = nnn; Nov 28 14:25:13.292 INFO [stderr] 232 | | } Nov 28 14:25:13.292 INFO [stderr] | |_____^ Nov 28 14:25:13.292 INFO [stderr] Nov 28 14:25:13.292 INFO [stderr] warning: method `JP_V0` should have a snake case name such as `jp_v0` Nov 28 14:25:13.293 INFO [stderr] --> src/CPU.rs:234:5 Nov 28 14:25:13.293 INFO [stderr] | Nov 28 14:25:13.293 INFO [stderr] 234 | / fn JP_V0 (&mut self, nnn: u16) { Nov 28 14:25:13.293 INFO [stderr] 235 | | println!("JP_V0 {}", nnn); Nov 28 14:25:13.294 INFO [stderr] 236 | | self.program_counter = (self.V[0] + nnn as u8).into(); Nov 28 14:25:13.294 INFO [stderr] 237 | | } Nov 28 14:25:13.294 INFO [stderr] | |_____^ Nov 28 14:25:13.294 INFO [stderr] Nov 28 14:25:13.295 INFO [stderr] warning: method `RND` should have a snake case name such as `rnd` Nov 28 14:25:13.295 INFO [stderr] --> src/CPU.rs:239:5 Nov 28 14:25:13.295 INFO [stderr] | Nov 28 14:25:13.296 INFO [stderr] 239 | / fn RND (&mut self, x: u16, kk: u16) { Nov 28 14:25:13.296 INFO [stderr] 240 | | println!("RND {} {}", x, kk); Nov 28 14:25:13.296 INFO [stderr] 241 | | self.V[x as usize] = (thread_rng().gen_range(0, 255) as u16 & kk) as u8; Nov 28 14:25:13.296 INFO [stderr] 242 | | } Nov 28 14:25:13.297 INFO [stderr] | |_____^ Nov 28 14:25:13.297 INFO [stderr] Nov 28 14:25:13.297 INFO [stderr] warning: method `SKP` should have a snake case name such as `skp` Nov 28 14:25:13.297 INFO [stderr] --> src/CPU.rs:244:5 Nov 28 14:25:13.298 INFO [stderr] | Nov 28 14:25:13.298 INFO [stderr] 244 | / fn SKP (&mut self, x: u16) { Nov 28 14:25:13.298 INFO [stderr] 245 | | println!("SKP {}", x); Nov 28 14:25:13.298 INFO [stderr] 246 | | if true { Nov 28 14:25:13.299 INFO [stderr] 247 | | // self.program_counter += 2; Nov 28 14:25:13.299 INFO [stderr] 248 | | } Nov 28 14:25:13.299 INFO [stderr] 249 | | } Nov 28 14:25:13.299 INFO [stderr] | |_____^ Nov 28 14:25:13.300 INFO [stderr] Nov 28 14:25:13.304 INFO [stderr] warning: method `SKNP` should have a snake case name such as `sknp` Nov 28 14:25:13.304 INFO [stderr] --> src/CPU.rs:251:5 Nov 28 14:25:13.305 INFO [stderr] | Nov 28 14:25:13.305 INFO [stderr] 251 | / fn SKNP (&mut self, x: u16) { Nov 28 14:25:13.305 INFO [stderr] 252 | | println!("SKNP {}", x); Nov 28 14:25:13.305 INFO [stderr] 253 | | if true { Nov 28 14:25:13.306 INFO [stderr] 254 | | // self.program_counter += 2; Nov 28 14:25:13.306 INFO [stderr] 255 | | } Nov 28 14:25:13.306 INFO [stderr] 256 | | } Nov 28 14:25:13.306 INFO [stderr] | |_____^ Nov 28 14:25:13.307 INFO [stderr] Nov 28 14:25:13.573 INFO [stderr] warning: unused import: `piston::window::WindowSettings` Nov 28 14:25:13.573 INFO [stderr] --> src/main.rs:9:5 Nov 28 14:25:13.573 INFO [stderr] | Nov 28 14:25:13.573 INFO [stderr] 9 | use piston::window::WindowSettings; Nov 28 14:25:13.573 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 28 14:25:13.573 INFO [stderr] | Nov 28 14:25:13.573 INFO [stderr] = note: #[warn(unused_imports)] on by default Nov 28 14:25:13.573 INFO [stderr] Nov 28 14:25:13.573 INFO [stderr] warning: unused import: `glutin_window::GlutinWindow as Window` Nov 28 14:25:13.573 INFO [stderr] --> src/main.rs:10:5 Nov 28 14:25:13.573 INFO [stderr] | Nov 28 14:25:13.573 INFO [stderr] 10 | use glutin_window::GlutinWindow as Window; Nov 28 14:25:13.573 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 28 14:25:13.573 INFO [stderr] Nov 28 14:25:13.573 INFO [stderr] warning: unused import: `piston::event_loop::*` Nov 28 14:25:13.573 INFO [stderr] --> src/main.rs:11:5 Nov 28 14:25:13.573 INFO [stderr] | Nov 28 14:25:13.573 INFO [stderr] 11 | use piston::event_loop::*; Nov 28 14:25:13.573 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^ Nov 28 14:25:13.573 INFO [stderr] Nov 28 14:25:13.573 INFO [stderr] warning: unused import: `piston::input::*` Nov 28 14:25:13.573 INFO [stderr] --> src/main.rs:12:5 Nov 28 14:25:13.573 INFO [stderr] | Nov 28 14:25:13.573 INFO [stderr] 12 | use piston::input::*; Nov 28 14:25:13.573 INFO [stderr] | ^^^^^^^^^^^^^^^^ Nov 28 14:25:13.573 INFO [stderr] Nov 28 14:25:13.573 INFO [stderr] warning: unused imports: `GlGraphics`, `OpenGL` Nov 28 14:25:13.573 INFO [stderr] --> src/main.rs:13:24 Nov 28 14:25:13.573 INFO [stderr] | Nov 28 14:25:13.573 INFO [stderr] 13 | use opengl_graphics::{ GlGraphics, OpenGL }; Nov 28 14:25:13.573 INFO [stderr] | ^^^^^^^^^^ ^^^^^^ Nov 28 14:25:13.573 INFO [stderr] Nov 28 14:25:13.573 INFO [stderr] warning: unused import: `std::io::prelude::*` Nov 28 14:25:13.573 INFO [stderr] --> src/CPU.rs:4:5 Nov 28 14:25:13.573 INFO [stderr] | Nov 28 14:25:13.573 INFO [stderr] 4 | use std::io::prelude::*; Nov 28 14:25:13.573 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^ Nov 28 14:25:13.573 INFO [stderr] Nov 28 14:25:13.632 INFO [stderr] warning: unreachable statement Nov 28 14:25:13.632 INFO [stderr] --> src/main.rs:29:5 Nov 28 14:25:13.632 INFO [stderr] | Nov 28 14:25:13.632 INFO [stderr] 29 | println!("Hello, world!"); Nov 28 14:25:13.632 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 28 14:25:13.632 INFO [stderr] | Nov 28 14:25:13.632 INFO [stderr] = note: #[warn(unreachable_code)] on by default Nov 28 14:25:13.632 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:13.632 INFO [stderr] Nov 28 14:25:13.724 INFO [stderr] warning: unused variable: `state` Nov 28 14:25:13.724 INFO [stderr] --> src/CPU.rs:83:13 Nov 28 14:25:13.724 INFO [stderr] | Nov 28 14:25:13.724 INFO [stderr] 83 | let state = match nibble { Nov 28 14:25:13.724 INFO [stderr] | ^^^^^ help: consider using `_state` instead Nov 28 14:25:13.724 INFO [stderr] | Nov 28 14:25:13.724 INFO [stderr] = note: #[warn(unused_variables)] on by default Nov 28 14:25:13.724 INFO [stderr] Nov 28 14:25:13.724 INFO [stderr] warning: unused variable: `bytes_read` Nov 28 14:25:13.724 INFO [stderr] --> src/CPU.rs:265:13 Nov 28 14:25:13.724 INFO [stderr] | Nov 28 14:25:13.724 INFO [stderr] 265 | let bytes_read = if let Ok(bytes_read) = reader.read(&mut buffer) { Nov 28 14:25:13.724 INFO [stderr] | ^^^^^^^^^^ help: consider using `_bytes_read` instead Nov 28 14:25:13.724 INFO [stderr] Nov 28 14:25:13.758 INFO [stderr] warning: field is never used: `gfx` Nov 28 14:25:13.758 INFO [stderr] --> src/CPU.rs:24:5 Nov 28 14:25:13.758 INFO [stderr] | Nov 28 14:25:13.759 INFO [stderr] 24 | gfx: [[u8; 32]; 64], Nov 28 14:25:13.759 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^ Nov 28 14:25:13.759 INFO [stderr] | Nov 28 14:25:13.760 INFO [stderr] = note: #[warn(dead_code)] on by default Nov 28 14:25:13.760 INFO [stderr] Nov 28 14:25:13.760 INFO [stderr] warning: field is never used: `delay_timer` Nov 28 14:25:13.760 INFO [stderr] --> src/CPU.rs:27:5 Nov 28 14:25:13.761 INFO [stderr] | Nov 28 14:25:13.761 INFO [stderr] 27 | delay_timer: u8, Nov 28 14:25:13.761 INFO [stderr] | ^^^^^^^^^^^^^^^ Nov 28 14:25:13.762 INFO [stderr] Nov 28 14:25:13.762 INFO [stderr] warning: field is never used: `sound_timer` Nov 28 14:25:13.762 INFO [stderr] --> src/CPU.rs:28:5 Nov 28 14:25:13.762 INFO [stderr] | Nov 28 14:25:13.763 INFO [stderr] 28 | sound_timer: u8, Nov 28 14:25:13.763 INFO [stderr] | ^^^^^^^^^^^^^^^ Nov 28 14:25:13.763 INFO [stderr] Nov 28 14:25:13.763 INFO [stderr] warning: module `CPU` should have a snake case name such as `cpu` Nov 28 14:25:13.764 INFO [stderr] --> src/main.rs:15:1 Nov 28 14:25:13.764 INFO [stderr] | Nov 28 14:25:13.764 INFO [stderr] 15 | mod CPU; Nov 28 14:25:13.765 INFO [stderr] | ^^^^^^^^ Nov 28 14:25:13.765 INFO [stderr] | Nov 28 14:25:13.765 INFO [stderr] = note: #[warn(non_snake_case)] on by default Nov 28 14:25:13.765 INFO [stderr] Nov 28 14:25:13.766 INFO [stderr] warning: constant `fontset` should have an upper case name such as `FONTSET` Nov 28 14:25:13.766 INFO [stderr] --> src/CPU.rs:9:1 Nov 28 14:25:13.766 INFO [stderr] | Nov 28 14:25:13.766 INFO [stderr] 9 | / const fontset: [u8; 80] = [ Nov 28 14:25:13.767 INFO [stderr] 10 | | 0xF0, 0x90, 0x90, 0x90, 0xF0, 0x20, 0x60, 0x20, 0x20, 0x70, Nov 28 14:25:13.767 INFO [stderr] 11 | | 0xF0, 0x10, 0xF0, 0x80, 0xF0, 0xF0, 0x10, 0xF0, 0x10, 0xF0, Nov 28 14:25:13.767 INFO [stderr] 12 | | 0x90, 0x90, 0xF0, 0x10, 0x10, 0xF0, 0x80, 0xF0, 0x10, 0xF0, Nov 28 14:25:13.768 INFO [stderr] ... | Nov 28 14:25:13.768 INFO [stderr] 17 | | 0xF0, 0x80, 0xF0, 0x80, 0xF0, 0xF0, 0x80, 0xF0, 0x80, 0x80 Nov 28 14:25:13.768 INFO [stderr] 18 | | ]; Nov 28 14:25:13.768 INFO [stderr] | |__^ Nov 28 14:25:13.769 INFO [stderr] | Nov 28 14:25:13.769 INFO [stderr] = note: #[warn(non_upper_case_globals)] on by default Nov 28 14:25:13.769 INFO [stderr] Nov 28 14:25:13.769 INFO [stderr] warning: structure field `V` should have a snake case name such as `v` Nov 28 14:25:13.770 INFO [stderr] --> src/CPU.rs:26:5 Nov 28 14:25:13.770 INFO [stderr] | Nov 28 14:25:13.770 INFO [stderr] 26 | V: [u8; 16], // General purpose registers Nov 28 14:25:13.771 INFO [stderr] | ^^^^^^^^^^^ Nov 28 14:25:13.771 INFO [stderr] Nov 28 14:25:13.771 INFO [stderr] warning: method `JP` should have a snake case name such as `jp` Nov 28 14:25:13.771 INFO [stderr] --> src/CPU.rs:116:5 Nov 28 14:25:13.772 INFO [stderr] | Nov 28 14:25:13.772 INFO [stderr] 116 | / fn JP (&mut self, nnn: u16) { Nov 28 14:25:13.772 INFO [stderr] 117 | | println!("JP {}", nnn); Nov 28 14:25:13.772 INFO [stderr] 118 | | self.program_counter = nnn; Nov 28 14:25:13.773 INFO [stderr] 119 | | } Nov 28 14:25:13.773 INFO [stderr] | |_____^ Nov 28 14:25:13.773 INFO [stderr] Nov 28 14:25:13.774 INFO [stderr] warning: method `CALL` should have a snake case name such as `call` Nov 28 14:25:13.774 INFO [stderr] --> src/CPU.rs:121:5 Nov 28 14:25:13.774 INFO [stderr] | Nov 28 14:25:13.774 INFO [stderr] 121 | / fn CALL (&mut self, nnn: u16) { Nov 28 14:25:13.774 INFO [stderr] 122 | | println!("CALL {}", nnn); Nov 28 14:25:13.775 INFO [stderr] 123 | | self.stack[self.sp as usize] = self.program_counter; Nov 28 14:25:13.775 INFO [stderr] 124 | | self.sp + 1; Nov 28 14:25:13.775 INFO [stderr] 125 | | self.program_counter = nnn; Nov 28 14:25:13.776 INFO [stderr] 126 | | } Nov 28 14:25:13.776 INFO [stderr] | |_____^ Nov 28 14:25:13.776 INFO [stderr] Nov 28 14:25:13.776 INFO [stderr] warning: unused arithmetic operation that must be used Nov 28 14:25:13.777 INFO [stderr] --> src/CPU.rs:124:9 Nov 28 14:25:13.777 INFO [stderr] | Nov 28 14:25:13.777 INFO [stderr] 124 | self.sp + 1; Nov 28 14:25:13.777 INFO [stderr] | ^^^^^^^^^^^ Nov 28 14:25:13.778 INFO [stderr] | Nov 28 14:25:13.778 INFO [stderr] = note: #[warn(unused_must_use)] on by default Nov 28 14:25:13.778 INFO [stderr] Nov 28 14:25:13.779 INFO [stderr] warning: method `RET` should have a snake case name such as `ret` Nov 28 14:25:13.779 INFO [stderr] --> src/CPU.rs:128:5 Nov 28 14:25:13.779 INFO [stderr] | Nov 28 14:25:13.779 INFO [stderr] 128 | / fn RET (&mut self) { Nov 28 14:25:13.780 INFO [stderr] 129 | | println!("RET"); Nov 28 14:25:13.780 INFO [stderr] 130 | | self.program_counter = self.stack[self.sp as usize]; Nov 28 14:25:13.780 INFO [stderr] 131 | | self.sp -= 1; Nov 28 14:25:13.780 INFO [stderr] 132 | | } Nov 28 14:25:13.781 INFO [stderr] | |_____^ Nov 28 14:25:13.781 INFO [stderr] Nov 28 14:25:13.781 INFO [stderr] warning: method `SE` should have a snake case name such as `se` Nov 28 14:25:13.781 INFO [stderr] --> src/CPU.rs:134:5 Nov 28 14:25:13.782 INFO [stderr] | Nov 28 14:25:13.782 INFO [stderr] 134 | / fn SE (&mut self, x: u16, kk: u16) { Nov 28 14:25:13.782 INFO [stderr] 135 | | println!("SE {} {}", x, kk); Nov 28 14:25:13.783 INFO [stderr] 136 | | if self.V[x as usize] as u16 == kk { Nov 28 14:25:13.783 INFO [stderr] 137 | | self.program_counter += 2; Nov 28 14:25:13.783 INFO [stderr] 138 | | } Nov 28 14:25:13.783 INFO [stderr] 139 | | } Nov 28 14:25:13.784 INFO [stderr] | |_____^ Nov 28 14:25:13.784 INFO [stderr] Nov 28 14:25:13.784 INFO [stderr] warning: method `SNE` should have a snake case name such as `sne` Nov 28 14:25:13.784 INFO [stderr] --> src/CPU.rs:141:5 Nov 28 14:25:13.785 INFO [stderr] | Nov 28 14:25:13.785 INFO [stderr] 141 | / fn SNE (&mut self, x: u16, kk: u16) { Nov 28 14:25:13.785 INFO [stderr] 142 | | println!("SNE {} {}", x, kk); Nov 28 14:25:13.785 INFO [stderr] 143 | | if self.V[x as usize] as u16 != kk { Nov 28 14:25:13.786 INFO [stderr] 144 | | self.program_counter += 2; Nov 28 14:25:13.786 INFO [stderr] 145 | | } Nov 28 14:25:13.786 INFO [stderr] 146 | | } Nov 28 14:25:13.787 INFO [stderr] | |_____^ Nov 28 14:25:13.787 INFO [stderr] Nov 28 14:25:13.787 INFO [stderr] warning: method `SE_xy` should have a snake case name such as `se_xy` Nov 28 14:25:13.787 INFO [stderr] --> src/CPU.rs:148:5 Nov 28 14:25:13.788 INFO [stderr] | Nov 28 14:25:13.788 INFO [stderr] 148 | / fn SE_xy (&mut self, x: u16, y: u16) { Nov 28 14:25:13.788 INFO [stderr] 149 | | println!("SE_xy {} {}", x, y); Nov 28 14:25:13.789 INFO [stderr] 150 | | if self.V[x as usize] != self.V[y as usize] { Nov 28 14:25:13.789 INFO [stderr] 151 | | self.program_counter += 2; Nov 28 14:25:13.789 INFO [stderr] 152 | | } Nov 28 14:25:13.789 INFO [stderr] 153 | | } Nov 28 14:25:13.790 INFO [stderr] | |_____^ Nov 28 14:25:13.790 INFO [stderr] Nov 28 14:25:13.790 INFO [stderr] warning: method `LD` should have a snake case name such as `ld` Nov 28 14:25:13.791 INFO [stderr] --> src/CPU.rs:155:5 Nov 28 14:25:13.791 INFO [stderr] | Nov 28 14:25:13.791 INFO [stderr] 155 | / fn LD (&mut self, x: u16, kk: u16) { Nov 28 14:25:13.791 INFO [stderr] 156 | | println!("LD {} {}", x, kk); Nov 28 14:25:13.792 INFO [stderr] 157 | | self.V[x as usize] = kk as u8; Nov 28 14:25:13.792 INFO [stderr] 158 | | } Nov 28 14:25:13.792 INFO [stderr] | |_____^ Nov 28 14:25:13.792 INFO [stderr] Nov 28 14:25:13.793 INFO [stderr] warning: method `ADD` should have a snake case name such as `add` Nov 28 14:25:13.793 INFO [stderr] --> src/CPU.rs:160:5 Nov 28 14:25:13.793 INFO [stderr] | Nov 28 14:25:13.793 INFO [stderr] 160 | / fn ADD (&mut self, x: u16, kk: u16) { Nov 28 14:25:13.794 INFO [stderr] 161 | | println!("ADD {} {}", x, kk); Nov 28 14:25:13.794 INFO [stderr] 162 | | self.V[x as usize] += kk as u8; Nov 28 14:25:13.794 INFO [stderr] 163 | | } Nov 28 14:25:13.794 INFO [stderr] | |_____^ Nov 28 14:25:13.795 INFO [stderr] Nov 28 14:25:13.795 INFO [stderr] warning: method `LD_xy` should have a snake case name such as `ld_xy` Nov 28 14:25:13.795 INFO [stderr] --> src/CPU.rs:165:5 Nov 28 14:25:13.795 INFO [stderr] | Nov 28 14:25:13.796 INFO [stderr] 165 | / fn LD_xy (&mut self, x: u16, y: u16) { Nov 28 14:25:13.796 INFO [stderr] 166 | | println!("LD_xy {} {}", x, y); Nov 28 14:25:13.796 INFO [stderr] 167 | | self.V[x as usize] = self.V[y as usize]; Nov 28 14:25:13.796 INFO [stderr] 168 | | } Nov 28 14:25:13.797 INFO [stderr] | |_____^ Nov 28 14:25:13.797 INFO [stderr] Nov 28 14:25:13.797 INFO [stderr] warning: method `OR` should have a snake case name such as `or` Nov 28 14:25:13.797 INFO [stderr] --> src/CPU.rs:170:5 Nov 28 14:25:13.798 INFO [stderr] | Nov 28 14:25:13.798 INFO [stderr] 170 | / fn OR (&mut self, x: u16, y: u16) { Nov 28 14:25:13.798 INFO [stderr] 171 | | println!("OR {} {}", x, y); Nov 28 14:25:13.798 INFO [stderr] 172 | | self.V[x as usize] |= self.V[y as usize]; Nov 28 14:25:13.798 INFO [stderr] 173 | | } Nov 28 14:25:13.799 INFO [stderr] | |_____^ Nov 28 14:25:13.799 INFO [stderr] Nov 28 14:25:13.799 INFO [stderr] warning: method `AND` should have a snake case name such as `and` Nov 28 14:25:13.799 INFO [stderr] --> src/CPU.rs:175:5 Nov 28 14:25:13.800 INFO [stderr] | Nov 28 14:25:13.804 INFO [stderr] 175 | / fn AND (&mut self, x: u16, y: u16) { Nov 28 14:25:13.804 INFO [stderr] 176 | | println!("AND {} {}", x, y); Nov 28 14:25:13.804 INFO [stderr] 177 | | self.V[x as usize] &= self.V[y as usize]; Nov 28 14:25:13.805 INFO [stderr] 178 | | } Nov 28 14:25:13.805 INFO [stderr] | |_____^ Nov 28 14:25:13.805 INFO [stderr] Nov 28 14:25:13.806 INFO [stderr] warning: method `XOR` should have a snake case name such as `xor` Nov 28 14:25:13.806 INFO [stderr] --> src/CPU.rs:180:5 Nov 28 14:25:13.806 INFO [stderr] | Nov 28 14:25:13.806 INFO [stderr] 180 | / fn XOR (&mut self, x: u16, y: u16) { Nov 28 14:25:13.807 INFO [stderr] 181 | | println!("XOR {} {}", x, y); Nov 28 14:25:13.807 INFO [stderr] 182 | | self.V[x as usize] ^= self.V[y as usize]; Nov 28 14:25:13.807 INFO [stderr] 183 | | } Nov 28 14:25:13.807 INFO [stderr] | |_____^ Nov 28 14:25:13.808 INFO [stderr] Nov 28 14:25:13.808 INFO [stderr] warning: method `ADD_xy` should have a snake case name such as `add_xy` Nov 28 14:25:13.808 INFO [stderr] --> src/CPU.rs:185:5 Nov 28 14:25:13.809 INFO [stderr] | Nov 28 14:25:13.809 INFO [stderr] 185 | / fn ADD_xy (&mut self, x: u16, y: u16) { Nov 28 14:25:13.809 INFO [stderr] 186 | | println!("ADD_xy {} {}", x, y); Nov 28 14:25:13.810 INFO [stderr] 187 | | self.V[x as usize] += self.V[y as usize]; Nov 28 14:25:13.810 INFO [stderr] 188 | | } Nov 28 14:25:13.810 INFO [stderr] | |_____^ Nov 28 14:25:13.810 INFO [stderr] Nov 28 14:25:13.811 INFO [stderr] warning: method `SUB` should have a snake case name such as `sub` Nov 28 14:25:13.811 INFO [stderr] --> src/CPU.rs:190:5 Nov 28 14:25:13.811 INFO [stderr] | Nov 28 14:25:13.811 INFO [stderr] 190 | / fn SUB (&mut self, x: u16, y: u16) { Nov 28 14:25:13.812 INFO [stderr] 191 | | println!("SUB {} {}", x, y); Nov 28 14:25:13.812 INFO [stderr] 192 | | if self.V[x as usize] > self.V[y as usize] { Nov 28 14:25:13.812 INFO [stderr] 193 | | self.V[0xF] = 1; Nov 28 14:25:13.812 INFO [stderr] ... | Nov 28 14:25:13.813 INFO [stderr] 197 | | self.V[x as usize] -= self.V[y as usize]; Nov 28 14:25:13.813 INFO [stderr] 198 | | } Nov 28 14:25:13.813 INFO [stderr] | |_____^ Nov 28 14:25:13.813 INFO [stderr] Nov 28 14:25:13.814 INFO [stderr] warning: method `SHR` should have a snake case name such as `shr` Nov 28 14:25:13.814 INFO [stderr] --> src/CPU.rs:200:5 Nov 28 14:25:13.814 INFO [stderr] | Nov 28 14:25:13.814 INFO [stderr] 200 | / fn SHR (&mut self, x: u16) { Nov 28 14:25:13.815 INFO [stderr] 201 | | println!("SHR {}", x); Nov 28 14:25:13.815 INFO [stderr] 202 | | self.V[0xF] = self.V[x as usize] & 0x1; Nov 28 14:25:13.815 INFO [stderr] 203 | | self.V[x as usize] >>= 1; Nov 28 14:25:13.815 INFO [stderr] 204 | | } Nov 28 14:25:13.816 INFO [stderr] | |_____^ Nov 28 14:25:13.816 INFO [stderr] Nov 28 14:25:13.816 INFO [stderr] warning: method `SUBN` should have a snake case name such as `subn` Nov 28 14:25:13.817 INFO [stderr] --> src/CPU.rs:206:5 Nov 28 14:25:13.817 INFO [stderr] | Nov 28 14:25:13.817 INFO [stderr] 206 | / fn SUBN (&mut self, x: u16, y: u16) { Nov 28 14:25:13.817 INFO [stderr] 207 | | println!("SUB {} {}", x, y); Nov 28 14:25:13.818 INFO [stderr] 208 | | if self.V[y as usize] > self.V[x as usize] { Nov 28 14:25:13.818 INFO [stderr] 209 | | self.V[0xF] = 1; Nov 28 14:25:13.818 INFO [stderr] ... | Nov 28 14:25:13.818 INFO [stderr] 213 | | self.V[x as usize] -= self.V[y as usize]; Nov 28 14:25:13.819 INFO [stderr] 214 | | } Nov 28 14:25:13.819 INFO [stderr] | |_____^ Nov 28 14:25:13.819 INFO [stderr] Nov 28 14:25:13.819 INFO [stderr] warning: method `SHL` should have a snake case name such as `shl` Nov 28 14:25:13.820 INFO [stderr] --> src/CPU.rs:216:5 Nov 28 14:25:13.820 INFO [stderr] | Nov 28 14:25:13.820 INFO [stderr] 216 | / fn SHL (&mut self, x: u16) { Nov 28 14:25:13.820 INFO [stderr] 217 | | println!("SHL {}", x); Nov 28 14:25:13.821 INFO [stderr] 218 | | self.V[0xF] = self.V[x as usize] & 0x80; Nov 28 14:25:13.821 INFO [stderr] 219 | | self.V[x as usize] <<= 1; Nov 28 14:25:13.821 INFO [stderr] 220 | | } Nov 28 14:25:13.822 INFO [stderr] | |_____^ Nov 28 14:25:13.822 INFO [stderr] Nov 28 14:25:13.822 INFO [stderr] warning: method `SNE_xy` should have a snake case name such as `sne_xy` Nov 28 14:25:13.822 INFO [stderr] --> src/CPU.rs:222:5 Nov 28 14:25:13.823 INFO [stderr] | Nov 28 14:25:13.823 INFO [stderr] 222 | / fn SNE_xy (&mut self, x: u16, y: u16) { Nov 28 14:25:13.823 INFO [stderr] 223 | | println!("SNE_xy {} {}", x, y); Nov 28 14:25:13.823 INFO [stderr] 224 | | if self.V[x as usize] == self.V[y as usize] { Nov 28 14:25:13.824 INFO [stderr] 225 | | self.program_counter += 2; Nov 28 14:25:13.824 INFO [stderr] 226 | | } Nov 28 14:25:13.824 INFO [stderr] 227 | | } Nov 28 14:25:13.825 INFO [stderr] | |_____^ Nov 28 14:25:13.825 INFO [stderr] Nov 28 14:25:13.825 INFO [stderr] warning: method `LD_I` should have a snake case name such as `ld_i` Nov 28 14:25:13.825 INFO [stderr] --> src/CPU.rs:229:5 Nov 28 14:25:13.826 INFO [stderr] | Nov 28 14:25:13.826 INFO [stderr] 229 | / fn LD_I (&mut self, nnn: u16) { Nov 28 14:25:13.826 INFO [stderr] 230 | | println!("LD_I {}", nnn); Nov 28 14:25:13.826 INFO [stderr] 231 | | self.index_register = nnn; Nov 28 14:25:13.827 INFO [stderr] 232 | | } Nov 28 14:25:13.827 INFO [stderr] | |_____^ Nov 28 14:25:13.827 INFO [stderr] Nov 28 14:25:13.827 INFO [stderr] warning: method `JP_V0` should have a snake case name such as `jp_v0` Nov 28 14:25:13.828 INFO [stderr] --> src/CPU.rs:234:5 Nov 28 14:25:13.828 INFO [stderr] | Nov 28 14:25:13.828 INFO [stderr] 234 | / fn JP_V0 (&mut self, nnn: u16) { Nov 28 14:25:13.829 INFO [stderr] 235 | | println!("JP_V0 {}", nnn); Nov 28 14:25:13.829 INFO [stderr] 236 | | self.program_counter = (self.V[0] + nnn as u8).into(); Nov 28 14:25:13.829 INFO [stderr] 237 | | } Nov 28 14:25:13.829 INFO [stderr] | |_____^ Nov 28 14:25:13.830 INFO [stderr] Nov 28 14:25:13.830 INFO [stderr] warning: method `RND` should have a snake case name such as `rnd` Nov 28 14:25:13.830 INFO [stderr] --> src/CPU.rs:239:5 Nov 28 14:25:13.830 INFO [stderr] | Nov 28 14:25:13.831 INFO [stderr] 239 | / fn RND (&mut self, x: u16, kk: u16) { Nov 28 14:25:13.831 INFO [stderr] 240 | | println!("RND {} {}", x, kk); Nov 28 14:25:13.831 INFO [stderr] 241 | | self.V[x as usize] = (thread_rng().gen_range(0, 255) as u16 & kk) as u8; Nov 28 14:25:13.831 INFO [stderr] 242 | | } Nov 28 14:25:13.832 INFO [stderr] | |_____^ Nov 28 14:25:13.832 INFO [stderr] Nov 28 14:25:13.832 INFO [stderr] warning: method `SKP` should have a snake case name such as `skp` Nov 28 14:25:13.833 INFO [stderr] --> src/CPU.rs:244:5 Nov 28 14:25:13.833 INFO [stderr] | Nov 28 14:25:13.833 INFO [stderr] 244 | / fn SKP (&mut self, x: u16) { Nov 28 14:25:13.833 INFO [stderr] 245 | | println!("SKP {}", x); Nov 28 14:25:13.834 INFO [stderr] 246 | | if true { Nov 28 14:25:13.834 INFO [stderr] 247 | | // self.program_counter += 2; Nov 28 14:25:13.834 INFO [stderr] 248 | | } Nov 28 14:25:13.834 INFO [stderr] 249 | | } Nov 28 14:25:13.835 INFO [stderr] | |_____^ Nov 28 14:25:13.835 INFO [stderr] Nov 28 14:25:13.835 INFO [stderr] warning: method `SKNP` should have a snake case name such as `sknp` Nov 28 14:25:13.836 INFO [stderr] --> src/CPU.rs:251:5 Nov 28 14:25:13.836 INFO [stderr] | Nov 28 14:25:13.836 INFO [stderr] 251 | / fn SKNP (&mut self, x: u16) { Nov 28 14:25:13.836 INFO [stderr] 252 | | println!("SKNP {}", x); Nov 28 14:25:13.837 INFO [stderr] 253 | | if true { Nov 28 14:25:13.837 INFO [stderr] 254 | | // self.program_counter += 2; Nov 28 14:25:13.837 INFO [stderr] 255 | | } Nov 28 14:25:13.837 INFO [stderr] 256 | | } Nov 28 14:25:13.838 INFO [stderr] | |_____^ Nov 28 14:25:13.838 INFO [stderr] Nov 28 14:25:13.838 INFO [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 06s Nov 28 14:25:13.839 INFO [stderr] su: No module specific data is present Nov 28 14:25:14.298 INFO running `"docker" "inspect" "a64d991921680a44de2f63d7f43604271e28754695ee536b7546e4e07a0c9993"` Nov 28 14:25:14.576 INFO running `"docker" "rm" "-f" "a64d991921680a44de2f63d7f43604271e28754695ee536b7546e4e07a0c9993"` Nov 28 14:25:14.888 INFO [stdout] a64d991921680a44de2f63d7f43604271e28754695ee536b7546e4e07a0c9993