[INFO] updating cached repository patallen/RIP-8 [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/patallen/RIP-8 [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/patallen/RIP-8" "work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/patallen/RIP-8"` [INFO] [stderr] Cloning into 'work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/patallen/RIP-8'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/patallen/RIP-8" "work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/patallen/RIP-8"` [INFO] [stderr] Cloning into 'work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/patallen/RIP-8'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 418e27bc9f00fb6353adaac0d313ce8ca545af10 [INFO] sha for GitHub repo patallen/RIP-8: 418e27bc9f00fb6353adaac0d313ce8ca545af10 [INFO] validating manifest of patallen/RIP-8 on toolchain master#60960a260f7b5c695fd0717311d72ce62dd4eb43 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of patallen/RIP-8 on toolchain try#266783e4e09e4e9d5307c1c8e695659c58bbcac7 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing patallen/RIP-8 [INFO] finished frobbing patallen/RIP-8 [INFO] frobbed toml for patallen/RIP-8 written to work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/patallen/RIP-8/Cargo.toml [INFO] started frobbing patallen/RIP-8 [INFO] finished frobbing patallen/RIP-8 [INFO] frobbed toml for patallen/RIP-8 written to work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/patallen/RIP-8/Cargo.toml [INFO] crate patallen/RIP-8 already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+60960a260f7b5c695fd0717311d72ce62dd4eb43-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking patallen/RIP-8 against try#266783e4e09e4e9d5307c1c8e695659c58bbcac7 for pr-63376 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-63376/worker-3/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/patallen/RIP-8:/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" "+266783e4e09e4e9d5307c1c8e695659c58bbcac7-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 40433aa0957f2c0a4dcda17c6e2d7debb05ca68a2ed8fa6f5b6994455f661024 [INFO] running `"docker" "start" "-a" "40433aa0957f2c0a4dcda17c6e2d7debb05ca68a2ed8fa6f5b6994455f661024"` [INFO] [stderr] Checking lazy_static v0.2.5 [INFO] [stderr] Checking termion v1.3.0 [INFO] [stderr] Compiling miniz-sys v0.1.9 [INFO] [stderr] Checking serde_yaml v0.6.2 [INFO] [stderr] Checking serde-value v0.4.0 [INFO] [stderr] Checking sdl2 v0.27.3 [INFO] [stderr] Checking flate2 v0.2.17 [INFO] [stderr] Checking log4rs v0.6.2 [INFO] [stderr] Checking chip8 v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: variant `SysAddressJump_0x0NNN` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | SysAddressJump_0x0NNN, // Jump to address NNN [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SysAddressJump0x0nnn` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `ClearDisplay_0x00E0` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | ClearDisplay_0x00E0, // Clear the display [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ClearDisplay0x00e0` [INFO] [stderr] [INFO] [stderr] warning: variant `RetFromSubroutine_0x00EE` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | RetFromSubroutine_0x00EE, // Return from Subroutine [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RetFromSubroutine0x00ee` [INFO] [stderr] [INFO] [stderr] warning: variant `JumpLocation_0x1NNN` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | JumpLocation_0x1NNN, // Jump to address: Set PC to 0xNNN [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `JumpLocation0x1nnn` [INFO] [stderr] [INFO] [stderr] warning: variant `CallSubroutine_0x2NNN` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | CallSubroutine_0x2NNN, // Call Subroutine: Set PC to 0xNNN, set sp += 1, set pc = NNN [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CallSubroutine0x2nnn` [INFO] [stderr] [INFO] [stderr] warning: variant `SkipInstrIfVxEqPL_0x3XNN` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | SkipInstrIfVxEqPL_0x3XNN, // Skip Instruction if v[x] == 0xNN [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SkipInstrIfVxEqPl0x3xnn` [INFO] [stderr] [INFO] [stderr] warning: variant `SkipInstrIfVxNotEqPL_0x4XNN` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | SkipInstrIfVxNotEqPL_0x4XNN, // Skip Instruction if v[x] != 0xNN [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SkipInstrIfVxNotEqPl0x4xnn` [INFO] [stderr] [INFO] [stderr] warning: variant `SkipInstrIfVxVy_0x5XY0` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | SkipInstrIfVxVy_0x5XY0, // Skip Instruction if v[x] == v[y] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SkipInstrIfVxVy0x5xy0` [INFO] [stderr] [INFO] [stderr] warning: variant `SetVxToPL_0x6XNN` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | SetVxToPL_0x6XNN, // Set v[x] to 0xNN [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetVxToPl0x6xnn` [INFO] [stderr] [INFO] [stderr] warning: variant `IncrementVxByPL_0x7XNN` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | IncrementVxByPL_0x7XNN, // Increment v[x] by 0xNN [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `IncrementVxByPl0x7xnn` [INFO] [stderr] [INFO] [stderr] warning: variant `SetVxToVy_0x8XY0` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | SetVxToVy_0x8XY0, // Set v[x] to v[y](xx) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetVxToVy0x8xy0` [INFO] [stderr] [INFO] [stderr] warning: variant `SetVxToVxORVy_0x8XY1` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | SetVxToVxORVy_0x8XY1, // Set v[x] to v[x] | v[y] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetVxToVxOrvy0x8xy1` [INFO] [stderr] [INFO] [stderr] warning: variant `SetVxToVxANDVy_0x8XY2` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | SetVxToVxANDVy_0x8XY2, // Set v[x] to v[x] & v[y] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetVxToVxAndvy0x8xy2` [INFO] [stderr] [INFO] [stderr] warning: variant `SetVxToVxXORVy_0x8XY3` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | SetVxToVxXORVy_0x8XY3, // Set v[x] to v[x] ^ v[y] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetVxToVxXorvy0x8xy3` [INFO] [stderr] [INFO] [stderr] warning: variant `IncrementVxByVyAndCarry_0x8XY4` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | IncrementVxByVyAndCarry_0x8XY4, // Increment v[x](xx) by v[y](yy) and set v[F] = 1 if overflow [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `IncrementVxByVyAndCarry0x8xy4` [INFO] [stderr] [INFO] [stderr] warning: variant `DecrementVxByVyNoBorrow_0x8XY5` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | DecrementVxByVyNoBorrow_0x8XY5, // Decrement v[x](xx) by v[y](yy) and set v[F] = 1 if v[x] > v[y] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DecrementVxByVyNoBorrow0x8xy5` [INFO] [stderr] [INFO] [stderr] warning: variant `ShiftAndRotateVxRight_0x8XY6` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | ShiftAndRotateVxRight_0x8XY6, // Shift and rotate v[x] right [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ShiftAndRotateVxRight0x8xy6` [INFO] [stderr] [INFO] [stderr] warning: variant `DecrementVyByVxNoBorrow_0x8XY7` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | DecrementVyByVxNoBorrow_0x8XY7, // Decrement v[y](yy) by v[x](xx) and set v[F] = 1 if v[y] > v[x] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DecrementVyByVxNoBorrow0x8xy7` [INFO] [stderr] [INFO] [stderr] warning: variant `ShiftAndRotateVxLeft_0x8XYE` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | ShiftAndRotateVxLeft_0x8XYE, // Shift and rotate v[x] left [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ShiftAndRotateVxLeft0x8xye` [INFO] [stderr] [INFO] [stderr] warning: variant `SkipInstrIfVxNotVy_0x9XY0` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | SkipInstrIfVxNotVy_0x9XY0, // Skip instruction if v[x](xx) != v[y](yy) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SkipInstrIfVxNotVy0x9xy0` [INFO] [stderr] [INFO] [stderr] warning: variant `SetIndexRegToPL_0xANNN` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | SetIndexRegToPL_0xANNN, // Set index to 0xNNN [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetIndexRegToPl0xAnnn` [INFO] [stderr] [INFO] [stderr] warning: variant `JumpToV0PlusPL_0xBNNN` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | JumpToV0PlusPL_0xBNNN, // Jump to v[0] + 0xNNN: Set PC to 0xXXX [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `JumpToV0plusPl0xBnnn` [INFO] [stderr] [INFO] [stderr] warning: variant `SetVxRandByteANDPL_0xCXNN` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | SetVxRandByteANDPL_0xCXNN, // Set v[x] to randbyte(0xNNN) & 0xNN [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetVxRandByteAndpl0xCxnn` [INFO] [stderr] [INFO] [stderr] warning: variant `DisplaySpriteSetVfColl_0xDXYN` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | DisplaySpriteSetVfColl_0xDXYN, // Display N-byte sprite and set v[F] = 1 if collision [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DisplaySpriteSetVfColl0xDxyn` [INFO] [stderr] [INFO] [stderr] warning: variant `SkipInstrIfVxPressed_0xEX9E` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | SkipInstrIfVxPressed_0xEX9E, // Skip instruction if v[x](keycode) pressed [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SkipInstrIfVxPressed0xEx9e` [INFO] [stderr] [INFO] [stderr] warning: variant `SkipInstrIfVxNotPressed_0xEXA1` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | SkipInstrIfVxNotPressed_0xEXA1, // Skip instruction if v[x](keycode) not pressed [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SkipInstrIfVxNotPressed0xExa1` [INFO] [stderr] [INFO] [stderr] warning: variant `SetVxToDelayTimerVal_0xFX07` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | SetVxToDelayTimerVal_0xFX07, // Set v[x] to value of delay timer (xxx) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetVxToDelayTimerVal0xFx07` [INFO] [stderr] [INFO] [stderr] warning: variant `WaitForKeyStoreInVx_0xFX0A` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | WaitForKeyStoreInVx_0xFX0A, // Wait for key and store it's value in v[x] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `WaitForKeyStoreInVx0xFx0a` [INFO] [stderr] [INFO] [stderr] warning: variant `SetDelayTimerToVx_0xFX15` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | SetDelayTimerToVx_0xFX15, // Set delay timer to v[x](xx) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetDelayTimerToVx0xFx15` [INFO] [stderr] [INFO] [stderr] warning: variant `SetSoundTimerToVx_0xFX18` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | SetSoundTimerToVx_0xFX18, // Set sound timer to v[x](xx) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetSoundTimerToVx0xFx18` [INFO] [stderr] [INFO] [stderr] warning: variant `IncrementIndexRegByVx_0xFX1E` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | IncrementIndexRegByVx_0xFX1E, // Set index = index(xx) + v[x](xx) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `IncrementIndexRegByVx0xFx1e` [INFO] [stderr] [INFO] [stderr] warning: variant `SetIndexRegToVxSprite_0xFX29` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | SetIndexRegToVxSprite_0xFX29, // Set index equal to the v[x]th sprite (v[x] * 5) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetIndexRegToVxSprite0xFx29` [INFO] [stderr] [INFO] [stderr] warning: variant `StoreBCDOfVxIn3Bytes_0xFX33` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | StoreBCDOfVxIn3Bytes_0xFX33, // Store BCD of v[x](xxx) in mem[i], mem[i+1], mem[i+2] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `StoreBcdofVxIn3bytes0xFx33` [INFO] [stderr] [INFO] [stderr] warning: variant `StoreRegsUptoVx_0xFX55` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | StoreRegsUptoVx_0xFX55, // Store v[0] through v[x] in mem[i] through mem[i + x] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `StoreRegsUptoVx0xFx55` [INFO] [stderr] [INFO] [stderr] warning: variant `ReadRegsUptoVx_0xFX65` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | ReadRegsUptoVx_0xFX65, // Store mem[i] through mem[i+x] in v[0] through v[x] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReadRegsUptoVx0xFx65` [INFO] [stderr] [INFO] [stderr] warning: unused import: `debugger::Debugger` [INFO] [stderr] --> src/main.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use debugger::Debugger; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> src/main.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `SysAddressJump_0x0NNN` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | SysAddressJump_0x0NNN, // Jump to address NNN [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SysAddressJump0x0nnn` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `ClearDisplay_0x00E0` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | ClearDisplay_0x00E0, // Clear the display [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ClearDisplay0x00e0` [INFO] [stderr] [INFO] [stderr] warning: variant `RetFromSubroutine_0x00EE` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | RetFromSubroutine_0x00EE, // Return from Subroutine [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RetFromSubroutine0x00ee` [INFO] [stderr] [INFO] [stderr] warning: variant `JumpLocation_0x1NNN` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | JumpLocation_0x1NNN, // Jump to address: Set PC to 0xNNN [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `JumpLocation0x1nnn` [INFO] [stderr] [INFO] [stderr] warning: variant `CallSubroutine_0x2NNN` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | CallSubroutine_0x2NNN, // Call Subroutine: Set PC to 0xNNN, set sp += 1, set pc = NNN [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CallSubroutine0x2nnn` [INFO] [stderr] [INFO] [stderr] warning: variant `SkipInstrIfVxEqPL_0x3XNN` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | SkipInstrIfVxEqPL_0x3XNN, // Skip Instruction if v[x] == 0xNN [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SkipInstrIfVxEqPl0x3xnn` [INFO] [stderr] [INFO] [stderr] warning: variant `SkipInstrIfVxNotEqPL_0x4XNN` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | SkipInstrIfVxNotEqPL_0x4XNN, // Skip Instruction if v[x] != 0xNN [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SkipInstrIfVxNotEqPl0x4xnn` [INFO] [stderr] [INFO] [stderr] warning: variant `SkipInstrIfVxVy_0x5XY0` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | SkipInstrIfVxVy_0x5XY0, // Skip Instruction if v[x] == v[y] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SkipInstrIfVxVy0x5xy0` [INFO] [stderr] [INFO] [stderr] warning: variant `SetVxToPL_0x6XNN` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | SetVxToPL_0x6XNN, // Set v[x] to 0xNN [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetVxToPl0x6xnn` [INFO] [stderr] [INFO] [stderr] warning: variant `IncrementVxByPL_0x7XNN` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | IncrementVxByPL_0x7XNN, // Increment v[x] by 0xNN [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `IncrementVxByPl0x7xnn` [INFO] [stderr] [INFO] [stderr] warning: variant `SetVxToVy_0x8XY0` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | SetVxToVy_0x8XY0, // Set v[x] to v[y](xx) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetVxToVy0x8xy0` [INFO] [stderr] [INFO] [stderr] warning: variant `SetVxToVxORVy_0x8XY1` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | SetVxToVxORVy_0x8XY1, // Set v[x] to v[x] | v[y] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetVxToVxOrvy0x8xy1` [INFO] [stderr] [INFO] [stderr] warning: variant `SetVxToVxANDVy_0x8XY2` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | SetVxToVxANDVy_0x8XY2, // Set v[x] to v[x] & v[y] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetVxToVxAndvy0x8xy2` [INFO] [stderr] [INFO] [stderr] warning: variant `SetVxToVxXORVy_0x8XY3` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | SetVxToVxXORVy_0x8XY3, // Set v[x] to v[x] ^ v[y] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetVxToVxXorvy0x8xy3` [INFO] [stderr] [INFO] [stderr] warning: variant `IncrementVxByVyAndCarry_0x8XY4` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | IncrementVxByVyAndCarry_0x8XY4, // Increment v[x](xx) by v[y](yy) and set v[F] = 1 if overflow [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `IncrementVxByVyAndCarry0x8xy4` [INFO] [stderr] [INFO] [stderr] warning: variant `DecrementVxByVyNoBorrow_0x8XY5` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | DecrementVxByVyNoBorrow_0x8XY5, // Decrement v[x](xx) by v[y](yy) and set v[F] = 1 if v[x] > v[y] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DecrementVxByVyNoBorrow0x8xy5` [INFO] [stderr] [INFO] [stderr] warning: variant `ShiftAndRotateVxRight_0x8XY6` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | ShiftAndRotateVxRight_0x8XY6, // Shift and rotate v[x] right [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ShiftAndRotateVxRight0x8xy6` [INFO] [stderr] [INFO] [stderr] warning: variant `DecrementVyByVxNoBorrow_0x8XY7` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | DecrementVyByVxNoBorrow_0x8XY7, // Decrement v[y](yy) by v[x](xx) and set v[F] = 1 if v[y] > v[x] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DecrementVyByVxNoBorrow0x8xy7` [INFO] [stderr] [INFO] [stderr] warning: variant `ShiftAndRotateVxLeft_0x8XYE` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | ShiftAndRotateVxLeft_0x8XYE, // Shift and rotate v[x] left [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ShiftAndRotateVxLeft0x8xye` [INFO] [stderr] [INFO] [stderr] warning: variant `SkipInstrIfVxNotVy_0x9XY0` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | SkipInstrIfVxNotVy_0x9XY0, // Skip instruction if v[x](xx) != v[y](yy) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SkipInstrIfVxNotVy0x9xy0` [INFO] [stderr] [INFO] [stderr] warning: variant `SetIndexRegToPL_0xANNN` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | SetIndexRegToPL_0xANNN, // Set index to 0xNNN [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetIndexRegToPl0xAnnn` [INFO] [stderr] [INFO] [stderr] warning: variant `JumpToV0PlusPL_0xBNNN` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | JumpToV0PlusPL_0xBNNN, // Jump to v[0] + 0xNNN: Set PC to 0xXXX [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `JumpToV0plusPl0xBnnn` [INFO] [stderr] [INFO] [stderr] warning: variant `SetVxRandByteANDPL_0xCXNN` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | SetVxRandByteANDPL_0xCXNN, // Set v[x] to randbyte(0xNNN) & 0xNN [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetVxRandByteAndpl0xCxnn` [INFO] [stderr] [INFO] [stderr] warning: variant `DisplaySpriteSetVfColl_0xDXYN` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | DisplaySpriteSetVfColl_0xDXYN, // Display N-byte sprite and set v[F] = 1 if collision [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DisplaySpriteSetVfColl0xDxyn` [INFO] [stderr] [INFO] [stderr] warning: variant `SkipInstrIfVxPressed_0xEX9E` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | SkipInstrIfVxPressed_0xEX9E, // Skip instruction if v[x](keycode) pressed [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SkipInstrIfVxPressed0xEx9e` [INFO] [stderr] [INFO] [stderr] warning: variant `SkipInstrIfVxNotPressed_0xEXA1` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | SkipInstrIfVxNotPressed_0xEXA1, // Skip instruction if v[x](keycode) not pressed [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SkipInstrIfVxNotPressed0xExa1` [INFO] [stderr] [INFO] [stderr] warning: variant `SetVxToDelayTimerVal_0xFX07` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | SetVxToDelayTimerVal_0xFX07, // Set v[x] to value of delay timer (xxx) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetVxToDelayTimerVal0xFx07` [INFO] [stderr] [INFO] [stderr] warning: variant `WaitForKeyStoreInVx_0xFX0A` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | WaitForKeyStoreInVx_0xFX0A, // Wait for key and store it's value in v[x] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `WaitForKeyStoreInVx0xFx0a` [INFO] [stderr] [INFO] [stderr] warning: variant `SetDelayTimerToVx_0xFX15` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | SetDelayTimerToVx_0xFX15, // Set delay timer to v[x](xx) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetDelayTimerToVx0xFx15` [INFO] [stderr] [INFO] [stderr] warning: variant `SetSoundTimerToVx_0xFX18` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | SetSoundTimerToVx_0xFX18, // Set sound timer to v[x](xx) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetSoundTimerToVx0xFx18` [INFO] [stderr] [INFO] [stderr] warning: variant `IncrementIndexRegByVx_0xFX1E` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | IncrementIndexRegByVx_0xFX1E, // Set index = index(xx) + v[x](xx) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `IncrementIndexRegByVx0xFx1e` [INFO] [stderr] [INFO] [stderr] warning: variant `SetIndexRegToVxSprite_0xFX29` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | SetIndexRegToVxSprite_0xFX29, // Set index equal to the v[x]th sprite (v[x] * 5) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SetIndexRegToVxSprite0xFx29` [INFO] [stderr] [INFO] [stderr] warning: variant `StoreBCDOfVxIn3Bytes_0xFX33` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | StoreBCDOfVxIn3Bytes_0xFX33, // Store BCD of v[x](xxx) in mem[i], mem[i+1], mem[i+2] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `StoreBcdofVxIn3bytes0xFx33` [INFO] [stderr] [INFO] [stderr] warning: variant `StoreRegsUptoVx_0xFX55` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | StoreRegsUptoVx_0xFX55, // Store v[0] through v[x] in mem[i] through mem[i + x] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `StoreRegsUptoVx0xFx55` [INFO] [stderr] [INFO] [stderr] warning: variant `ReadRegsUptoVx_0xFX65` should have an upper camel case name [INFO] [stderr] --> src/opcodes.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | ReadRegsUptoVx_0xFX65, // Store mem[i] through mem[i+x] in v[0] through v[x] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReadRegsUptoVx0xFx65` [INFO] [stderr] [INFO] [stderr] warning: unused import: `debugger::Debugger` [INFO] [stderr] --> src/main.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use debugger::Debugger; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> src/main.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `sp` on type `cpu::CPU<'_>` [INFO] [stderr] --> src/cpu.rs:464:20 [INFO] [stderr] | [INFO] [stderr] 464 | assert_eq!(cpu.sp, 1); [INFO] [stderr] | ^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `hz`, `program_delay`, `mem`, `regs`, `index` ... and 6 others [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `sp` on type `cpu::CPU<'_>` [INFO] [stderr] --> src/cpu.rs:465:30 [INFO] [stderr] | [INFO] [stderr] 465 | assert_eq!(cpu.stack[cpu.sp as usize], 0x202); [INFO] [stderr] | ^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `hz`, `program_delay`, `mem`, `regs`, `index` ... and 6 others [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `sp` on type `cpu::CPU<'_>` [INFO] [stderr] --> src/cpu.rs:479:20 [INFO] [stderr] | [INFO] [stderr] 479 | assert_eq!(cpu.sp, 0); [INFO] [stderr] | ^^ unknown field [INFO] [stderr] | [INFO] [stderr] = note: available fields are: `hz`, `program_delay`, `mem`, `regs`, `index` ... and 6 others [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 0 parameters were supplied [INFO] [stderr] --> src/display.rs:120:20 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn new(context: sdl2::Sdl) -> Display<'d> { [INFO] [stderr] | --------------------------------------------- defined here [INFO] [stderr] ... [INFO] [stderr] 120 | let mut disp = Display::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^ expected 1 parameter [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 0 parameters were supplied [INFO] [stderr] --> src/display.rs:132:20 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn new(context: sdl2::Sdl) -> Display<'d> { [INFO] [stderr] | --------------------------------------------- defined here [INFO] [stderr] ... [INFO] [stderr] 132 | let mut disp = Display::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^ expected 1 parameter [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `write_byte` found for type `display::Display<'_>` in the current scope [INFO] [stderr] --> src/display.rs:133:20 [INFO] [stderr] | [INFO] [stderr] 16 | pub struct Display<'d> { [INFO] [stderr] | ---------------------- method `write_byte` not found for this [INFO] [stderr] ... [INFO] [stderr] 133 | let res = disp.write_byte(byte, x, y); [INFO] [stderr] | ^^^^^^^^^^ help: there is a method with a similar name: `write_bytes` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/device.rs:68:73 [INFO] [stderr] | [INFO] [stderr] 68 | let beep = audio_subsystem.open_playback(None, &desired_spec, | s | { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_s` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cpu` [INFO] [stderr] --> src/debugger/mod.rs:164:55 [INFO] [stderr] | [INFO] [stderr] 164 | pub fn disassemble_opcode(&self, opcode: &Opcode, cpu: &CPU) -> String { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_cpu` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/display.rs:135:36 [INFO] [stderr] | [INFO] [stderr] 135 | let arr: [u8; 8] = get_sub_arr(&disp.pixels, x, y); [INFO] [stderr] | ^^^^^^^^^^^^ expected u8, found bool [INFO] [stderr] | [INFO] [stderr] = note: expected type `&[u8; 2048]` [INFO] [stderr] found type `&[bool; 2048]` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 0 parameters were supplied [INFO] [stderr] --> src/display.rs:142:20 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn new(context: sdl2::Sdl) -> Display<'d> { [INFO] [stderr] | --------------------------------------------- defined here [INFO] [stderr] ... [INFO] [stderr] 142 | let mut disp = Display::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^ expected 1 parameter [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `write_byte` found for type `display::Display<'_>` in the current scope [INFO] [stderr] --> src/display.rs:143:20 [INFO] [stderr] | [INFO] [stderr] 16 | pub struct Display<'d> { [INFO] [stderr] | ---------------------- method `write_byte` not found for this [INFO] [stderr] ... [INFO] [stderr] 143 | let res = disp.write_byte(0b10101010, 60, 1); [INFO] [stderr] | ^^^^^^^^^^ help: there is a method with a similar name: `write_bytes` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/display.rs:148:19 [INFO] [stderr] | [INFO] [stderr] 148 | list[i] = disp.pixels[i + start]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ expected u8, found bool [INFO] [stderr] [INFO] [stderr] warning: method is never used: `reset` [INFO] [stderr] --> src/cpu.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | pub fn reset(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `initialize` [INFO] [stderr] --> src/cpu.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | pub fn initialize(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_speed_hz` [INFO] [stderr] --> src/cpu.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | pub fn set_speed_hz(&mut self, hertz: u32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_sub_arr` [INFO] [stderr] --> src/cpu.rs:441:1 [INFO] [stderr] | [INFO] [stderr] 441 | pub fn get_sub_arr(arr: &[u8; 4096], start: usize) -> [u8; 8] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `byte_to_digits` [INFO] [stderr] --> src/display.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | fn byte_to_digits(&self, byte: u8) -> [u8; 8] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_sub_arr` [INFO] [stderr] --> src/display.rs:109:1 [INFO] [stderr] | [INFO] [stderr] 109 | pub fn get_sub_arr(arr: &[u8; 2048], x: usize, y: usize) -> [u8; 8] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `current_index` [INFO] [stderr] --> src/utils.rs:57:5 [INFO] [stderr] | [INFO] [stderr] 57 | pub fn current_index(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `peek` [INFO] [stderr] --> src/utils.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | pub fn peek(&self, index: usize) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `clear` [INFO] [stderr] --> src/utils.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 87 | pub fn clear(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `OPTION_MENU` [INFO] [stderr] --> src/debugger/view.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | const OPTION_MENU: &'static str = "| Instructions | State

(Pause/Play) | Quit | Speed |"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `View` [INFO] [stderr] --> src/debugger/view.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub struct View<'view> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/debugger/view.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn new() -> View<'view> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `initialize` [INFO] [stderr] --> src/debugger/view.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn initialize(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `render` [INFO] [stderr] --> src/debugger/view.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | / pub fn render(&mut self, lines: I, info:Vec) [INFO] [stderr] 39 | | where I: IntoIterator, [INFO] [stderr] 40 | | I::Item: fmt::Display, [INFO] [stderr] 41 | | { [INFO] [stderr] ... | [INFO] [stderr] 50 | | } [INFO] [stderr] 51 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `clear` [INFO] [stderr] --> src/debugger/view.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | pub fn clear(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `paint_lines` [INFO] [stderr] --> src/debugger/view.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | / fn paint_lines(&mut self, lines: I) [INFO] [stderr] 56 | | where I: IntoIterator, [INFO] [stderr] 57 | | I::Item: fmt::Display, [INFO] [stderr] 58 | | { [INFO] [stderr] ... | [INFO] [stderr] 73 | | } [INFO] [stderr] 74 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `paint_menu` [INFO] [stderr] --> src/debugger/view.rs:75:5 [INFO] [stderr] | [INFO] [stderr] 75 | fn paint_menu(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `paint_info` [INFO] [stderr] --> src/debugger/view.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | fn paint_info(&mut self, info: Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `update` [INFO] [stderr] --> src/debugger/view.rs:89:5 [INFO] [stderr] | [INFO] [stderr] 89 | fn update(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `blank_string` [INFO] [stderr] --> src/debugger/view.rs:97:1 [INFO] [stderr] | [INFO] [stderr] 97 | fn blank_string(size: usize) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `PlayToggle` [INFO] [stderr] --> src/debugger/mod.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | PlayToggle, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Step` [INFO] [stderr] --> src/debugger/mod.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | Step, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `SysAddressJump_0x0000` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:140:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `SysAddressJump_0x0000` not found here [INFO] [stderr] ... [INFO] [stderr] 140 | (0x0000, Instruction::SysAddressJump_0x0000), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `SysAddressJump_0x0NNN` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `JumpLocation_0x1000` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:141:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `JumpLocation_0x1000` not found here [INFO] [stderr] ... [INFO] [stderr] 141 | (0x1000, Instruction::JumpLocation_0x1000), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `JumpLocation_0x1NNN` [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Back` [INFO] [stderr] --> src/debugger/mod.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | Back, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Next` [INFO] [stderr] --> src/debugger/mod.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | Next, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Quit` [INFO] [stderr] --> src/debugger/mod.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | Quit, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Reset` [INFO] [stderr] --> src/debugger/mod.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | Reset, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ChangeSpeed` [INFO] [stderr] --> src/debugger/mod.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | ChangeSpeed(i32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Quitting` [INFO] [stderr] --> src/debugger/mod.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | Quitting, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Paused` [INFO] [stderr] --> src/debugger/mod.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | Paused, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Running` [INFO] [stderr] --> src/debugger/mod.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | Running, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Debugger` [INFO] [stderr] --> src/debugger/mod.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | pub struct Debugger<'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] error[E0599]: no variant or associated item named `CallSubroutine_0x2000` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:142:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `CallSubroutine_0x2000` not found here [INFO] [stderr] ... [INFO] [stderr] 142 | (0x2000, Instruction::CallSubroutine_0x2000), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `CallSubroutine_0x2NNN` [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/debugger/mod.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn new() -> Debugger<'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] error[E0599]: no variant or associated item named `SkipInstrIfVxEqPL_0x3000` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:143:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `SkipInstrIfVxEqPL_0x3000` not found here [INFO] [stderr] ... [INFO] [stderr] 143 | (0x3000, Instruction::SkipInstrIfVxEqPL_0x3000), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `SkipInstrIfVxEqPL_0x3XNN` [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: method is never used: `dump_instr` [INFO] [stderr] --> src/debugger/mod.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | fn dump_instr(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] error[E0599]: no variant or associated item named `SkipInstrIfVxNotEqPL_0x4000` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:144:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `SkipInstrIfVxNotEqPL_0x4000` not found here [INFO] [stderr] ... [INFO] [stderr] 144 | (0x4000, Instruction::SkipInstrIfVxNotEqPL_0x4000), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `SkipInstrIfVxNotEqPL_0x4XNN` [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: method is never used: `reset` [INFO] [stderr] --> src/debugger/mod.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | fn reset(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] error[E0599]: no variant or associated item named `SkipInstrIfVxVy_0x5000` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:145:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `SkipInstrIfVxVy_0x5000` not found here [INFO] [stderr] ... [INFO] [stderr] 145 | (0x5000, Instruction::SkipInstrIfVxVy_0x5000), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `SkipInstrIfVxVy_0x5XY0` [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: method is never used: `load_rom` [INFO] [stderr] --> src/debugger/mod.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | pub fn load_rom(&mut self, rom: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] error[E0599]: no variant or associated item named `SetVxToPL_0x6000` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:146:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `SetVxToPL_0x6000` not found here [INFO] [stderr] ... [INFO] [stderr] 146 | (0x6000, Instruction::SetVxToPL_0x6000), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `SetVxToPL_0x6XNN` [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: method is never used: `step` [INFO] [stderr] --> src/debugger/mod.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | fn step(&mut self, distance: i32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] error[E0599]: no variant or associated item named `IncrementVxByPL_0x7000` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:147:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `IncrementVxByPL_0x7000` not found here [INFO] [stderr] ... [INFO] [stderr] 147 | (0x7000, Instruction::IncrementVxByPL_0x7000), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `IncrementVxByPL_0x7XNN` [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: method is never used: `cycle` [INFO] [stderr] --> src/debugger/mod.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | fn cycle(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] error[E0599]: no variant or associated item named `SetVxToVy_0x8000` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:148:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `SetVxToVy_0x8000` not found here [INFO] [stderr] ... [INFO] [stderr] 148 | (0x8FF0, Instruction::SetVxToVy_0x8000), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `SetVxToVy_0x8XY0` [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: method is never used: `render` [INFO] [stderr] --> src/debugger/mod.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | fn render(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `toggle_play` [INFO] [stderr] --> src/debugger/mod.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | fn toggle_play(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] error[E0599]: no variant or associated item named `SetVxToVxORVy_0x8001` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:149:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `SetVxToVxORVy_0x8001` not found here [INFO] [stderr] ... [INFO] [stderr] 149 | (0x8FF1, Instruction::SetVxToVxORVy_0x8001), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `SetVxToVxORVy_0x8XY1` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `quit` [INFO] [stderr] --> src/debugger/mod.rs:115:5 [INFO] [stderr] | [INFO] [stderr] 115 | fn quit(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: method is never used: `change_speed` [INFO] [stderr] --> src/debugger/mod.rs:118:5 [INFO] [stderr] | [INFO] [stderr] 118 | fn change_speed(&mut self, hertz: i32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] error[E0599]: no variant or associated item named `SetVxToVxANDVy_0x8002` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:150:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `SetVxToVxANDVy_0x8002` not found here [INFO] [stderr] ... [INFO] [stderr] 150 | (0x8FF2, Instruction::SetVxToVxANDVy_0x8002), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `SetVxToVxANDVy_0x8XY2` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `SetVxToVxXORVy_0x8003` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:151:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `SetVxToVxXORVy_0x8003` not found here [INFO] [stderr] ... [INFO] [stderr] 151 | (0x8FF3, Instruction::SetVxToVxXORVy_0x8003), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `SetVxToVxXORVy_0x8XY3` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `IncrementVxByVyAndCarry_0x8004` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:152:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `IncrementVxByVyAndCarry_0x8004` not found here [INFO] [stderr] ... [INFO] [stderr] 152 | (0x8FF4, Instruction::IncrementVxByVyAndCarry_0x8004), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `IncrementVxByVyAndCarry_0x8XY4` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `DecrementVxByVyNoBorrow_0x8005` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:153:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `DecrementVxByVyNoBorrow_0x8005` not found here [INFO] [stderr] ... [INFO] [stderr] 153 | (0x8FF5, Instruction::DecrementVxByVyNoBorrow_0x8005), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `DecrementVxByVyNoBorrow_0x8XY5` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `ShiftAndRotateVxRight_0x8006` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:154:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `ShiftAndRotateVxRight_0x8006` not found here [INFO] [stderr] ... [INFO] [stderr] 154 | (0x8FF6, Instruction::ShiftAndRotateVxRight_0x8006), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `ShiftAndRotateVxRight_0x8XY6` [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: method is never used: `handle_command` [INFO] [stderr] --> src/debugger/mod.rs:122:5 [INFO] [stderr] | [INFO] [stderr] 122 | fn handle_command(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `run` [INFO] [stderr] --> src/debugger/mod.rs:134:5 [INFO] [stderr] | [INFO] [stderr] 134 | pub fn run(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `disassemble_opcode` [INFO] [stderr] --> src/debugger/mod.rs:164:5 [INFO] [stderr] | [INFO] [stderr] 164 | pub fn disassemble_opcode(&self, opcode: &Opcode, cpu: &CPU) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/cpu.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | file.read_to_end(&mut rom); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] error[E0599]: no variant or associated item named `DecrementVyByVxNoBorrow_0x8007` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:155:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `DecrementVyByVxNoBorrow_0x8007` not found here [INFO] [stderr] ... [INFO] [stderr] 155 | (0x8FF7, Instruction::DecrementVyByVxNoBorrow_0x8007), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `DecrementVyByVxNoBorrow_0x8XY7` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `ShiftAndRotateVxLeft_0x800E` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:156:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `ShiftAndRotateVxLeft_0x800E` not found here [INFO] [stderr] ... [INFO] [stderr] 156 | (0x8FFE, Instruction::ShiftAndRotateVxLeft_0x800E), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `ShiftAndRotateVxLeft_0x8XYE` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `SkipInstrIfVxNotVy_0x9000` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:157:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `SkipInstrIfVxNotVy_0x9000` not found here [INFO] [stderr] ... [INFO] [stderr] 157 | (0x9000, Instruction::SkipInstrIfVxNotVy_0x9000), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `SkipInstrIfVxNotVy_0x9XY0` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `SetIndexRegToPL_0xA000` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:158:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `SetIndexRegToPL_0xA000` not found here [INFO] [stderr] ... [INFO] [stderr] 158 | (0xA000, Instruction::SetIndexRegToPL_0xA000), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `SetIndexRegToPL_0xANNN` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `JumpToV0PlusPL_0xB000` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:159:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `JumpToV0PlusPL_0xB000` not found here [INFO] [stderr] ... [INFO] [stderr] 159 | (0xB000, Instruction::JumpToV0PlusPL_0xB000), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `JumpToV0PlusPL_0xBNNN` [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `SetVxRandByteANDPL_0xC000` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:160:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `SetVxRandByteANDPL_0xC000` not found here [INFO] [stderr] ... [INFO] [stderr] 160 | (0xC000, Instruction::SetVxRandByteANDPL_0xC000), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `SetVxRandByteANDPL_0xCXNN` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `DisplaySpriteSetVfColl_0xD000` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:161:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `DisplaySpriteSetVfColl_0xD000` not found here [INFO] [stderr] ... [INFO] [stderr] 161 | (0xD000, Instruction::DisplaySpriteSetVfColl_0xD000), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `DisplaySpriteSetVfColl_0xDXYN` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/display.rs:74:17 [INFO] [stderr] | [INFO] [stderr] 74 | self.renderer.fill_rect(pixel.to_sdl()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `SkipInstrIfVxPressed_0xE09E` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:162:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `SkipInstrIfVxPressed_0xE09E` not found here [INFO] [stderr] ... [INFO] [stderr] 162 | (0xEF9E, Instruction::SkipInstrIfVxPressed_0xE09E), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `SkipInstrIfVxPressed_0xEX9E` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/debugger/view.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | self.stdout.flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `SkipInstrIfVxNotPressed_0xE0A1` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:163:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `SkipInstrIfVxNotPressed_0xE0A1` not found here [INFO] [stderr] ... [INFO] [stderr] 163 | (0xEFA1, Instruction::SkipInstrIfVxNotPressed_0xE0A1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `SkipInstrIfVxNotPressed_0xEXA1` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `SetVxToDelayTimerVal_0xF007` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:164:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `SetVxToDelayTimerVal_0xF007` not found here [INFO] [stderr] ... [INFO] [stderr] 164 | (0xFF07, Instruction::SetVxToDelayTimerVal_0xF007), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `SetVxToDelayTimerVal_0xFX07` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/debugger/view.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | self.stdout.flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/debugger/view.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | write!(self.stdout, "{}", clear::All); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/debugger/view.rs:86:13 [INFO] [stderr] | [INFO] [stderr] 86 | write!(self.stdout, "{}{}", cursor::Goto(x, (y + i) as u16), s); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `WaitForKeyStoreInVx_0xF00A` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:165:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `WaitForKeyStoreInVx_0xF00A` not found here [INFO] [stderr] ... [INFO] [stderr] 165 | (0xFF0A, Instruction::WaitForKeyStoreInVx_0xF00A), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `WaitForKeyStoreInVx_0xFX0A` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `SetDelayTimerToVx_0xF015` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:166:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `SetDelayTimerToVx_0xF015` not found here [INFO] [stderr] ... [INFO] [stderr] 166 | (0xFF15, Instruction::SetDelayTimerToVx_0xF015), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `SetDelayTimerToVx_0xFX15` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `SetSoundTimerToVx_0xF018` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:167:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `SetSoundTimerToVx_0xF018` not found here [INFO] [stderr] ... [INFO] [stderr] 167 | (0xFF18, Instruction::SetSoundTimerToVx_0xF018), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `SetSoundTimerToVx_0xFX18` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `IncrementIndexRegByVx_0xF01E` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:168:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `IncrementIndexRegByVx_0xF01E` not found here [INFO] [stderr] ... [INFO] [stderr] 168 | (0xFF1E, Instruction::IncrementIndexRegByVx_0xF01E), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `IncrementIndexRegByVx_0xFX1E` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `SetIndexRegToVxSprite_0xF029` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:169:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `SetIndexRegToVxSprite_0xF029` not found here [INFO] [stderr] ... [INFO] [stderr] 169 | (0xFF29, Instruction::SetIndexRegToVxSprite_0xF029), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `SetIndexRegToVxSprite_0xFX29` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `StoreBCDOfVxIn3Bytes_0xF033` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:170:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `StoreBCDOfVxIn3Bytes_0xF033` not found here [INFO] [stderr] ... [INFO] [stderr] 170 | (0xFF33, Instruction::StoreBCDOfVxIn3Bytes_0xF033), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `StoreBCDOfVxIn3Bytes_0xFX33` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `StoreRegsUptoVx_0xF055` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:171:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `StoreRegsUptoVx_0xF055` not found here [INFO] [stderr] ... [INFO] [stderr] 171 | (0xFF55, Instruction::StoreRegsUptoVx_0xF055), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `StoreRegsUptoVx_0xFX55` [INFO] [stderr] [INFO] [stderr] error[E0599]: no variant or associated item named `ReadRegsUptoVx_0xF065` found for type `opcodes::Instruction` in the current scope [INFO] [stderr] --> src/opcodes.rs:172:31 [INFO] [stderr] | [INFO] [stderr] 2 | pub enum Instruction { [INFO] [stderr] | -------------------- variant or associated item `ReadRegsUptoVx_0xF065` not found here [INFO] [stderr] ... [INFO] [stderr] 172 | (0xFF65, Instruction::ReadRegsUptoVx_0xF065), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | variant or associated item not found in `opcodes::Instruction` [INFO] [stderr] | help: there is a variant with a similar name: `ReadRegsUptoVx_0xFX65` [INFO] [stderr] [INFO] [stderr] error: aborting due to 43 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0061, E0308, E0599, E0609. [INFO] [stderr] For more information about an error, try `rustc --explain E0061`. [INFO] [stderr] error: Could not compile `chip8`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "40433aa0957f2c0a4dcda17c6e2d7debb05ca68a2ed8fa6f5b6994455f661024"` [INFO] running `"docker" "rm" "-f" "40433aa0957f2c0a4dcda17c6e2d7debb05ca68a2ed8fa6f5b6994455f661024"` [INFO] [stdout] 40433aa0957f2c0a4dcda17c6e2d7debb05ca68a2ed8fa6f5b6994455f661024