Dec 19 16:06:42.982 INFO checking hfcredidio/chip8rs against master#d99a320cba42f661aebfa1293b7b2ec3603dda75 for pr-56955 Dec 19 16:06:42.982 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-56955/worker-3/master#d99a320cba42f661aebfa1293b7b2ec3603dda75:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-56955/sources/master#d99a320cba42f661aebfa1293b7b2ec3603dda75/gh/hfcredidio/chip8rs:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+d99a320cba42f661aebfa1293b7b2ec3603dda75-alt" "check" "--frozen" "--all" "--all-targets"` Dec 19 16:06:43.247 INFO [stdout] 55704bac4a3e0622a9b8b091b1f11fcfd95617caec34502356150a58cb19947d Dec 19 16:06:43.250 INFO running `"docker" "start" "-a" "55704bac4a3e0622a9b8b091b1f11fcfd95617caec34502356150a58cb19947d"` Dec 19 16:06:43.738 INFO [stderr] Checking chip8rs v0.1.0 (/opt/crater/workdir) Dec 19 16:06:43.994 INFO [stderr] warning: unused variable: `addr` Dec 19 16:06:43.994 INFO [stderr] --> src/cpu.rs:109:19 Dec 19 16:06:43.994 INFO [stderr] | Dec 19 16:06:43.994 INFO [stderr] 109 | fn SYS(&self, addr: u16) {} Dec 19 16:06:43.994 INFO [stderr] | ^^^^ help: consider using `_addr` instead Dec 19 16:06:43.994 INFO [stderr] | Dec 19 16:06:43.994 INFO [stderr] = note: #[warn(unused_variables)] on by default Dec 19 16:06:43.994 INFO [stderr] Dec 19 16:06:43.994 INFO [stderr] warning: unused variable: `x` Dec 19 16:06:43.994 INFO [stderr] --> src/cpu.rs:218:23 Dec 19 16:06:43.994 INFO [stderr] | Dec 19 16:06:43.994 INFO [stderr] 218 | fn DRW(&mut self, x: u8, y: u8, nibble: u8) { Dec 19 16:06:43.995 INFO [stderr] | ^ help: consider using `_x` instead Dec 19 16:06:43.995 INFO [stderr] Dec 19 16:06:43.995 INFO [stderr] warning: unused variable: `y` Dec 19 16:06:43.995 INFO [stderr] --> src/cpu.rs:218:30 Dec 19 16:06:43.995 INFO [stderr] | Dec 19 16:06:43.995 INFO [stderr] 218 | fn DRW(&mut self, x: u8, y: u8, nibble: u8) { Dec 19 16:06:43.995 INFO [stderr] | ^ help: consider using `_y` instead Dec 19 16:06:43.995 INFO [stderr] Dec 19 16:06:43.995 INFO [stderr] warning: unused variable: `nibble` Dec 19 16:06:43.995 INFO [stderr] --> src/cpu.rs:218:37 Dec 19 16:06:43.995 INFO [stderr] | Dec 19 16:06:43.995 INFO [stderr] 218 | fn DRW(&mut self, x: u8, y: u8, nibble: u8) { Dec 19 16:06:43.995 INFO [stderr] | ^^^^^^ help: consider using `_nibble` instead Dec 19 16:06:43.995 INFO [stderr] Dec 19 16:06:43.995 INFO [stderr] warning: unused variable: `x` Dec 19 16:06:43.995 INFO [stderr] --> src/cpu.rs:221:23 Dec 19 16:06:43.995 INFO [stderr] | Dec 19 16:06:43.995 INFO [stderr] 221 | fn SKP(&mut self, x: u8) { Dec 19 16:06:43.995 INFO [stderr] | ^ help: consider using `_x` instead Dec 19 16:06:43.995 INFO [stderr] Dec 19 16:06:43.995 INFO [stderr] warning: unused variable: `x` Dec 19 16:06:43.995 INFO [stderr] --> src/cpu.rs:224:24 Dec 19 16:06:43.995 INFO [stderr] | Dec 19 16:06:43.995 INFO [stderr] 224 | fn SKNP(&mut self, x: u8) { Dec 19 16:06:43.995 INFO [stderr] | ^ help: consider using `_x` instead Dec 19 16:06:43.995 INFO [stderr] Dec 19 16:06:43.995 INFO [stderr] warning: unused variable: `x` Dec 19 16:06:43.995 INFO [stderr] --> src/cpu.rs:231:23 Dec 19 16:06:43.995 INFO [stderr] | Dec 19 16:06:43.995 INFO [stderr] 231 | fn LDK(&mut self, x: u8) { Dec 19 16:06:43.995 INFO [stderr] | ^ help: consider using `_x` instead Dec 19 16:06:43.995 INFO [stderr] Dec 19 16:06:43.995 INFO [stderr] warning: unused variable: `x` Dec 19 16:06:43.995 INFO [stderr] --> src/cpu.rs:243:23 Dec 19 16:06:43.995 INFO [stderr] | Dec 19 16:06:43.995 INFO [stderr] 243 | fn LDD(&mut self, x: u8) { Dec 19 16:06:43.995 INFO [stderr] | ^ help: consider using `_x` instead Dec 19 16:06:43.995 INFO [stderr] Dec 19 16:06:44.008 INFO [stderr] warning: unused variable: `addr` Dec 19 16:06:44.008 INFO [stderr] --> src/cpu.rs:109:19 Dec 19 16:06:44.008 INFO [stderr] | Dec 19 16:06:44.008 INFO [stderr] 109 | fn SYS(&self, addr: u16) {} Dec 19 16:06:44.008 INFO [stderr] | ^^^^ help: consider using `_addr` instead Dec 19 16:06:44.008 INFO [stderr] | Dec 19 16:06:44.008 INFO [stderr] = note: #[warn(unused_variables)] on by default Dec 19 16:06:44.008 INFO [stderr] Dec 19 16:06:44.008 INFO [stderr] warning: unused variable: `x` Dec 19 16:06:44.008 INFO [stderr] --> src/cpu.rs:218:23 Dec 19 16:06:44.008 INFO [stderr] | Dec 19 16:06:44.008 INFO [stderr] 218 | fn DRW(&mut self, x: u8, y: u8, nibble: u8) { Dec 19 16:06:44.008 INFO [stderr] | ^ help: consider using `_x` instead Dec 19 16:06:44.008 INFO [stderr] Dec 19 16:06:44.008 INFO [stderr] warning: unused variable: `y` Dec 19 16:06:44.008 INFO [stderr] --> src/cpu.rs:218:30 Dec 19 16:06:44.008 INFO [stderr] | Dec 19 16:06:44.008 INFO [stderr] 218 | fn DRW(&mut self, x: u8, y: u8, nibble: u8) { Dec 19 16:06:44.008 INFO [stderr] | ^ help: consider using `_y` instead Dec 19 16:06:44.008 INFO [stderr] Dec 19 16:06:44.008 INFO [stderr] warning: unused variable: `nibble` Dec 19 16:06:44.008 INFO [stderr] --> src/cpu.rs:218:37 Dec 19 16:06:44.008 INFO [stderr] | Dec 19 16:06:44.008 INFO [stderr] 218 | fn DRW(&mut self, x: u8, y: u8, nibble: u8) { Dec 19 16:06:44.008 INFO [stderr] | ^^^^^^ help: consider using `_nibble` instead Dec 19 16:06:44.008 INFO [stderr] Dec 19 16:06:44.008 INFO [stderr] warning: unused variable: `x` Dec 19 16:06:44.008 INFO [stderr] --> src/cpu.rs:221:23 Dec 19 16:06:44.008 INFO [stderr] | Dec 19 16:06:44.008 INFO [stderr] 221 | fn SKP(&mut self, x: u8) { Dec 19 16:06:44.008 INFO [stderr] | ^ help: consider using `_x` instead Dec 19 16:06:44.008 INFO [stderr] Dec 19 16:06:44.008 INFO [stderr] warning: unused variable: `x` Dec 19 16:06:44.008 INFO [stderr] --> src/cpu.rs:224:24 Dec 19 16:06:44.008 INFO [stderr] | Dec 19 16:06:44.008 INFO [stderr] 224 | fn SKNP(&mut self, x: u8) { Dec 19 16:06:44.008 INFO [stderr] | ^ help: consider using `_x` instead Dec 19 16:06:44.008 INFO [stderr] Dec 19 16:06:44.009 INFO [stderr] warning: unused variable: `x` Dec 19 16:06:44.009 INFO [stderr] --> src/cpu.rs:231:23 Dec 19 16:06:44.009 INFO [stderr] | Dec 19 16:06:44.009 INFO [stderr] 231 | fn LDK(&mut self, x: u8) { Dec 19 16:06:44.009 INFO [stderr] | ^ help: consider using `_x` instead Dec 19 16:06:44.009 INFO [stderr] Dec 19 16:06:44.009 INFO [stderr] warning: unused variable: `x` Dec 19 16:06:44.009 INFO [stderr] --> src/cpu.rs:243:23 Dec 19 16:06:44.009 INFO [stderr] | Dec 19 16:06:44.009 INFO [stderr] 243 | fn LDD(&mut self, x: u8) { Dec 19 16:06:44.009 INFO [stderr] | ^ help: consider using `_x` instead Dec 19 16:06:44.009 INFO [stderr] Dec 19 16:06:44.024 INFO [stderr] warning: variable `Vx` should have a snake case name such as `vx` Dec 19 16:06:44.024 INFO [stderr] --> src/cpu.rs:66:17 Dec 19 16:06:44.025 INFO [stderr] | Dec 19 16:06:44.025 INFO [stderr] 66 | let (c, Vx, Vy, nibble) = word_to_nibbles(word); Dec 19 16:06:44.025 INFO [stderr] | ^^ Dec 19 16:06:44.025 INFO [stderr] | Dec 19 16:06:44.025 INFO [stderr] = note: #[warn(non_snake_case)] on by default Dec 19 16:06:44.025 INFO [stderr] Dec 19 16:06:44.025 INFO [stderr] warning: variable `Vy` should have a snake case name such as `vy` Dec 19 16:06:44.025 INFO [stderr] --> src/cpu.rs:66:21 Dec 19 16:06:44.025 INFO [stderr] | Dec 19 16:06:44.025 INFO [stderr] 66 | let (c, Vx, Vy, nibble) = word_to_nibbles(word); Dec 19 16:06:44.025 INFO [stderr] | ^^ Dec 19 16:06:44.025 INFO [stderr] Dec 19 16:06:44.025 INFO [stderr] warning: method `SYS` should have a snake case name such as `sys` Dec 19 16:06:44.025 INFO [stderr] --> src/cpu.rs:109:5 Dec 19 16:06:44.025 INFO [stderr] | Dec 19 16:06:44.025 INFO [stderr] 109 | fn SYS(&self, addr: u16) {} Dec 19 16:06:44.025 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 19 16:06:44.025 INFO [stderr] Dec 19 16:06:44.025 INFO [stderr] warning: method `CLS` should have a snake case name such as `cls` Dec 19 16:06:44.025 INFO [stderr] --> src/cpu.rs:110:5 Dec 19 16:06:44.025 INFO [stderr] | Dec 19 16:06:44.025 INFO [stderr] 110 | fn CLS(&self) {} Dec 19 16:06:44.025 INFO [stderr] | ^^^^^^^^^^^^^^^^ Dec 19 16:06:44.025 INFO [stderr] Dec 19 16:06:44.025 INFO [stderr] warning: method `RET` should have a snake case name such as `ret` Dec 19 16:06:44.025 INFO [stderr] --> src/cpu.rs:111:5 Dec 19 16:06:44.025 INFO [stderr] | Dec 19 16:06:44.025 INFO [stderr] 111 | / fn RET(&mut self) { Dec 19 16:06:44.025 INFO [stderr] 112 | | self.pc = self.pop_stack(); Dec 19 16:06:44.025 INFO [stderr] 113 | | } Dec 19 16:06:44.025 INFO [stderr] | |_____^ Dec 19 16:06:44.025 INFO [stderr] Dec 19 16:06:44.025 INFO [stderr] warning: method `JP` should have a snake case name such as `jp` Dec 19 16:06:44.025 INFO [stderr] --> src/cpu.rs:114:5 Dec 19 16:06:44.025 INFO [stderr] | Dec 19 16:06:44.025 INFO [stderr] 114 | / fn JP(&mut self, addr: u16) { Dec 19 16:06:44.025 INFO [stderr] 115 | | self.pc = addr - 2; Dec 19 16:06:44.025 INFO [stderr] 116 | | } Dec 19 16:06:44.025 INFO [stderr] | |_____^ Dec 19 16:06:44.025 INFO [stderr] Dec 19 16:06:44.028 INFO [stderr] warning: method `CALL` should have a snake case name such as `call` Dec 19 16:06:44.028 INFO [stderr] --> src/cpu.rs:117:5 Dec 19 16:06:44.028 INFO [stderr] | Dec 19 16:06:44.028 INFO [stderr] 117 | / fn CALL(&mut self, addr: u16) { Dec 19 16:06:44.028 INFO [stderr] 118 | | let pc = self.pc; Dec 19 16:06:44.028 INFO [stderr] 119 | | self.push_stack(pc); Dec 19 16:06:44.028 INFO [stderr] 120 | | self.pc = addr - 2; Dec 19 16:06:44.028 INFO [stderr] 121 | | } Dec 19 16:06:44.028 INFO [stderr] | |_____^ Dec 19 16:06:44.028 INFO [stderr] Dec 19 16:06:44.028 INFO [stderr] warning: method `SE` should have a snake case name such as `se` Dec 19 16:06:44.028 INFO [stderr] --> src/cpu.rs:122:5 Dec 19 16:06:44.028 INFO [stderr] | Dec 19 16:06:44.028 INFO [stderr] 122 | / fn SE(&mut self, x: u8, byte: u8) { Dec 19 16:06:44.028 INFO [stderr] 123 | | let xval = self.read_register(x); Dec 19 16:06:44.028 INFO [stderr] 124 | | if xval == byte { Dec 19 16:06:44.028 INFO [stderr] 125 | | self.pc += 2; Dec 19 16:06:44.028 INFO [stderr] 126 | | } Dec 19 16:06:44.028 INFO [stderr] 127 | | } Dec 19 16:06:44.028 INFO [stderr] | |_____^ Dec 19 16:06:44.028 INFO [stderr] Dec 19 16:06:44.028 INFO [stderr] warning: method `SNE` should have a snake case name such as `sne` Dec 19 16:06:44.028 INFO [stderr] --> src/cpu.rs:128:5 Dec 19 16:06:44.028 INFO [stderr] | Dec 19 16:06:44.028 INFO [stderr] 128 | / fn SNE(&mut self, x: u8, byte: u8) { Dec 19 16:06:44.028 INFO [stderr] 129 | | let xval = self.read_register(x); Dec 19 16:06:44.028 INFO [stderr] 130 | | if xval != byte { Dec 19 16:06:44.028 INFO [stderr] 131 | | self.pc += 2; Dec 19 16:06:44.028 INFO [stderr] 132 | | } Dec 19 16:06:44.028 INFO [stderr] 133 | | } Dec 19 16:06:44.028 INFO [stderr] | |_____^ Dec 19 16:06:44.028 INFO [stderr] Dec 19 16:06:44.028 INFO [stderr] warning: method `SE2` should have a snake case name such as `se2` Dec 19 16:06:44.028 INFO [stderr] --> src/cpu.rs:134:5 Dec 19 16:06:44.028 INFO [stderr] | Dec 19 16:06:44.028 INFO [stderr] 134 | / fn SE2(&mut self, x: u8, y: u8) { Dec 19 16:06:44.028 INFO [stderr] 135 | | let xval = self.read_register(x); Dec 19 16:06:44.028 INFO [stderr] 136 | | let yval = self.read_register(y); Dec 19 16:06:44.028 INFO [stderr] 137 | | if xval == yval { Dec 19 16:06:44.028 INFO [stderr] 138 | | self.pc += 2; Dec 19 16:06:44.028 INFO [stderr] 139 | | } Dec 19 16:06:44.028 INFO [stderr] 140 | | } Dec 19 16:06:44.029 INFO [stderr] | |_____^ Dec 19 16:06:44.029 INFO [stderr] Dec 19 16:06:44.029 INFO [stderr] warning: method `LD` should have a snake case name such as `ld` Dec 19 16:06:44.029 INFO [stderr] --> src/cpu.rs:141:5 Dec 19 16:06:44.029 INFO [stderr] | Dec 19 16:06:44.029 INFO [stderr] 141 | / fn LD(&mut self, x: u8, byte: u8) { Dec 19 16:06:44.029 INFO [stderr] 142 | | self.write_register(x, byte); Dec 19 16:06:44.029 INFO [stderr] 143 | | } Dec 19 16:06:44.029 INFO [stderr] | |_____^ Dec 19 16:06:44.029 INFO [stderr] Dec 19 16:06:44.029 INFO [stderr] warning: method `ADD` should have a snake case name such as `add` Dec 19 16:06:44.029 INFO [stderr] --> src/cpu.rs:144:5 Dec 19 16:06:44.029 INFO [stderr] | Dec 19 16:06:44.029 INFO [stderr] 144 | / fn ADD(&mut self, x: u8, byte: u8) { Dec 19 16:06:44.029 INFO [stderr] 145 | | let xval = self.read_register(x); Dec 19 16:06:44.029 INFO [stderr] 146 | | self.write_register(x, xval + byte); Dec 19 16:06:44.029 INFO [stderr] 147 | | } Dec 19 16:06:44.029 INFO [stderr] | |_____^ Dec 19 16:06:44.029 INFO [stderr] Dec 19 16:06:44.029 INFO [stderr] warning: method `LD2` should have a snake case name such as `ld2` Dec 19 16:06:44.029 INFO [stderr] --> src/cpu.rs:148:5 Dec 19 16:06:44.029 INFO [stderr] | Dec 19 16:06:44.029 INFO [stderr] 148 | / fn LD2(&mut self, x: u8, y: u8) { Dec 19 16:06:44.029 INFO [stderr] 149 | | let yval = self.read_register(y); Dec 19 16:06:44.029 INFO [stderr] 150 | | self.write_register(x, yval); Dec 19 16:06:44.029 INFO [stderr] 151 | | } Dec 19 16:06:44.029 INFO [stderr] | |_____^ Dec 19 16:06:44.029 INFO [stderr] Dec 19 16:06:44.029 INFO [stderr] warning: method `OR` should have a snake case name such as `or` Dec 19 16:06:44.029 INFO [stderr] --> src/cpu.rs:152:5 Dec 19 16:06:44.029 INFO [stderr] | Dec 19 16:06:44.029 INFO [stderr] 152 | / fn OR(&mut self, x: u8, y: u8) { Dec 19 16:06:44.029 INFO [stderr] 153 | | let xval = self.read_register(x); Dec 19 16:06:44.029 INFO [stderr] 154 | | let yval = self.read_register(y); Dec 19 16:06:44.029 INFO [stderr] 155 | | self.write_register(x, xval | yval); Dec 19 16:06:44.029 INFO [stderr] 156 | | } Dec 19 16:06:44.029 INFO [stderr] | |_____^ Dec 19 16:06:44.029 INFO [stderr] Dec 19 16:06:44.029 INFO [stderr] warning: method `AND` should have a snake case name such as `and` Dec 19 16:06:44.029 INFO [stderr] --> src/cpu.rs:157:5 Dec 19 16:06:44.029 INFO [stderr] | Dec 19 16:06:44.029 INFO [stderr] 157 | / fn AND(&mut self, x: u8, y: u8) { Dec 19 16:06:44.029 INFO [stderr] 158 | | let xval = self.read_register(x); Dec 19 16:06:44.029 INFO [stderr] 159 | | let yval = self.read_register(y); Dec 19 16:06:44.029 INFO [stderr] 160 | | self.write_register(x, xval & yval); Dec 19 16:06:44.029 INFO [stderr] 161 | | } Dec 19 16:06:44.029 INFO [stderr] | |_____^ Dec 19 16:06:44.029 INFO [stderr] Dec 19 16:06:44.029 INFO [stderr] warning: method `XOR` should have a snake case name such as `xor` Dec 19 16:06:44.029 INFO [stderr] --> src/cpu.rs:162:5 Dec 19 16:06:44.029 INFO [stderr] | Dec 19 16:06:44.029 INFO [stderr] 162 | / fn XOR(&mut self, x: u8, y: u8) { Dec 19 16:06:44.029 INFO [stderr] 163 | | let xval = self.read_register(x); Dec 19 16:06:44.029 INFO [stderr] 164 | | let yval = self.read_register(y); Dec 19 16:06:44.029 INFO [stderr] 165 | | self.write_register(x, xval ^ yval); Dec 19 16:06:44.029 INFO [stderr] 166 | | } Dec 19 16:06:44.029 INFO [stderr] | |_____^ Dec 19 16:06:44.029 INFO [stderr] Dec 19 16:06:44.029 INFO [stderr] warning: method `ADD2` should have a snake case name such as `add2` Dec 19 16:06:44.029 INFO [stderr] --> src/cpu.rs:167:5 Dec 19 16:06:44.029 INFO [stderr] | Dec 19 16:06:44.029 INFO [stderr] 167 | / fn ADD2(&mut self, x: u8, y: u8) { Dec 19 16:06:44.029 INFO [stderr] 168 | | let xval = self.read_register(x); Dec 19 16:06:44.029 INFO [stderr] 169 | | let yval = self.read_register(y); Dec 19 16:06:44.029 INFO [stderr] 170 | | let res: u16 = (xval as u16) + (yval as u16); Dec 19 16:06:44.029 INFO [stderr] ... | Dec 19 16:06:44.029 INFO [stderr] 173 | | self.write_register(0xF, (carry != 0) as u8); Dec 19 16:06:44.029 INFO [stderr] 174 | | } Dec 19 16:06:44.029 INFO [stderr] | |_____^ Dec 19 16:06:44.029 INFO [stderr] Dec 19 16:06:44.029 INFO [stderr] warning: method `SUB` should have a snake case name such as `sub` Dec 19 16:06:44.029 INFO [stderr] --> src/cpu.rs:175:5 Dec 19 16:06:44.029 INFO [stderr] | Dec 19 16:06:44.029 INFO [stderr] 175 | / fn SUB(&mut self, x: u8, y: u8) { Dec 19 16:06:44.029 INFO [stderr] 176 | | let xval = self.read_register(x); Dec 19 16:06:44.029 INFO [stderr] 177 | | let yval = self.read_register(y); Dec 19 16:06:44.029 INFO [stderr] 178 | | let res = xval - yval; Dec 19 16:06:44.029 INFO [stderr] ... | Dec 19 16:06:44.029 INFO [stderr] 181 | | self.write_register(0xF, borrow); Dec 19 16:06:44.029 INFO [stderr] 182 | | } Dec 19 16:06:44.029 INFO [stderr] | |_____^ Dec 19 16:06:44.029 INFO [stderr] Dec 19 16:06:44.029 INFO [stderr] warning: method `SHR` should have a snake case name such as `shr` Dec 19 16:06:44.029 INFO [stderr] --> src/cpu.rs:183:5 Dec 19 16:06:44.029 INFO [stderr] | Dec 19 16:06:44.029 INFO [stderr] 183 | / fn SHR(&mut self, x: u8, y: u8) { Dec 19 16:06:44.029 INFO [stderr] 184 | | let yval = self.read_register(y); Dec 19 16:06:44.029 INFO [stderr] 185 | | self.write_register(x, yval >> 1); Dec 19 16:06:44.029 INFO [stderr] 186 | | self.write_register(0xF, yval & 0x01); Dec 19 16:06:44.030 INFO [stderr] 187 | | } Dec 19 16:06:44.030 INFO [stderr] | |_____^ Dec 19 16:06:44.030 INFO [stderr] Dec 19 16:06:44.030 INFO [stderr] warning: method `SUBN` should have a snake case name such as `subn` Dec 19 16:06:44.030 INFO [stderr] --> src/cpu.rs:188:5 Dec 19 16:06:44.030 INFO [stderr] | Dec 19 16:06:44.030 INFO [stderr] 188 | / fn SUBN(&mut self, x: u8, y: u8) { Dec 19 16:06:44.030 INFO [stderr] 189 | | let xval = self.read_register(x); Dec 19 16:06:44.030 INFO [stderr] 190 | | let yval = self.read_register(y); Dec 19 16:06:44.030 INFO [stderr] 191 | | let res = yval - xval; Dec 19 16:06:44.030 INFO [stderr] ... | Dec 19 16:06:44.030 INFO [stderr] 194 | | self.write_register(0xF, borrow); Dec 19 16:06:44.030 INFO [stderr] 195 | | } Dec 19 16:06:44.030 INFO [stderr] | |_____^ Dec 19 16:06:44.030 INFO [stderr] Dec 19 16:06:44.030 INFO [stderr] warning: method `SHL` should have a snake case name such as `shl` Dec 19 16:06:44.030 INFO [stderr] --> src/cpu.rs:196:5 Dec 19 16:06:44.030 INFO [stderr] | Dec 19 16:06:44.030 INFO [stderr] 196 | / fn SHL(&mut self, x: u8, y: u8) { Dec 19 16:06:44.030 INFO [stderr] 197 | | let yval = self.read_register(y); Dec 19 16:06:44.030 INFO [stderr] 198 | | self.write_register(x, yval << 1); Dec 19 16:06:44.030 INFO [stderr] 199 | | self.write_register(0xF, yval >> 7); Dec 19 16:06:44.030 INFO [stderr] 200 | | } Dec 19 16:06:44.030 INFO [stderr] | |_____^ Dec 19 16:06:44.030 INFO [stderr] Dec 19 16:06:44.030 INFO [stderr] warning: method `SNE2` should have a snake case name such as `sne2` Dec 19 16:06:44.030 INFO [stderr] --> src/cpu.rs:201:5 Dec 19 16:06:44.030 INFO [stderr] | Dec 19 16:06:44.030 INFO [stderr] 201 | / fn SNE2(&mut self, x: u8, y: u8) { Dec 19 16:06:44.030 INFO [stderr] 202 | | let xval = self.read_register(x); Dec 19 16:06:44.030 INFO [stderr] 203 | | let yval = self.read_register(y); Dec 19 16:06:44.030 INFO [stderr] 204 | | if xval != yval { Dec 19 16:06:44.030 INFO [stderr] 205 | | self.pc += 2; Dec 19 16:06:44.030 INFO [stderr] 206 | | } Dec 19 16:06:44.030 INFO [stderr] 207 | | } Dec 19 16:06:44.030 INFO [stderr] | |_____^ Dec 19 16:06:44.030 INFO [stderr] Dec 19 16:06:44.030 INFO [stderr] warning: method `LDI` should have a snake case name such as `ldi` Dec 19 16:06:44.030 INFO [stderr] --> src/cpu.rs:208:5 Dec 19 16:06:44.030 INFO [stderr] | Dec 19 16:06:44.030 INFO [stderr] 208 | / fn LDI(&mut self, addr: u16) { Dec 19 16:06:44.030 INFO [stderr] 209 | | self.i = addr; Dec 19 16:06:44.030 INFO [stderr] 210 | | } Dec 19 16:06:44.030 INFO [stderr] | |_____^ Dec 19 16:06:44.030 INFO [stderr] Dec 19 16:06:44.030 INFO [stderr] warning: method `JPV0` should have a snake case name such as `jpv0` Dec 19 16:06:44.030 INFO [stderr] --> src/cpu.rs:211:5 Dec 19 16:06:44.030 INFO [stderr] | Dec 19 16:06:44.030 INFO [stderr] 211 | / fn JPV0(&mut self, addr: u16) { Dec 19 16:06:44.030 INFO [stderr] 212 | | self.pc = self.read_register(0x0) as u16 + addr - 2; Dec 19 16:06:44.030 INFO [stderr] 213 | | } Dec 19 16:06:44.030 INFO [stderr] | |_____^ Dec 19 16:06:44.030 INFO [stderr] Dec 19 16:06:44.030 INFO [stderr] warning: method `RND` should have a snake case name such as `rnd` Dec 19 16:06:44.030 INFO [stderr] --> src/cpu.rs:214:5 Dec 19 16:06:44.030 INFO [stderr] | Dec 19 16:06:44.030 INFO [stderr] 214 | / fn RND(&mut self, x: u8, byte: u8) { Dec 19 16:06:44.030 INFO [stderr] 215 | | let rnd = 0; Dec 19 16:06:44.030 INFO [stderr] 216 | | self.write_register(x, rnd & byte); Dec 19 16:06:44.030 INFO [stderr] 217 | | } Dec 19 16:06:44.030 INFO [stderr] | |_____^ Dec 19 16:06:44.030 INFO [stderr] Dec 19 16:06:44.030 INFO [stderr] warning: method `DRW` should have a snake case name such as `drw` Dec 19 16:06:44.030 INFO [stderr] --> src/cpu.rs:218:5 Dec 19 16:06:44.030 INFO [stderr] | Dec 19 16:06:44.030 INFO [stderr] 218 | / fn DRW(&mut self, x: u8, y: u8, nibble: u8) { Dec 19 16:06:44.030 INFO [stderr] 219 | | // todo Dec 19 16:06:44.030 INFO [stderr] 220 | | } Dec 19 16:06:44.030 INFO [stderr] | |_____^ Dec 19 16:06:44.030 INFO [stderr] Dec 19 16:06:44.030 INFO [stderr] warning: method `SKP` should have a snake case name such as `skp` Dec 19 16:06:44.030 INFO [stderr] --> src/cpu.rs:221:5 Dec 19 16:06:44.030 INFO [stderr] | Dec 19 16:06:44.030 INFO [stderr] 221 | / fn SKP(&mut self, x: u8) { Dec 19 16:06:44.030 INFO [stderr] 222 | | // todo Dec 19 16:06:44.030 INFO [stderr] 223 | | } Dec 19 16:06:44.030 INFO [stderr] | |_____^ Dec 19 16:06:44.030 INFO [stderr] Dec 19 16:06:44.030 INFO [stderr] warning: method `SKNP` should have a snake case name such as `sknp` Dec 19 16:06:44.030 INFO [stderr] --> src/cpu.rs:224:5 Dec 19 16:06:44.030 INFO [stderr] | Dec 19 16:06:44.030 INFO [stderr] 224 | / fn SKNP(&mut self, x: u8) { Dec 19 16:06:44.030 INFO [stderr] 225 | | // todo Dec 19 16:06:44.030 INFO [stderr] 226 | | } Dec 19 16:06:44.031 INFO [stderr] | |_____^ Dec 19 16:06:44.031 INFO [stderr] Dec 19 16:06:44.031 INFO [stderr] warning: method `LDT` should have a snake case name such as `ldt` Dec 19 16:06:44.031 INFO [stderr] --> src/cpu.rs:227:5 Dec 19 16:06:44.031 INFO [stderr] | Dec 19 16:06:44.031 INFO [stderr] 227 | / fn LDT(&mut self, x: u8) { Dec 19 16:06:44.031 INFO [stderr] 228 | | let dt = self.dt; Dec 19 16:06:44.031 INFO [stderr] 229 | | self.write_register(x, dt); Dec 19 16:06:44.031 INFO [stderr] 230 | | } Dec 19 16:06:44.031 INFO [stderr] | |_____^ Dec 19 16:06:44.031 INFO [stderr] Dec 19 16:06:44.031 INFO [stderr] warning: method `LDK` should have a snake case name such as `ldk` Dec 19 16:06:44.031 INFO [stderr] --> src/cpu.rs:231:5 Dec 19 16:06:44.031 INFO [stderr] | Dec 19 16:06:44.031 INFO [stderr] 231 | / fn LDK(&mut self, x: u8) { Dec 19 16:06:44.031 INFO [stderr] 232 | | // toddo Dec 19 16:06:44.031 INFO [stderr] 233 | | } Dec 19 16:06:44.031 INFO [stderr] | |_____^ Dec 19 16:06:44.031 INFO [stderr] Dec 19 16:06:44.031 INFO [stderr] warning: method `LDT2` should have a snake case name such as `ldt2` Dec 19 16:06:44.031 INFO [stderr] --> src/cpu.rs:234:5 Dec 19 16:06:44.031 INFO [stderr] | Dec 19 16:06:44.031 INFO [stderr] 234 | / fn LDT2(&mut self, x: u8) { Dec 19 16:06:44.031 INFO [stderr] 235 | | self.dt = self.read_register(x); Dec 19 16:06:44.031 INFO [stderr] 236 | | } Dec 19 16:06:44.031 INFO [stderr] | |_____^ Dec 19 16:06:44.031 INFO [stderr] Dec 19 16:06:44.031 INFO [stderr] warning: method `LDS` should have a snake case name such as `lds` Dec 19 16:06:44.031 INFO [stderr] --> src/cpu.rs:237:5 Dec 19 16:06:44.031 INFO [stderr] | Dec 19 16:06:44.031 INFO [stderr] 237 | / fn LDS(&mut self, x: u8) { Dec 19 16:06:44.031 INFO [stderr] 238 | | self.st = self.read_register(x); Dec 19 16:06:44.031 INFO [stderr] 239 | | } Dec 19 16:06:44.031 INFO [stderr] | |_____^ Dec 19 16:06:44.031 INFO [stderr] Dec 19 16:06:44.031 INFO [stderr] warning: method `ADDI` should have a snake case name such as `addi` Dec 19 16:06:44.031 INFO [stderr] --> src/cpu.rs:240:5 Dec 19 16:06:44.031 INFO [stderr] | Dec 19 16:06:44.031 INFO [stderr] 240 | / fn ADDI(&mut self, x: u8) { Dec 19 16:06:44.031 INFO [stderr] 241 | | self.i += self.read_register(x) as u16; Dec 19 16:06:44.031 INFO [stderr] 242 | | } Dec 19 16:06:44.031 INFO [stderr] | |_____^ Dec 19 16:06:44.031 INFO [stderr] Dec 19 16:06:44.031 INFO [stderr] warning: method `LDD` should have a snake case name such as `ldd` Dec 19 16:06:44.031 INFO [stderr] --> src/cpu.rs:243:5 Dec 19 16:06:44.031 INFO [stderr] | Dec 19 16:06:44.031 INFO [stderr] 243 | / fn LDD(&mut self, x: u8) { Dec 19 16:06:44.031 INFO [stderr] 244 | | // todo Dec 19 16:06:44.031 INFO [stderr] 245 | | } Dec 19 16:06:44.031 INFO [stderr] | |_____^ Dec 19 16:06:44.031 INFO [stderr] Dec 19 16:06:44.031 INFO [stderr] warning: method `LDB` should have a snake case name such as `ldb` Dec 19 16:06:44.031 INFO [stderr] --> src/cpu.rs:246:5 Dec 19 16:06:44.031 INFO [stderr] | Dec 19 16:06:44.031 INFO [stderr] 246 | / fn LDB(&mut self, x: u8) { Dec 19 16:06:44.031 INFO [stderr] 247 | | let xval = self.read_register(x); Dec 19 16:06:44.031 INFO [stderr] 248 | | let c = xval / 100; Dec 19 16:06:44.031 INFO [stderr] 249 | | let d = (xval - c * 100) / 10; Dec 19 16:06:44.031 INFO [stderr] ... | Dec 19 16:06:44.031 INFO [stderr] 255 | | self.i += 2; Dec 19 16:06:44.031 INFO [stderr] 256 | | } Dec 19 16:06:44.031 INFO [stderr] | |_____^ Dec 19 16:06:44.031 INFO [stderr] Dec 19 16:06:44.031 INFO [stderr] warning: method `STR` should have a snake case name such as `str` Dec 19 16:06:44.031 INFO [stderr] --> src/cpu.rs:257:5 Dec 19 16:06:44.031 INFO [stderr] | Dec 19 16:06:44.031 INFO [stderr] 257 | / fn STR(&mut self, x: u8) { Dec 19 16:06:44.031 INFO [stderr] 258 | | let addr = self.i; Dec 19 16:06:44.031 INFO [stderr] 259 | | for reg in 0..x { Dec 19 16:06:44.031 INFO [stderr] 260 | | let val = self.read_register(reg); Dec 19 16:06:44.031 INFO [stderr] ... | Dec 19 16:06:44.031 INFO [stderr] 263 | | self.i += x as u16 + 1; Dec 19 16:06:44.031 INFO [stderr] 264 | | } Dec 19 16:06:44.031 INFO [stderr] | |_____^ Dec 19 16:06:44.031 INFO [stderr] Dec 19 16:06:44.031 INFO [stderr] warning: method `LDR` should have a snake case name such as `ldr` Dec 19 16:06:44.031 INFO [stderr] --> src/cpu.rs:265:5 Dec 19 16:06:44.031 INFO [stderr] | Dec 19 16:06:44.031 INFO [stderr] 265 | / fn LDR(&mut self, x: u8) { Dec 19 16:06:44.031 INFO [stderr] 266 | | for reg in 0..x { Dec 19 16:06:44.031 INFO [stderr] 267 | | let val = self.read_memory(self.i + x as u16); Dec 19 16:06:44.031 INFO [stderr] 268 | | self.write_register(reg, val); Dec 19 16:06:44.031 INFO [stderr] 269 | | } Dec 19 16:06:44.032 INFO [stderr] 270 | | self.i += x as u16; Dec 19 16:06:44.032 INFO [stderr] 271 | | } Dec 19 16:06:44.032 INFO [stderr] | |_____^ Dec 19 16:06:44.032 INFO [stderr] Dec 19 16:06:44.032 INFO [stderr] warning: variable `Vx` should have a snake case name such as `vx` Dec 19 16:06:44.032 INFO [stderr] --> src/cpu.rs:287:13 Dec 19 16:06:44.032 INFO [stderr] | Dec 19 16:06:44.032 INFO [stderr] 287 | let (c, Vx, Vy, nibble) = word_to_nibbles(word); Dec 19 16:06:44.032 INFO [stderr] | ^^ Dec 19 16:06:44.032 INFO [stderr] Dec 19 16:06:44.032 INFO [stderr] warning: variable `Vy` should have a snake case name such as `vy` Dec 19 16:06:44.032 INFO [stderr] --> src/cpu.rs:287:17 Dec 19 16:06:44.032 INFO [stderr] | Dec 19 16:06:44.032 INFO [stderr] 287 | let (c, Vx, Vy, nibble) = word_to_nibbles(word); Dec 19 16:06:44.032 INFO [stderr] | ^^ Dec 19 16:06:44.032 INFO [stderr] Dec 19 16:06:44.032 INFO [stderr] warning: denote infinite loops with `loop { ... }` Dec 19 16:06:44.032 INFO [stderr] --> src/main.rs:12:5 Dec 19 16:06:44.032 INFO [stderr] | Dec 19 16:06:44.032 INFO [stderr] 12 | while true { Dec 19 16:06:44.032 INFO [stderr] | ^^^^^^^^^^ help: use `loop` Dec 19 16:06:44.032 INFO [stderr] | Dec 19 16:06:44.032 INFO [stderr] = note: #[warn(while_true)] on by default Dec 19 16:06:44.032 INFO [stderr] Dec 19 16:06:44.039 INFO [stderr] warning: variable `Vx` should have a snake case name such as `vx` Dec 19 16:06:44.040 INFO [stderr] --> src/cpu.rs:66:17 Dec 19 16:06:44.040 INFO [stderr] | Dec 19 16:06:44.040 INFO [stderr] 66 | let (c, Vx, Vy, nibble) = word_to_nibbles(word); Dec 19 16:06:44.040 INFO [stderr] | ^^ Dec 19 16:06:44.040 INFO [stderr] | Dec 19 16:06:44.040 INFO [stderr] = note: #[warn(non_snake_case)] on by default Dec 19 16:06:44.040 INFO [stderr] Dec 19 16:06:44.040 INFO [stderr] warning: variable `Vy` should have a snake case name such as `vy` Dec 19 16:06:44.040 INFO [stderr] --> src/cpu.rs:66:21 Dec 19 16:06:44.040 INFO [stderr] | Dec 19 16:06:44.040 INFO [stderr] 66 | let (c, Vx, Vy, nibble) = word_to_nibbles(word); Dec 19 16:06:44.040 INFO [stderr] | ^^ Dec 19 16:06:44.040 INFO [stderr] Dec 19 16:06:44.040 INFO [stderr] warning: method `SYS` should have a snake case name such as `sys` Dec 19 16:06:44.040 INFO [stderr] --> src/cpu.rs:109:5 Dec 19 16:06:44.040 INFO [stderr] | Dec 19 16:06:44.040 INFO [stderr] 109 | fn SYS(&self, addr: u16) {} Dec 19 16:06:44.040 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 19 16:06:44.040 INFO [stderr] Dec 19 16:06:44.041 INFO [stderr] warning: method `CLS` should have a snake case name such as `cls` Dec 19 16:06:44.041 INFO [stderr] --> src/cpu.rs:110:5 Dec 19 16:06:44.041 INFO [stderr] | Dec 19 16:06:44.041 INFO [stderr] 110 | fn CLS(&self) {} Dec 19 16:06:44.041 INFO [stderr] | ^^^^^^^^^^^^^^^^ Dec 19 16:06:44.041 INFO [stderr] Dec 19 16:06:44.041 INFO [stderr] warning: method `RET` should have a snake case name such as `ret` Dec 19 16:06:44.041 INFO [stderr] --> src/cpu.rs:111:5 Dec 19 16:06:44.041 INFO [stderr] | Dec 19 16:06:44.041 INFO [stderr] 111 | / fn RET(&mut self) { Dec 19 16:06:44.041 INFO [stderr] 112 | | self.pc = self.pop_stack(); Dec 19 16:06:44.041 INFO [stderr] 113 | | } Dec 19 16:06:44.041 INFO [stderr] | |_____^ Dec 19 16:06:44.041 INFO [stderr] Dec 19 16:06:44.041 INFO [stderr] warning: method `JP` should have a snake case name such as `jp` Dec 19 16:06:44.041 INFO [stderr] --> src/cpu.rs:114:5 Dec 19 16:06:44.041 INFO [stderr] | Dec 19 16:06:44.041 INFO [stderr] 114 | / fn JP(&mut self, addr: u16) { Dec 19 16:06:44.041 INFO [stderr] 115 | | self.pc = addr - 2; Dec 19 16:06:44.041 INFO [stderr] 116 | | } Dec 19 16:06:44.041 INFO [stderr] | |_____^ Dec 19 16:06:44.041 INFO [stderr] Dec 19 16:06:44.041 INFO [stderr] warning: method `CALL` should have a snake case name such as `call` Dec 19 16:06:44.041 INFO [stderr] --> src/cpu.rs:117:5 Dec 19 16:06:44.041 INFO [stderr] | Dec 19 16:06:44.041 INFO [stderr] 117 | / fn CALL(&mut self, addr: u16) { Dec 19 16:06:44.041 INFO [stderr] 118 | | let pc = self.pc; Dec 19 16:06:44.041 INFO [stderr] 119 | | self.push_stack(pc); Dec 19 16:06:44.041 INFO [stderr] 120 | | self.pc = addr - 2; Dec 19 16:06:44.041 INFO [stderr] 121 | | } Dec 19 16:06:44.041 INFO [stderr] | |_____^ Dec 19 16:06:44.041 INFO [stderr] Dec 19 16:06:44.041 INFO [stderr] warning: method `SE` should have a snake case name such as `se` Dec 19 16:06:44.041 INFO [stderr] --> src/cpu.rs:122:5 Dec 19 16:06:44.041 INFO [stderr] | Dec 19 16:06:44.041 INFO [stderr] 122 | / fn SE(&mut self, x: u8, byte: u8) { Dec 19 16:06:44.041 INFO [stderr] 123 | | let xval = self.read_register(x); Dec 19 16:06:44.041 INFO [stderr] 124 | | if xval == byte { Dec 19 16:06:44.041 INFO [stderr] 125 | | self.pc += 2; Dec 19 16:06:44.041 INFO [stderr] 126 | | } Dec 19 16:06:44.041 INFO [stderr] 127 | | } Dec 19 16:06:44.041 INFO [stderr] | |_____^ Dec 19 16:06:44.041 INFO [stderr] Dec 19 16:06:44.041 INFO [stderr] warning: method `SNE` should have a snake case name such as `sne` Dec 19 16:06:44.041 INFO [stderr] --> src/cpu.rs:128:5 Dec 19 16:06:44.041 INFO [stderr] | Dec 19 16:06:44.041 INFO [stderr] 128 | / fn SNE(&mut self, x: u8, byte: u8) { Dec 19 16:06:44.041 INFO [stderr] 129 | | let xval = self.read_register(x); Dec 19 16:06:44.041 INFO [stderr] 130 | | if xval != byte { Dec 19 16:06:44.041 INFO [stderr] 131 | | self.pc += 2; Dec 19 16:06:44.041 INFO [stderr] 132 | | } Dec 19 16:06:44.041 INFO [stderr] 133 | | } Dec 19 16:06:44.041 INFO [stderr] | |_____^ Dec 19 16:06:44.041 INFO [stderr] Dec 19 16:06:44.041 INFO [stderr] warning: method `SE2` should have a snake case name such as `se2` Dec 19 16:06:44.041 INFO [stderr] --> src/cpu.rs:134:5 Dec 19 16:06:44.041 INFO [stderr] | Dec 19 16:06:44.041 INFO [stderr] 134 | / fn SE2(&mut self, x: u8, y: u8) { Dec 19 16:06:44.041 INFO [stderr] 135 | | let xval = self.read_register(x); Dec 19 16:06:44.041 INFO [stderr] 136 | | let yval = self.read_register(y); Dec 19 16:06:44.041 INFO [stderr] 137 | | if xval == yval { Dec 19 16:06:44.041 INFO [stderr] 138 | | self.pc += 2; Dec 19 16:06:44.041 INFO [stderr] 139 | | } Dec 19 16:06:44.041 INFO [stderr] 140 | | } Dec 19 16:06:44.041 INFO [stderr] | |_____^ Dec 19 16:06:44.041 INFO [stderr] Dec 19 16:06:44.041 INFO [stderr] warning: method `LD` should have a snake case name such as `ld` Dec 19 16:06:44.041 INFO [stderr] --> src/cpu.rs:141:5 Dec 19 16:06:44.041 INFO [stderr] | Dec 19 16:06:44.041 INFO [stderr] 141 | / fn LD(&mut self, x: u8, byte: u8) { Dec 19 16:06:44.041 INFO [stderr] 142 | | self.write_register(x, byte); Dec 19 16:06:44.041 INFO [stderr] 143 | | } Dec 19 16:06:44.041 INFO [stderr] | |_____^ Dec 19 16:06:44.041 INFO [stderr] Dec 19 16:06:44.042 INFO [stderr] warning: method `ADD` should have a snake case name such as `add` Dec 19 16:06:44.042 INFO [stderr] --> src/cpu.rs:144:5 Dec 19 16:06:44.042 INFO [stderr] | Dec 19 16:06:44.042 INFO [stderr] 144 | / fn ADD(&mut self, x: u8, byte: u8) { Dec 19 16:06:44.042 INFO [stderr] 145 | | let xval = self.read_register(x); Dec 19 16:06:44.042 INFO [stderr] 146 | | self.write_register(x, xval + byte); Dec 19 16:06:44.042 INFO [stderr] 147 | | } Dec 19 16:06:44.042 INFO [stderr] | |_____^ Dec 19 16:06:44.042 INFO [stderr] Dec 19 16:06:44.042 INFO [stderr] warning: method `LD2` should have a snake case name such as `ld2` Dec 19 16:06:44.042 INFO [stderr] --> src/cpu.rs:148:5 Dec 19 16:06:44.042 INFO [stderr] | Dec 19 16:06:44.042 INFO [stderr] 148 | / fn LD2(&mut self, x: u8, y: u8) { Dec 19 16:06:44.042 INFO [stderr] 149 | | let yval = self.read_register(y); Dec 19 16:06:44.042 INFO [stderr] 150 | | self.write_register(x, yval); Dec 19 16:06:44.042 INFO [stderr] 151 | | } Dec 19 16:06:44.042 INFO [stderr] | |_____^ Dec 19 16:06:44.042 INFO [stderr] Dec 19 16:06:44.042 INFO [stderr] warning: method `OR` should have a snake case name such as `or` Dec 19 16:06:44.042 INFO [stderr] --> src/cpu.rs:152:5 Dec 19 16:06:44.042 INFO [stderr] | Dec 19 16:06:44.042 INFO [stderr] 152 | / fn OR(&mut self, x: u8, y: u8) { Dec 19 16:06:44.042 INFO [stderr] 153 | | let xval = self.read_register(x); Dec 19 16:06:44.042 INFO [stderr] 154 | | let yval = self.read_register(y); Dec 19 16:06:44.042 INFO [stderr] 155 | | self.write_register(x, xval | yval); Dec 19 16:06:44.042 INFO [stderr] 156 | | } Dec 19 16:06:44.042 INFO [stderr] | |_____^ Dec 19 16:06:44.042 INFO [stderr] Dec 19 16:06:44.042 INFO [stderr] warning: method `AND` should have a snake case name such as `and` Dec 19 16:06:44.042 INFO [stderr] --> src/cpu.rs:157:5 Dec 19 16:06:44.042 INFO [stderr] | Dec 19 16:06:44.042 INFO [stderr] 157 | / fn AND(&mut self, x: u8, y: u8) { Dec 19 16:06:44.042 INFO [stderr] 158 | | let xval = self.read_register(x); Dec 19 16:06:44.042 INFO [stderr] 159 | | let yval = self.read_register(y); Dec 19 16:06:44.042 INFO [stderr] 160 | | self.write_register(x, xval & yval); Dec 19 16:06:44.042 INFO [stderr] 161 | | } Dec 19 16:06:44.042 INFO [stderr] | |_____^ Dec 19 16:06:44.042 INFO [stderr] Dec 19 16:06:44.042 INFO [stderr] warning: method `XOR` should have a snake case name such as `xor` Dec 19 16:06:44.042 INFO [stderr] --> src/cpu.rs:162:5 Dec 19 16:06:44.042 INFO [stderr] | Dec 19 16:06:44.042 INFO [stderr] 162 | / fn XOR(&mut self, x: u8, y: u8) { Dec 19 16:06:44.042 INFO [stderr] 163 | | let xval = self.read_register(x); Dec 19 16:06:44.042 INFO [stderr] 164 | | let yval = self.read_register(y); Dec 19 16:06:44.042 INFO [stderr] 165 | | self.write_register(x, xval ^ yval); Dec 19 16:06:44.042 INFO [stderr] 166 | | } Dec 19 16:06:44.042 INFO [stderr] | |_____^ Dec 19 16:06:44.042 INFO [stderr] Dec 19 16:06:44.044 INFO [stderr] warning: method `ADD2` should have a snake case name such as `add2` Dec 19 16:06:44.044 INFO [stderr] --> src/cpu.rs:167:5 Dec 19 16:06:44.044 INFO [stderr] | Dec 19 16:06:44.044 INFO [stderr] 167 | / fn ADD2(&mut self, x: u8, y: u8) { Dec 19 16:06:44.044 INFO [stderr] 168 | | let xval = self.read_register(x); Dec 19 16:06:44.044 INFO [stderr] 169 | | let yval = self.read_register(y); Dec 19 16:06:44.044 INFO [stderr] 170 | | let res: u16 = (xval as u16) + (yval as u16); Dec 19 16:06:44.044 INFO [stderr] ... | Dec 19 16:06:44.044 INFO [stderr] 173 | | self.write_register(0xF, (carry != 0) as u8); Dec 19 16:06:44.044 INFO [stderr] 174 | | } Dec 19 16:06:44.044 INFO [stderr] | |_____^ Dec 19 16:06:44.044 INFO [stderr] Dec 19 16:06:44.044 INFO [stderr] warning: method `SUB` should have a snake case name such as `sub` Dec 19 16:06:44.044 INFO [stderr] --> src/cpu.rs:175:5 Dec 19 16:06:44.044 INFO [stderr] | Dec 19 16:06:44.044 INFO [stderr] 175 | / fn SUB(&mut self, x: u8, y: u8) { Dec 19 16:06:44.044 INFO [stderr] 176 | | let xval = self.read_register(x); Dec 19 16:06:44.044 INFO [stderr] 177 | | let yval = self.read_register(y); Dec 19 16:06:44.044 INFO [stderr] 178 | | let res = xval - yval; Dec 19 16:06:44.044 INFO [stderr] ... | Dec 19 16:06:44.044 INFO [stderr] 181 | | self.write_register(0xF, borrow); Dec 19 16:06:44.044 INFO [stderr] 182 | | } Dec 19 16:06:44.044 INFO [stderr] | |_____^ Dec 19 16:06:44.044 INFO [stderr] Dec 19 16:06:44.044 INFO [stderr] warning: method `SHR` should have a snake case name such as `shr` Dec 19 16:06:44.044 INFO [stderr] --> src/cpu.rs:183:5 Dec 19 16:06:44.044 INFO [stderr] | Dec 19 16:06:44.044 INFO [stderr] 183 | / fn SHR(&mut self, x: u8, y: u8) { Dec 19 16:06:44.044 INFO [stderr] 184 | | let yval = self.read_register(y); Dec 19 16:06:44.044 INFO [stderr] 185 | | self.write_register(x, yval >> 1); Dec 19 16:06:44.044 INFO [stderr] 186 | | self.write_register(0xF, yval & 0x01); Dec 19 16:06:44.044 INFO [stderr] 187 | | } Dec 19 16:06:44.045 INFO [stderr] | |_____^ Dec 19 16:06:44.045 INFO [stderr] Dec 19 16:06:44.045 INFO [stderr] warning: method `SUBN` should have a snake case name such as `subn` Dec 19 16:06:44.045 INFO [stderr] --> src/cpu.rs:188:5 Dec 19 16:06:44.045 INFO [stderr] | Dec 19 16:06:44.045 INFO [stderr] 188 | / fn SUBN(&mut self, x: u8, y: u8) { Dec 19 16:06:44.045 INFO [stderr] 189 | | let xval = self.read_register(x); Dec 19 16:06:44.045 INFO [stderr] 190 | | let yval = self.read_register(y); Dec 19 16:06:44.045 INFO [stderr] 191 | | let res = yval - xval; Dec 19 16:06:44.045 INFO [stderr] ... | Dec 19 16:06:44.045 INFO [stderr] 194 | | self.write_register(0xF, borrow); Dec 19 16:06:44.045 INFO [stderr] 195 | | } Dec 19 16:06:44.045 INFO [stderr] | |_____^ Dec 19 16:06:44.045 INFO [stderr] Dec 19 16:06:44.045 INFO [stderr] warning: method `SHL` should have a snake case name such as `shl` Dec 19 16:06:44.045 INFO [stderr] --> src/cpu.rs:196:5 Dec 19 16:06:44.045 INFO [stderr] | Dec 19 16:06:44.045 INFO [stderr] 196 | / fn SHL(&mut self, x: u8, y: u8) { Dec 19 16:06:44.045 INFO [stderr] 197 | | let yval = self.read_register(y); Dec 19 16:06:44.045 INFO [stderr] 198 | | self.write_register(x, yval << 1); Dec 19 16:06:44.045 INFO [stderr] 199 | | self.write_register(0xF, yval >> 7); Dec 19 16:06:44.045 INFO [stderr] 200 | | } Dec 19 16:06:44.045 INFO [stderr] | |_____^ Dec 19 16:06:44.045 INFO [stderr] Dec 19 16:06:44.045 INFO [stderr] warning: method `SNE2` should have a snake case name such as `sne2` Dec 19 16:06:44.045 INFO [stderr] --> src/cpu.rs:201:5 Dec 19 16:06:44.045 INFO [stderr] | Dec 19 16:06:44.045 INFO [stderr] 201 | / fn SNE2(&mut self, x: u8, y: u8) { Dec 19 16:06:44.045 INFO [stderr] 202 | | let xval = self.read_register(x); Dec 19 16:06:44.045 INFO [stderr] 203 | | let yval = self.read_register(y); Dec 19 16:06:44.045 INFO [stderr] 204 | | if xval != yval { Dec 19 16:06:44.045 INFO [stderr] 205 | | self.pc += 2; Dec 19 16:06:44.045 INFO [stderr] 206 | | } Dec 19 16:06:44.045 INFO [stderr] 207 | | } Dec 19 16:06:44.045 INFO [stderr] | |_____^ Dec 19 16:06:44.045 INFO [stderr] Dec 19 16:06:44.045 INFO [stderr] warning: method `LDI` should have a snake case name such as `ldi` Dec 19 16:06:44.045 INFO [stderr] --> src/cpu.rs:208:5 Dec 19 16:06:44.045 INFO [stderr] | Dec 19 16:06:44.045 INFO [stderr] 208 | / fn LDI(&mut self, addr: u16) { Dec 19 16:06:44.045 INFO [stderr] 209 | | self.i = addr; Dec 19 16:06:44.045 INFO [stderr] 210 | | } Dec 19 16:06:44.045 INFO [stderr] | |_____^ Dec 19 16:06:44.045 INFO [stderr] Dec 19 16:06:44.045 INFO [stderr] warning: method `JPV0` should have a snake case name such as `jpv0` Dec 19 16:06:44.045 INFO [stderr] --> src/cpu.rs:211:5 Dec 19 16:06:44.045 INFO [stderr] | Dec 19 16:06:44.045 INFO [stderr] 211 | / fn JPV0(&mut self, addr: u16) { Dec 19 16:06:44.045 INFO [stderr] 212 | | self.pc = self.read_register(0x0) as u16 + addr - 2; Dec 19 16:06:44.045 INFO [stderr] 213 | | } Dec 19 16:06:44.045 INFO [stderr] | |_____^ Dec 19 16:06:44.045 INFO [stderr] Dec 19 16:06:44.045 INFO [stderr] warning: method `RND` should have a snake case name such as `rnd` Dec 19 16:06:44.045 INFO [stderr] --> src/cpu.rs:214:5 Dec 19 16:06:44.045 INFO [stderr] | Dec 19 16:06:44.045 INFO [stderr] 214 | / fn RND(&mut self, x: u8, byte: u8) { Dec 19 16:06:44.045 INFO [stderr] 215 | | let rnd = 0; Dec 19 16:06:44.045 INFO [stderr] 216 | | self.write_register(x, rnd & byte); Dec 19 16:06:44.045 INFO [stderr] 217 | | } Dec 19 16:06:44.045 INFO [stderr] | |_____^ Dec 19 16:06:44.045 INFO [stderr] Dec 19 16:06:44.045 INFO [stderr] warning: method `DRW` should have a snake case name such as `drw` Dec 19 16:06:44.045 INFO [stderr] --> src/cpu.rs:218:5 Dec 19 16:06:44.045 INFO [stderr] | Dec 19 16:06:44.045 INFO [stderr] 218 | / fn DRW(&mut self, x: u8, y: u8, nibble: u8) { Dec 19 16:06:44.045 INFO [stderr] 219 | | // todo Dec 19 16:06:44.045 INFO [stderr] 220 | | } Dec 19 16:06:44.045 INFO [stderr] | |_____^ Dec 19 16:06:44.045 INFO [stderr] Dec 19 16:06:44.045 INFO [stderr] warning: method `SKP` should have a snake case name such as `skp` Dec 19 16:06:44.045 INFO [stderr] --> src/cpu.rs:221:5 Dec 19 16:06:44.045 INFO [stderr] | Dec 19 16:06:44.045 INFO [stderr] 221 | / fn SKP(&mut self, x: u8) { Dec 19 16:06:44.045 INFO [stderr] 222 | | // todo Dec 19 16:06:44.045 INFO [stderr] 223 | | } Dec 19 16:06:44.045 INFO [stderr] | |_____^ Dec 19 16:06:44.045 INFO [stderr] Dec 19 16:06:44.045 INFO [stderr] warning: method `SKNP` should have a snake case name such as `sknp` Dec 19 16:06:44.045 INFO [stderr] --> src/cpu.rs:224:5 Dec 19 16:06:44.045 INFO [stderr] | Dec 19 16:06:44.045 INFO [stderr] 224 | / fn SKNP(&mut self, x: u8) { Dec 19 16:06:44.045 INFO [stderr] 225 | | // todo Dec 19 16:06:44.045 INFO [stderr] 226 | | } Dec 19 16:06:44.046 INFO [stderr] | |_____^ Dec 19 16:06:44.046 INFO [stderr] Dec 19 16:06:44.046 INFO [stderr] warning: method `LDT` should have a snake case name such as `ldt` Dec 19 16:06:44.046 INFO [stderr] --> src/cpu.rs:227:5 Dec 19 16:06:44.046 INFO [stderr] | Dec 19 16:06:44.046 INFO [stderr] 227 | / fn LDT(&mut self, x: u8) { Dec 19 16:06:44.046 INFO [stderr] 228 | | let dt = self.dt; Dec 19 16:06:44.046 INFO [stderr] 229 | | self.write_register(x, dt); Dec 19 16:06:44.046 INFO [stderr] 230 | | } Dec 19 16:06:44.046 INFO [stderr] | |_____^ Dec 19 16:06:44.046 INFO [stderr] Dec 19 16:06:44.046 INFO [stderr] warning: method `LDK` should have a snake case name such as `ldk` Dec 19 16:06:44.046 INFO [stderr] --> src/cpu.rs:231:5 Dec 19 16:06:44.046 INFO [stderr] | Dec 19 16:06:44.046 INFO [stderr] 231 | / fn LDK(&mut self, x: u8) { Dec 19 16:06:44.046 INFO [stderr] 232 | | // toddo Dec 19 16:06:44.046 INFO [stderr] 233 | | } Dec 19 16:06:44.046 INFO [stderr] | |_____^ Dec 19 16:06:44.046 INFO [stderr] Dec 19 16:06:44.046 INFO [stderr] warning: method `LDT2` should have a snake case name such as `ldt2` Dec 19 16:06:44.046 INFO [stderr] --> src/cpu.rs:234:5 Dec 19 16:06:44.046 INFO [stderr] | Dec 19 16:06:44.046 INFO [stderr] 234 | / fn LDT2(&mut self, x: u8) { Dec 19 16:06:44.046 INFO [stderr] 235 | | self.dt = self.read_register(x); Dec 19 16:06:44.046 INFO [stderr] 236 | | } Dec 19 16:06:44.046 INFO [stderr] | |_____^ Dec 19 16:06:44.046 INFO [stderr] Dec 19 16:06:44.046 INFO [stderr] warning: method `LDS` should have a snake case name such as `lds` Dec 19 16:06:44.046 INFO [stderr] --> src/cpu.rs:237:5 Dec 19 16:06:44.046 INFO [stderr] | Dec 19 16:06:44.046 INFO [stderr] 237 | / fn LDS(&mut self, x: u8) { Dec 19 16:06:44.046 INFO [stderr] 238 | | self.st = self.read_register(x); Dec 19 16:06:44.046 INFO [stderr] 239 | | } Dec 19 16:06:44.046 INFO [stderr] | |_____^ Dec 19 16:06:44.046 INFO [stderr] Dec 19 16:06:44.046 INFO [stderr] warning: method `ADDI` should have a snake case name such as `addi` Dec 19 16:06:44.046 INFO [stderr] --> src/cpu.rs:240:5 Dec 19 16:06:44.046 INFO [stderr] | Dec 19 16:06:44.046 INFO [stderr] 240 | / fn ADDI(&mut self, x: u8) { Dec 19 16:06:44.046 INFO [stderr] 241 | | self.i += self.read_register(x) as u16; Dec 19 16:06:44.046 INFO [stderr] 242 | | } Dec 19 16:06:44.046 INFO [stderr] | |_____^ Dec 19 16:06:44.046 INFO [stderr] Dec 19 16:06:44.046 INFO [stderr] warning: method `LDD` should have a snake case name such as `ldd` Dec 19 16:06:44.046 INFO [stderr] --> src/cpu.rs:243:5 Dec 19 16:06:44.046 INFO [stderr] | Dec 19 16:06:44.046 INFO [stderr] 243 | / fn LDD(&mut self, x: u8) { Dec 19 16:06:44.046 INFO [stderr] 244 | | // todo Dec 19 16:06:44.046 INFO [stderr] 245 | | } Dec 19 16:06:44.046 INFO [stderr] | |_____^ Dec 19 16:06:44.046 INFO [stderr] Dec 19 16:06:44.046 INFO [stderr] warning: method `LDB` should have a snake case name such as `ldb` Dec 19 16:06:44.046 INFO [stderr] --> src/cpu.rs:246:5 Dec 19 16:06:44.046 INFO [stderr] | Dec 19 16:06:44.046 INFO [stderr] 246 | / fn LDB(&mut self, x: u8) { Dec 19 16:06:44.046 INFO [stderr] 247 | | let xval = self.read_register(x); Dec 19 16:06:44.046 INFO [stderr] 248 | | let c = xval / 100; Dec 19 16:06:44.046 INFO [stderr] 249 | | let d = (xval - c * 100) / 10; Dec 19 16:06:44.046 INFO [stderr] ... | Dec 19 16:06:44.046 INFO [stderr] 255 | | self.i += 2; Dec 19 16:06:44.046 INFO [stderr] 256 | | } Dec 19 16:06:44.046 INFO [stderr] | |_____^ Dec 19 16:06:44.046 INFO [stderr] Dec 19 16:06:44.046 INFO [stderr] warning: method `STR` should have a snake case name such as `str` Dec 19 16:06:44.046 INFO [stderr] --> src/cpu.rs:257:5 Dec 19 16:06:44.046 INFO [stderr] | Dec 19 16:06:44.046 INFO [stderr] 257 | / fn STR(&mut self, x: u8) { Dec 19 16:06:44.046 INFO [stderr] 258 | | let addr = self.i; Dec 19 16:06:44.046 INFO [stderr] 259 | | for reg in 0..x { Dec 19 16:06:44.046 INFO [stderr] 260 | | let val = self.read_register(reg); Dec 19 16:06:44.046 INFO [stderr] ... | Dec 19 16:06:44.046 INFO [stderr] 263 | | self.i += x as u16 + 1; Dec 19 16:06:44.046 INFO [stderr] 264 | | } Dec 19 16:06:44.046 INFO [stderr] | |_____^ Dec 19 16:06:44.046 INFO [stderr] Dec 19 16:06:44.046 INFO [stderr] warning: method `LDR` should have a snake case name such as `ldr` Dec 19 16:06:44.046 INFO [stderr] --> src/cpu.rs:265:5 Dec 19 16:06:44.046 INFO [stderr] | Dec 19 16:06:44.046 INFO [stderr] 265 | / fn LDR(&mut self, x: u8) { Dec 19 16:06:44.046 INFO [stderr] 266 | | for reg in 0..x { Dec 19 16:06:44.046 INFO [stderr] 267 | | let val = self.read_memory(self.i + x as u16); Dec 19 16:06:44.046 INFO [stderr] 268 | | self.write_register(reg, val); Dec 19 16:06:44.046 INFO [stderr] 269 | | } Dec 19 16:06:44.046 INFO [stderr] 270 | | self.i += x as u16; Dec 19 16:06:44.046 INFO [stderr] 271 | | } Dec 19 16:06:44.047 INFO [stderr] | |_____^ Dec 19 16:06:44.047 INFO [stderr] Dec 19 16:06:44.047 INFO [stderr] warning: variable `Vx` should have a snake case name such as `vx` Dec 19 16:06:44.047 INFO [stderr] --> src/cpu.rs:287:13 Dec 19 16:06:44.047 INFO [stderr] | Dec 19 16:06:44.047 INFO [stderr] 287 | let (c, Vx, Vy, nibble) = word_to_nibbles(word); Dec 19 16:06:44.047 INFO [stderr] | ^^ Dec 19 16:06:44.047 INFO [stderr] Dec 19 16:06:44.047 INFO [stderr] warning: variable `Vy` should have a snake case name such as `vy` Dec 19 16:06:44.047 INFO [stderr] --> src/cpu.rs:287:17 Dec 19 16:06:44.047 INFO [stderr] | Dec 19 16:06:44.047 INFO [stderr] 287 | let (c, Vx, Vy, nibble) = word_to_nibbles(word); Dec 19 16:06:44.047 INFO [stderr] | ^^ Dec 19 16:06:44.047 INFO [stderr] Dec 19 16:06:44.047 INFO [stderr] warning: denote infinite loops with `loop { ... }` Dec 19 16:06:44.047 INFO [stderr] --> src/main.rs:12:5 Dec 19 16:06:44.047 INFO [stderr] | Dec 19 16:06:44.047 INFO [stderr] 12 | while true { Dec 19 16:06:44.047 INFO [stderr] | ^^^^^^^^^^ help: use `loop` Dec 19 16:06:44.047 INFO [stderr] | Dec 19 16:06:44.047 INFO [stderr] = note: #[warn(while_true)] on by default Dec 19 16:06:44.047 INFO [stderr] Dec 19 16:06:44.058 INFO [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.33s Dec 19 16:06:44.410 INFO running `"docker" "inspect" "55704bac4a3e0622a9b8b091b1f11fcfd95617caec34502356150a58cb19947d"` Dec 19 16:06:44.612 INFO running `"docker" "rm" "-f" "55704bac4a3e0622a9b8b091b1f11fcfd95617caec34502356150a58cb19947d"` Dec 19 16:06:44.960 INFO [stdout] 55704bac4a3e0622a9b8b091b1f11fcfd95617caec34502356150a58cb19947d