[INFO] updating cached repository AmaranthineCodices/chip8-int [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/AmaranthineCodices/chip8-int [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/AmaranthineCodices/chip8-int" "work/ex/clippy-test-run/sources/stable/gh/AmaranthineCodices/chip8-int"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/AmaranthineCodices/chip8-int'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/AmaranthineCodices/chip8-int" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/AmaranthineCodices/chip8-int"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/AmaranthineCodices/chip8-int'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] aeac2b88db2aeba639bae8237e062e5ce22d04d7 [INFO] sha for GitHub repo AmaranthineCodices/chip8-int: aeac2b88db2aeba639bae8237e062e5ce22d04d7 [INFO] validating manifest of AmaranthineCodices/chip8-int on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of AmaranthineCodices/chip8-int on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing AmaranthineCodices/chip8-int [INFO] finished frobbing AmaranthineCodices/chip8-int [INFO] frobbed toml for AmaranthineCodices/chip8-int written to work/ex/clippy-test-run/sources/stable/gh/AmaranthineCodices/chip8-int/Cargo.toml [INFO] started frobbing AmaranthineCodices/chip8-int [INFO] finished frobbing AmaranthineCodices/chip8-int [INFO] frobbed toml for AmaranthineCodices/chip8-int written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/AmaranthineCodices/chip8-int/Cargo.toml [INFO] crate AmaranthineCodices/chip8-int has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting AmaranthineCodices/chip8-int against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/AmaranthineCodices/chip8-int:/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" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] b67a9aff4bb6d472fac934cf06f0bbdcf8da50ea6680bd60d356d10e582e79c0 [INFO] running `"docker" "start" "-a" "b67a9aff4bb6d472fac934cf06f0bbdcf8da50ea6680bd60d356d10e582e79c0"` [INFO] [stderr] Checking piston2d-graphics v0.26.0 [INFO] [stderr] Checking wayland-client v0.12.5 [INFO] [stderr] Checking rayon v1.0.0 [INFO] [stderr] Checking pistoncore-input v0.20.0 [INFO] [stderr] Checking wayland-protocols v0.12.5 [INFO] [stderr] Checking wayland-kbd v0.13.1 [INFO] [stderr] Checking pistoncore-window v0.31.0 [INFO] [stderr] Checking jpeg-decoder v0.1.14 [INFO] [stderr] Checking image v0.18.0 [INFO] [stderr] Checking pistoncore-event_loop v0.36.0 [INFO] [stderr] Checking wayland-window v0.13.2 [INFO] [stderr] Checking piston v0.36.0 [INFO] [stderr] Checking winit v0.10.0 [INFO] [stderr] Checking glutin v0.12.2 [INFO] [stderr] Checking piston2d-opengl_graphics v0.52.0 [INFO] [stderr] Checking pistoncore-glutin_window v0.45.2 [INFO] [stderr] Checking chip8-int v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: constant item is never used: `MEM_SIZE` [INFO] [stderr] --> src/chip8.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | const MEM_SIZE: usize = 0x1000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `GFX_SIZE_X` [INFO] [stderr] --> src/chip8.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | const GFX_SIZE_X: usize = 64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `GFX_SIZE_Y` [INFO] [stderr] --> src/chip8.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | const GFX_SIZE_Y: usize = 32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ClearDisplay` [INFO] [stderr] --> src/chip8.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | ClearDisplay, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Return` [INFO] [stderr] --> src/chip8.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | Return, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Jump` [INFO] [stderr] --> src/chip8.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | Jump { address: u16 }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Call` [INFO] [stderr] --> src/chip8.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | Call { address: u16 }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `SkipIfEqual` [INFO] [stderr] --> src/chip8.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | SkipIfEqual { register: usize, value: u8 }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `SkipIfNotEqual` [INFO] [stderr] --> src/chip8.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | SkipIfNotEqual { register: usize, value: u8 }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `SkipIfRegistersEqual` [INFO] [stderr] --> src/chip8.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | SkipIfRegistersEqual { register1: usize, register2: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `SetRegister` [INFO] [stderr] --> src/chip8.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | SetRegister { register: usize, value: u8 }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `AddConstant` [INFO] [stderr] --> src/chip8.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | AddConstant { register: usize, value: u8 }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `CopyRegister` [INFO] [stderr] --> src/chip8.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | CopyRegister { source: usize, target: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `BitOr` [INFO] [stderr] --> src/chip8.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | BitOr { target: usize, other: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `BitAnd` [INFO] [stderr] --> src/chip8.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | BitAnd { target: usize, other: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `BitXor` [INFO] [stderr] --> src/chip8.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | BitXor { target: usize, other: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `AddRegister` [INFO] [stderr] --> src/chip8.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | AddRegister { target: usize, other: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `SubtractRegister` [INFO] [stderr] --> src/chip8.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | SubtractRegister { target: usize, other: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `AltSubtractRegister` [INFO] [stderr] --> src/chip8.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | AltSubtractRegister { target: usize, other: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `LeftShift` [INFO] [stderr] --> src/chip8.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | LeftShift { target: usize, source: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `RightShift` [INFO] [stderr] --> src/chip8.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | RightShift { target: usize, source: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `SkipIfRegistersNotEqual` [INFO] [stderr] --> src/chip8.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | SkipIfRegistersNotEqual { register1: usize, register2: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `SetIndexRegister` [INFO] [stderr] --> src/chip8.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | SetIndexRegister { value: u16 }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `OffsetJump` [INFO] [stderr] --> src/chip8.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | OffsetJump { address: u16 }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Rand` [INFO] [stderr] --> src/chip8.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | Rand { mask: u8, register: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Display` [INFO] [stderr] --> src/chip8.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | Display { x: usize, y: usize, height: u8 }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `SkipIfKeyPressed` [INFO] [stderr] --> src/chip8.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | SkipIfKeyPressed { key: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `SkipIfKeyNotPressed` [INFO] [stderr] --> src/chip8.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | SkipIfKeyNotPressed { key: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `GetDelayTimer` [INFO] [stderr] --> src/chip8.rs:57:5 [INFO] [stderr] | [INFO] [stderr] 57 | GetDelayTimer { register: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `AwaitKeypress` [INFO] [stderr] --> src/chip8.rs:59:5 [INFO] [stderr] | [INFO] [stderr] 59 | AwaitKeypress { register: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `SetDelayTimer` [INFO] [stderr] --> src/chip8.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 61 | SetDelayTimer { value: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `SetSoundTimer` [INFO] [stderr] --> src/chip8.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 63 | SetSoundTimer { value: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `IncrementIndexRegister` [INFO] [stderr] --> src/chip8.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | IncrementIndexRegister { register: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `SetIndexToFont` [INFO] [stderr] --> src/chip8.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | SetIndexToFont { register: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `StoreDecimal` [INFO] [stderr] --> src/chip8.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | StoreDecimal { register: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `MemDump` [INFO] [stderr] --> src/chip8.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | MemDump { max_register: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `MemLoad` [INFO] [stderr] --> src/chip8.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | MemLoad { max_register: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `decode_opcode` [INFO] [stderr] --> src/chip8.rs:76:1 [INFO] [stderr] | [INFO] [stderr] 76 | fn decode_opcode(opcode: u16) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Chip8` [INFO] [stderr] --> src/chip8.rs:291:1 [INFO] [stderr] | [INFO] [stderr] 291 | pub struct Chip8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/chip8.rs:307:5 [INFO] [stderr] | [INFO] [stderr] 307 | pub fn new() -> Chip8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `execute_opcode` [INFO] [stderr] --> src/chip8.rs:322:5 [INFO] [stderr] | [INFO] [stderr] 322 | fn execute_opcode(&mut self, opcode: Opcode) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `process_next_opcode` [INFO] [stderr] --> src/chip8.rs:479:5 [INFO] [stderr] | [INFO] [stderr] 479 | fn process_next_opcode(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `step` [INFO] [stderr] --> src/chip8.rs:505:5 [INFO] [stderr] | [INFO] [stderr] 505 | pub fn step(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/chip8.rs:402:17 [INFO] [stderr] | [INFO] [stderr] 402 | self.registers[target] = self.registers[target] | self.registers[other]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.registers[target] |= self.registers[other]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/chip8.rs:413:17 [INFO] [stderr] | [INFO] [stderr] 413 | self.registers[target] = self.registers[target] & self.registers[other]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.registers[target] &= self.registers[other]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/chip8.rs:424:17 [INFO] [stderr] | [INFO] [stderr] 424 | self.registers[target] = self.registers[target] ^ self.registers[other]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.registers[target] ^= self.registers[other]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/chip8.rs:483:28 [INFO] [stderr] | [INFO] [stderr] 483 | let opcode_upper = self.memory[self.program_counter as usize] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.memory[self.program_counter as usize])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/chip8.rs:484:28 [INFO] [stderr] | [INFO] [stderr] 484 | let opcode_lower = self.memory[self.program_counter as usize + 1] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.memory[self.program_counter as usize + 1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/chip8.rs:402:17 [INFO] [stderr] | [INFO] [stderr] 402 | self.registers[target] = self.registers[target] | self.registers[other]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.registers[target] |= self.registers[other]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/chip8.rs:413:17 [INFO] [stderr] | [INFO] [stderr] 413 | self.registers[target] = self.registers[target] & self.registers[other]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.registers[target] &= self.registers[other]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/chip8.rs:424:17 [INFO] [stderr] | [INFO] [stderr] 424 | self.registers[target] = self.registers[target] ^ self.registers[other]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.registers[target] ^= self.registers[other]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/chip8.rs:483:28 [INFO] [stderr] | [INFO] [stderr] 483 | let opcode_upper = self.memory[self.program_counter as usize] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.memory[self.program_counter as usize])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/chip8.rs:484:28 [INFO] [stderr] | [INFO] [stderr] 484 | let opcode_lower = self.memory[self.program_counter as usize + 1] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.memory[self.program_counter as usize + 1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 65 [INFO] [stderr] --> src/chip8.rs:717:9 [INFO] [stderr] | [INFO] [stderr] 717 | / fn test_decoding() { [INFO] [stderr] 718 | | decodes_to! { [INFO] [stderr] 719 | | 0x19DE => Opcode::Jump { address: 0x09DE }, [INFO] [stderr] 720 | | 0x27A9 => Opcode::Call { address: 0x07A9 }, [INFO] [stderr] ... | [INFO] [stderr] 751 | | } [INFO] [stderr] 752 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 38.32s [INFO] running `"docker" "inspect" "b67a9aff4bb6d472fac934cf06f0bbdcf8da50ea6680bd60d356d10e582e79c0"` [INFO] running `"docker" "rm" "-f" "b67a9aff4bb6d472fac934cf06f0bbdcf8da50ea6680bd60d356d10e582e79c0"` [INFO] [stdout] b67a9aff4bb6d472fac934cf06f0bbdcf8da50ea6680bd60d356d10e582e79c0