[INFO] updating cached repository UnknownNPC/rchip8 [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/UnknownNPC/rchip8 [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/UnknownNPC/rchip8" "work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/UnknownNPC/rchip8"` [INFO] [stderr] Cloning into 'work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/UnknownNPC/rchip8'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/UnknownNPC/rchip8" "work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/UnknownNPC/rchip8"` [INFO] [stderr] Cloning into 'work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/UnknownNPC/rchip8'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] b4d62dbb07ba802f1880663db56d3fc57bd0cdc0 [INFO] sha for GitHub repo UnknownNPC/rchip8: b4d62dbb07ba802f1880663db56d3fc57bd0cdc0 [INFO] validating manifest of UnknownNPC/rchip8 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 UnknownNPC/rchip8 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 UnknownNPC/rchip8 [INFO] finished frobbing UnknownNPC/rchip8 [INFO] frobbed toml for UnknownNPC/rchip8 written to work/ex/pr-63376/sources/master#60960a260f7b5c695fd0717311d72ce62dd4eb43/gh/UnknownNPC/rchip8/Cargo.toml [INFO] started frobbing UnknownNPC/rchip8 [INFO] finished frobbing UnknownNPC/rchip8 [INFO] frobbed toml for UnknownNPC/rchip8 written to work/ex/pr-63376/sources/try#266783e4e09e4e9d5307c1c8e695659c58bbcac7/gh/UnknownNPC/rchip8/Cargo.toml [INFO] crate UnknownNPC/rchip8 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 UnknownNPC/rchip8 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/UnknownNPC/rchip8:/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] 7da296a5b77cf3e64752e75ecb0fda1521505e10064f0537650b101f8a984afb [INFO] running `"docker" "start" "-a" "7da296a5b77cf3e64752e75ecb0fda1521505e10064f0537650b101f8a984afb"` [INFO] [stderr] Checking chip8-emu v0.1.0 (/opt/crater/workdir) [INFO] [stderr] error: expected one of `,`, `.`, `?`, `}`, or an operator, found `=>` [INFO] [stderr] --> src/chip8.rs:98:32 [INFO] [stderr] | [INFO] [stderr] 95 | 0x0000 => [INFO] [stderr] | -- while parsing the `match` arm starting here [INFO] [stderr] ... [INFO] [stderr] 98 | 0x000E => [INFO] [stderr] | ^^ expected one of `,`, `.`, `?`, `}`, or an operator here [INFO] [stderr] [INFO] [stderr] error: expected one of `,`, `.`, `?`, `}`, or an operator, found `=>` [INFO] [stderr] --> src/chip8.rs:196:32 [INFO] [stderr] | [INFO] [stderr] 194 | 0x0006 => [INFO] [stderr] | -- while parsing the `match` arm starting here [INFO] [stderr] 195 | // [8]XY[7] -Sets VX to VY minus VX. VF is set to 0 when there's a borrow, and 1 when there isn't. [INFO] [stderr] 196 | 0x0007 => [INFO] [stderr] | ^^ expected one of `,`, `.`, `?`, `}`, or an operator here [INFO] [stderr] [INFO] [stderr] error: expected one of `,`, `.`, `?`, `}`, or an operator, found `=>` [INFO] [stderr] --> src/chip8.rs:98:32 [INFO] [stderr] | [INFO] [stderr] 95 | 0x0000 => [INFO] [stderr] | -- while parsing the `match` arm starting here [INFO] [stderr] ... [INFO] [stderr] 98 | 0x000E => [INFO] [stderr] | ^^ expected one of `,`, `.`, `?`, `}`, or an operator here [INFO] [stderr] [INFO] [stderr] error: expected one of `,`, `.`, `?`, `}`, or an operator, found `=>` [INFO] [stderr] --> src/chip8.rs:196:32 [INFO] [stderr] | [INFO] [stderr] 194 | 0x0006 => [INFO] [stderr] | -- while parsing the `match` arm starting here [INFO] [stderr] 195 | // [8]XY[7] -Sets VX to VY minus VX. VF is set to 0 when there's a borrow, and 1 when there isn't. [INFO] [stderr] 196 | 0x0007 => [INFO] [stderr] | ^^ expected one of `,`, `.`, `?`, `}`, or an operator here [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/chip8.rs:103:21 [INFO] [stderr] | [INFO] [stderr] 103 | println!("0x0000"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [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[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:118:24 [INFO] [stderr] | [INFO] [stderr] 118 | if self.v[self.opcode & 0x0F00 >> 8] == self.opcode & 0x00FF { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:126:24 [INFO] [stderr] | [INFO] [stderr] 126 | if self.v[self.opcode & 0x0F00 >> 8] != self.opcode & 0x00FF { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:134:24 [INFO] [stderr] | [INFO] [stderr] 134 | if self.v[self.opcode & 0x0F00 >> 8] == self.v[self.opcode & 0x00F0 >> 4] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:134:61 [INFO] [stderr] | [INFO] [stderr] 134 | if self.v[self.opcode & 0x0F00 >> 8] == self.v[self.opcode & 0x00F0 >> 4] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:142:21 [INFO] [stderr] | [INFO] [stderr] 142 | self.v[self.opcode & 0x0F00 >> 8] = self.opcode & 0x00FF; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/chip8.rs:149:51 [INFO] [stderr] | [INFO] [stderr] 149 | self.v[vx_index] = vx_value + self.opcode & 0x00FF; [INFO] [stderr] | ^^^^^^^^^^^ expected u8, found u16 [INFO] [stderr] [INFO] [stderr] error[E0277]: cannot add `u16` to `u8` [INFO] [stderr] --> src/chip8.rs:149:49 [INFO] [stderr] | [INFO] [stderr] 149 | self.v[vx_index] = vx_value + self.opcode & 0x00FF; [INFO] [stderr] | ^ no implementation for `u8 + u16` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::ops::Add` is not implemented for `u8` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:158:29 [INFO] [stderr] | [INFO] [stderr] 158 | self.v[self.opcode & 0x0F00 >> 8] = self.v[self.opcode & 0x00F0 >> 4]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:158:65 [INFO] [stderr] | [INFO] [stderr] 158 | self.v[self.opcode & 0x0F00 >> 8] = self.v[self.opcode & 0x00F0 >> 4]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:164:44 [INFO] [stderr] | [INFO] [stderr] 164 | let vx_value = self.v[vx_index]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:165:29 [INFO] [stderr] | [INFO] [stderr] 165 | self.v[vx_index] = vx_value | self.v[self.opcode & 0x00F0 >> 4]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:165:59 [INFO] [stderr] | [INFO] [stderr] 165 | self.v[vx_index] = vx_value | self.v[self.opcode & 0x00F0 >> 4]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:170:44 [INFO] [stderr] | [INFO] [stderr] 170 | let vx_value = self.v[vx_index]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:171:29 [INFO] [stderr] | [INFO] [stderr] 171 | self.v[vx_index] = vx_value & self.v[self.opcode & 0x00F0 >> 4]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:171:59 [INFO] [stderr] | [INFO] [stderr] 171 | self.v[vx_index] = vx_value & self.v[self.opcode & 0x00F0 >> 4]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:176:44 [INFO] [stderr] | [INFO] [stderr] 176 | let vx_value = self.v[vx_index]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:177:29 [INFO] [stderr] | [INFO] [stderr] 177 | self.v[vx_index] = vx_value ^ self.v[self.opcode & 0x00F0 >> 4]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:177:59 [INFO] [stderr] | [INFO] [stderr] 177 | self.v[vx_index] = vx_value ^ self.v[self.opcode & 0x00F0 >> 4]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:181:29 [INFO] [stderr] | [INFO] [stderr] 181 | self.v[self.opcode & 0x0F00 >> 8] = self.v[self.opcode & 0x00F0 >> 4]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:181:65 [INFO] [stderr] | [INFO] [stderr] 181 | self.v[self.opcode & 0x0F00 >> 8] = self.v[self.opcode & 0x00F0 >> 4]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:182:32 [INFO] [stderr] | [INFO] [stderr] 182 | if self.v[self.opcode & 0x00F0 >> 4] > (0xFF - self.v[self.opcode & 0x0F00 >> 8]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:182:76 [INFO] [stderr] | [INFO] [stderr] 182 | if self.v[self.opcode & 0x00F0 >> 4] > (0xFF - self.v[self.opcode & 0x0F00 >> 8]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error: aborting due to 24 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0277, E0308. [INFO] [stderr] For more information about an error, try `rustc --explain E0277`. [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/chip8.rs:103:21 [INFO] [stderr] | [INFO] [stderr] 103 | println!("0x0000"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [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: Could not compile `chip8-emu`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:118:24 [INFO] [stderr] | [INFO] [stderr] 118 | if self.v[self.opcode & 0x0F00 >> 8] == self.opcode & 0x00FF { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:126:24 [INFO] [stderr] | [INFO] [stderr] 126 | if self.v[self.opcode & 0x0F00 >> 8] != self.opcode & 0x00FF { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:134:24 [INFO] [stderr] | [INFO] [stderr] 134 | if self.v[self.opcode & 0x0F00 >> 8] == self.v[self.opcode & 0x00F0 >> 4] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:134:61 [INFO] [stderr] | [INFO] [stderr] 134 | if self.v[self.opcode & 0x0F00 >> 8] == self.v[self.opcode & 0x00F0 >> 4] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:142:21 [INFO] [stderr] | [INFO] [stderr] 142 | self.v[self.opcode & 0x0F00 >> 8] = self.opcode & 0x00FF; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/chip8.rs:149:51 [INFO] [stderr] | [INFO] [stderr] 149 | self.v[vx_index] = vx_value + self.opcode & 0x00FF; [INFO] [stderr] | ^^^^^^^^^^^ expected u8, found u16 [INFO] [stderr] [INFO] [stderr] error[E0277]: cannot add `u16` to `u8` [INFO] [stderr] --> src/chip8.rs:149:49 [INFO] [stderr] | [INFO] [stderr] 149 | self.v[vx_index] = vx_value + self.opcode & 0x00FF; [INFO] [stderr] | ^ no implementation for `u8 + u16` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::ops::Add` is not implemented for `u8` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:158:29 [INFO] [stderr] | [INFO] [stderr] 158 | self.v[self.opcode & 0x0F00 >> 8] = self.v[self.opcode & 0x00F0 >> 4]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:158:65 [INFO] [stderr] | [INFO] [stderr] 158 | self.v[self.opcode & 0x0F00 >> 8] = self.v[self.opcode & 0x00F0 >> 4]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:164:44 [INFO] [stderr] | [INFO] [stderr] 164 | let vx_value = self.v[vx_index]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:165:29 [INFO] [stderr] | [INFO] [stderr] 165 | self.v[vx_index] = vx_value | self.v[self.opcode & 0x00F0 >> 4]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:165:59 [INFO] [stderr] | [INFO] [stderr] 165 | self.v[vx_index] = vx_value | self.v[self.opcode & 0x00F0 >> 4]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:170:44 [INFO] [stderr] | [INFO] [stderr] 170 | let vx_value = self.v[vx_index]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:171:29 [INFO] [stderr] | [INFO] [stderr] 171 | self.v[vx_index] = vx_value & self.v[self.opcode & 0x00F0 >> 4]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:171:59 [INFO] [stderr] | [INFO] [stderr] 171 | self.v[vx_index] = vx_value & self.v[self.opcode & 0x00F0 >> 4]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:176:44 [INFO] [stderr] | [INFO] [stderr] 176 | let vx_value = self.v[vx_index]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:177:29 [INFO] [stderr] | [INFO] [stderr] 177 | self.v[vx_index] = vx_value ^ self.v[self.opcode & 0x00F0 >> 4]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:177:59 [INFO] [stderr] | [INFO] [stderr] 177 | self.v[vx_index] = vx_value ^ self.v[self.opcode & 0x00F0 >> 4]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:181:29 [INFO] [stderr] | [INFO] [stderr] 181 | self.v[self.opcode & 0x0F00 >> 8] = self.v[self.opcode & 0x00F0 >> 4]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:181:65 [INFO] [stderr] | [INFO] [stderr] 181 | self.v[self.opcode & 0x0F00 >> 8] = self.v[self.opcode & 0x00F0 >> 4]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:182:32 [INFO] [stderr] | [INFO] [stderr] 182 | if self.v[self.opcode & 0x00F0 >> 4] > (0xFF - self.v[self.opcode & 0x0F00 >> 8]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error[E0277]: the type `[u8]` cannot be indexed by `u16` [INFO] [stderr] --> src/chip8.rs:182:76 [INFO] [stderr] | [INFO] [stderr] 182 | if self.v[self.opcode & 0x00F0 >> 4] > (0xFF - self.v[self.opcode & 0x0F00 >> 8]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slice indices are of type `usize` or ranges of `usize` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::slice::SliceIndex<[u8]>` is not implemented for `u16` [INFO] [stderr] = note: required because of the requirements on the impl of `std::ops::Index` for `[u8]` [INFO] [stderr] [INFO] [stderr] error: aborting due to 24 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0277, E0308. [INFO] [stderr] For more information about an error, try `rustc --explain E0277`. [INFO] [stderr] error: Could not compile `chip8-emu`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "7da296a5b77cf3e64752e75ecb0fda1521505e10064f0537650b101f8a984afb"` [INFO] running `"docker" "rm" "-f" "7da296a5b77cf3e64752e75ecb0fda1521505e10064f0537650b101f8a984afb"` [INFO] [stdout] 7da296a5b77cf3e64752e75ecb0fda1521505e10064f0537650b101f8a984afb