[INFO] updating cached repository adeptues/chip8 [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/adeptues/chip8 [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/adeptues/chip8" "work/ex/clippy-test-run/sources/stable/gh/adeptues/chip8"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/adeptues/chip8'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/adeptues/chip8" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/adeptues/chip8"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/adeptues/chip8'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] b6b15ab176b42eb386e15dc3a6358eeb5c574fa7 [INFO] sha for GitHub repo adeptues/chip8: b6b15ab176b42eb386e15dc3a6358eeb5c574fa7 [INFO] validating manifest of adeptues/chip8 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 adeptues/chip8 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 adeptues/chip8 [INFO] finished frobbing adeptues/chip8 [INFO] frobbed toml for adeptues/chip8 written to work/ex/clippy-test-run/sources/stable/gh/adeptues/chip8/Cargo.toml [INFO] started frobbing adeptues/chip8 [INFO] finished frobbing adeptues/chip8 [INFO] frobbed toml for adeptues/chip8 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/adeptues/chip8/Cargo.toml [INFO] crate adeptues/chip8 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 adeptues/chip8 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/adeptues/chip8:/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] 80bd23fc34ac00cf3c5232665be427b9f16ace8e575bec8b914b3dd2a6b6312a [INFO] running `"docker" "start" "-a" "80bd23fc34ac00cf3c5232665be427b9f16ace8e575bec8b914b3dd2a6b6312a"` [INFO] [stderr] Checking chip8 v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: using `print!()` with a format string that ends in a single newline, consider using `println!()` instead [INFO] [stderr] --> src/main.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | print!("\n"); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::print_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `print!()` with a format string that ends in a single newline, consider using `println!()` instead [INFO] [stderr] --> src/main.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | print!("\n"); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::print_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cpu.rs:79:9 [INFO] [stderr] | [INFO] [stderr] 79 | return Chip8{memory,v,stack,i,sp,pc,opcode,gfx,drawFlag,delay_timer,sound_timer}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Chip8{memory,v,stack,i,sp,pc,opcode,gfx,drawFlag,delay_timer,sound_timer}` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cpu.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | return Chip8{memory,v,stack,i,sp,pc,opcode,gfx,drawFlag,delay_timer,sound_timer}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Chip8{memory,v,stack,i,sp,pc,opcode,gfx,drawFlag,delay_timer,sound_timer}` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cpu.rs:102:9 [INFO] [stderr] | [INFO] [stderr] 102 | / return match letter { [INFO] [stderr] 103 | | Bit::X => ((self.opcode & 0x0F00 ) >> 8) as usize, [INFO] [stderr] 104 | | Bit::Y => ((self.opcode & 0x00F0) >> 4) as usize, [INFO] [stderr] 105 | | Bit::N => (self.opcode & 0x000F) as usize, [INFO] [stderr] 106 | | Bit::NN => (self.opcode & 0x00FF) as usize, [INFO] [stderr] 107 | | Bit::NNN => (self.opcode & 0x0FFF) as usize [INFO] [stderr] 108 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 102 | match letter { [INFO] [stderr] 103 | Bit::X => ((self.opcode & 0x0F00 ) >> 8) as usize, [INFO] [stderr] 104 | Bit::Y => ((self.opcode & 0x00F0) >> 4) as usize, [INFO] [stderr] 105 | Bit::N => (self.opcode & 0x000F) as usize, [INFO] [stderr] 106 | Bit::NN => (self.opcode & 0x00FF) as usize, [INFO] [stderr] 107 | Bit::NNN => (self.opcode & 0x0FFF) as usize [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cpu.rs:131:9 [INFO] [stderr] | [INFO] [stderr] 131 | return self.drawFlag; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.drawFlag` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/cpu.rs:273:34 [INFO] [stderr] | [INFO] [stderr] 273 | self.i = (self.i +vx as usize) ; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/cpu.rs:338:59 [INFO] [stderr] | [INFO] [stderr] 338 | if self.gfx[((x+xline) as u16+((y as u16 +yline))*64) as usize] == 1{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::double_parens)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unused variable: `count` [INFO] [stderr] --> src/main.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | let mut count = 0; [INFO] [stderr] | ^^^^^ help: consider using `_count` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `width` [INFO] [stderr] --> src/main.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | let width = 64; [INFO] [stderr] | ^^^^^ help: consider using `_width` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `height` [INFO] [stderr] --> src/main.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | let height = 32; [INFO] [stderr] | ^^^^^^ help: consider using `_height` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | let mut count = 0; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `N` [INFO] [stderr] --> src/cpu.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | X,Y,N,NN,NNN [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/cpu.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | pub fn new() -> Chip8{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: structure field `drawFlag` should have a snake case name such as `draw_flag` [INFO] [stderr] --> src/cpu.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | drawFlag:bool, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable `drawFlag` should have a snake case name such as `draw_flag` [INFO] [stderr] --> src/cpu.rs:58:13 [INFO] [stderr] | [INFO] [stderr] 58 | let drawFlag = false; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: it looks like you're manually copying between slices [INFO] [stderr] --> src/cpu.rs:75:18 [INFO] [stderr] | [INFO] [stderr] 75 | for i in 0..80{ [INFO] [stderr] | ^^^^^ help: try replacing the loop by: `memory[..80].clone_from_slice(&fontset[..80])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::manual_memcpy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stderr] [INFO] [stderr] warning: variable `drawFlag` should have a snake case name such as `draw_flag` [INFO] [stderr] --> src/cpu.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | let drawFlag = false; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:139:23 [INFO] [stderr] | [INFO] [stderr] 139 | self.opcode = (self.memory[self.pc] as u16) << 8 | self.memory[self.pc+1] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.memory[self.pc])` [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/cpu.rs:139:60 [INFO] [stderr] | [INFO] [stderr] 139 | self.opcode = (self.memory[self.pc] as u16) << 8 | self.memory[self.pc+1] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.memory[self.pc+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/cpu.rs:202:17 [INFO] [stderr] | [INFO] [stderr] 202 | self.v[x] = self.v[x]+nn as u8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.v[x] += nn as u8` [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/cpu.rs:273:25 [INFO] [stderr] | [INFO] [stderr] 273 | self.i = (self.i +vx as usize) ; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.i += vx as usize` [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/cpu.rs:338:42 [INFO] [stderr] | [INFO] [stderr] 338 | if self.gfx[((x+xline) as u16+((y as u16 +yline))*64) as usize] == 1{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u16::from(x+xline)` [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:338:61 [INFO] [stderr] | [INFO] [stderr] 338 | if self.gfx[((x+xline) as u16+((y as u16 +yline))*64) as usize] == 1{ [INFO] [stderr] | ^^^^^^^^ help: try: `u16::from(y)` [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:341:39 [INFO] [stderr] | [INFO] [stderr] 341 | self.gfx[((x +xline) as u16+((y as u16+yline)*64)) as usize] ^=1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(x +xline)` [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:341:59 [INFO] [stderr] | [INFO] [stderr] 341 | self.gfx[((x +xline) as u16+((y as u16+yline)*64)) as usize] ^=1; [INFO] [stderr] | ^^^^^^^^ help: try: `u16::from(y)` [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 loop variable `i` is used to index `buf` [INFO] [stderr] --> src/main.rs:46:14 [INFO] [stderr] | [INFO] [stderr] 46 | for i in 0..2048{ [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 46 | for (i, ) in buf.iter().enumerate(){ [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cpu.rs:79:9 [INFO] [stderr] | [INFO] [stderr] 79 | return Chip8{memory,v,stack,i,sp,pc,opcode,gfx,drawFlag,delay_timer,sound_timer}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Chip8{memory,v,stack,i,sp,pc,opcode,gfx,drawFlag,delay_timer,sound_timer}` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cpu.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | return Chip8{memory,v,stack,i,sp,pc,opcode,gfx,drawFlag,delay_timer,sound_timer}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Chip8{memory,v,stack,i,sp,pc,opcode,gfx,drawFlag,delay_timer,sound_timer}` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cpu.rs:102:9 [INFO] [stderr] | [INFO] [stderr] 102 | / return match letter { [INFO] [stderr] 103 | | Bit::X => ((self.opcode & 0x0F00 ) >> 8) as usize, [INFO] [stderr] 104 | | Bit::Y => ((self.opcode & 0x00F0) >> 4) as usize, [INFO] [stderr] 105 | | Bit::N => (self.opcode & 0x000F) as usize, [INFO] [stderr] 106 | | Bit::NN => (self.opcode & 0x00FF) as usize, [INFO] [stderr] 107 | | Bit::NNN => (self.opcode & 0x0FFF) as usize [INFO] [stderr] 108 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 102 | match letter { [INFO] [stderr] 103 | Bit::X => ((self.opcode & 0x0F00 ) >> 8) as usize, [INFO] [stderr] 104 | Bit::Y => ((self.opcode & 0x00F0) >> 4) as usize, [INFO] [stderr] 105 | Bit::N => (self.opcode & 0x000F) as usize, [INFO] [stderr] 106 | Bit::NN => (self.opcode & 0x00FF) as usize, [INFO] [stderr] 107 | Bit::NNN => (self.opcode & 0x0FFF) as usize [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cpu.rs:131:9 [INFO] [stderr] | [INFO] [stderr] 131 | return self.drawFlag; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.drawFlag` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/cpu.rs:273:34 [INFO] [stderr] | [INFO] [stderr] 273 | self.i = (self.i +vx as usize) ; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/cpu.rs:338:59 [INFO] [stderr] | [INFO] [stderr] 338 | if self.gfx[((x+xline) as u16+((y as u16 +yline))*64) as usize] == 1{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::double_parens)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unused variable: `count` [INFO] [stderr] --> src/main.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | let mut count = 0; [INFO] [stderr] | ^^^^^ help: consider using `_count` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `width` [INFO] [stderr] --> src/main.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | let width = 64; [INFO] [stderr] | ^^^^^ help: consider using `_width` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `height` [INFO] [stderr] --> src/main.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | let height = 32; [INFO] [stderr] | ^^^^^^ help: consider using `_height` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/cpu.rs:459:13 [INFO] [stderr] | [INFO] [stderr] 459 | let f:[u8;5] = [0xF0, 0x10, 0xF0, 0x80, 0xF0]; //2 [INFO] [stderr] | ^ help: consider using `_f` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | let mut count = 0; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `N` [INFO] [stderr] --> src/cpu.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | X,Y,N,NN,NNN [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: structure field `drawFlag` should have a snake case name such as `draw_flag` [INFO] [stderr] --> src/cpu.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | drawFlag:bool, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable `drawFlag` should have a snake case name such as `draw_flag` [INFO] [stderr] --> src/cpu.rs:58:13 [INFO] [stderr] | [INFO] [stderr] 58 | let drawFlag = false; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: it looks like you're manually copying between slices [INFO] [stderr] --> src/cpu.rs:75:18 [INFO] [stderr] | [INFO] [stderr] 75 | for i in 0..80{ [INFO] [stderr] | ^^^^^ help: try replacing the loop by: `memory[..80].clone_from_slice(&fontset[..80])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::manual_memcpy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stderr] [INFO] [stderr] warning: variable `drawFlag` should have a snake case name such as `draw_flag` [INFO] [stderr] --> src/cpu.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | let drawFlag = false; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:139:23 [INFO] [stderr] | [INFO] [stderr] 139 | self.opcode = (self.memory[self.pc] as u16) << 8 | self.memory[self.pc+1] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.memory[self.pc])` [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/cpu.rs:139:60 [INFO] [stderr] | [INFO] [stderr] 139 | self.opcode = (self.memory[self.pc] as u16) << 8 | self.memory[self.pc+1] as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.memory[self.pc+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/cpu.rs:202:17 [INFO] [stderr] | [INFO] [stderr] 202 | self.v[x] = self.v[x]+nn as u8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.v[x] += nn as u8` [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/cpu.rs:273:25 [INFO] [stderr] | [INFO] [stderr] 273 | self.i = (self.i +vx as usize) ; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.i += vx as usize` [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/cpu.rs:338:42 [INFO] [stderr] | [INFO] [stderr] 338 | if self.gfx[((x+xline) as u16+((y as u16 +yline))*64) as usize] == 1{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u16::from(x+xline)` [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:338:61 [INFO] [stderr] | [INFO] [stderr] 338 | if self.gfx[((x+xline) as u16+((y as u16 +yline))*64) as usize] == 1{ [INFO] [stderr] | ^^^^^^^^ help: try: `u16::from(y)` [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:341:39 [INFO] [stderr] | [INFO] [stderr] 341 | self.gfx[((x +xline) as u16+((y as u16+yline)*64)) as usize] ^=1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(x +xline)` [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/cpu.rs:341:59 [INFO] [stderr] | [INFO] [stderr] 341 | self.gfx[((x +xline) as u16+((y as u16+yline)*64)) as usize] ^=1; [INFO] [stderr] | ^^^^^^^^ help: try: `u16::from(y)` [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: function `test_BCD_fx33` should have a snake case name such as `test_bcd_fx33` [INFO] [stderr] --> src/cpu.rs:444:5 [INFO] [stderr] | [INFO] [stderr] 444 | / fn test_BCD_fx33(){ [INFO] [stderr] 445 | | //fe33 [INFO] [stderr] 446 | | let mut chip = Chip8::new(); [INFO] [stderr] 447 | | chip.memory[512] = 0xfe; [INFO] [stderr] ... | [INFO] [stderr] 453 | | assert_eq!(chip.memory[chip.i+2],5); [INFO] [stderr] 454 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `buf` [INFO] [stderr] --> src/main.rs:46:14 [INFO] [stderr] | [INFO] [stderr] 46 | for i in 0..2048{ [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 46 | for (i, ) in buf.iter().enumerate(){ [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.40s [INFO] running `"docker" "inspect" "80bd23fc34ac00cf3c5232665be427b9f16ace8e575bec8b914b3dd2a6b6312a"` [INFO] running `"docker" "rm" "-f" "80bd23fc34ac00cf3c5232665be427b9f16ace8e575bec8b914b3dd2a6b6312a"` [INFO] [stdout] 80bd23fc34ac00cf3c5232665be427b9f16ace8e575bec8b914b3dd2a6b6312a