[INFO] updating cached repository creators/cli.nonograms.rs [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/creators/cli.nonograms.rs [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/creators/cli.nonograms.rs" "work/ex/clippy-test-run/sources/stable/gh/creators/cli.nonograms.rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/creators/cli.nonograms.rs'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/creators/cli.nonograms.rs" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/creators/cli.nonograms.rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/creators/cli.nonograms.rs'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 3430bd2b2990dfbabba0df75d598e3c93d030077 [INFO] sha for GitHub repo creators/cli.nonograms.rs: 3430bd2b2990dfbabba0df75d598e3c93d030077 [INFO] validating manifest of creators/cli.nonograms.rs 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 creators/cli.nonograms.rs 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 creators/cli.nonograms.rs [INFO] finished frobbing creators/cli.nonograms.rs [INFO] frobbed toml for creators/cli.nonograms.rs written to work/ex/clippy-test-run/sources/stable/gh/creators/cli.nonograms.rs/Cargo.toml [INFO] started frobbing creators/cli.nonograms.rs [INFO] finished frobbing creators/cli.nonograms.rs [INFO] frobbed toml for creators/cli.nonograms.rs written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/creators/cli.nonograms.rs/Cargo.toml [INFO] crate creators/cli.nonograms.rs 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 creators/cli.nonograms.rs 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/creators/cli.nonograms.rs:/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] 820ca4e55fba186c7030c833669a4d197f831c9e775ab27e23ea64be50e9f6ac [INFO] running `"docker" "start" "-a" "820ca4e55fba186c7030c833669a4d197f831c9e775ab27e23ea64be50e9f6ac"` [INFO] [stderr] Compiling nonograms v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: literal with an empty format string [INFO] [stderr] --> src/term.rs:43:19 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}[", '\x1B'); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::print_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:65:13 [INFO] [stderr] | [INFO] [stderr] 65 | template: template, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `template` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:66:13 [INFO] [stderr] | [INFO] [stderr] 66 | grid: grid, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `grid` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/main.rs:227:13 [INFO] [stderr] | [INFO] [stderr] 227 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/main.rs:278:9 [INFO] [stderr] | [INFO] [stderr] 278 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: literal with an empty format string [INFO] [stderr] --> src/term.rs:43:19 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}[", '\x1B'); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::print_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:65:13 [INFO] [stderr] | [INFO] [stderr] 65 | template: template, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `template` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:66:13 [INFO] [stderr] | [INFO] [stderr] 66 | grid: grid, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `grid` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/main.rs:227:13 [INFO] [stderr] | [INFO] [stderr] 227 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/main.rs:278:9 [INFO] [stderr] | [INFO] [stderr] 278 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/main.rs:264:22 [INFO] [stderr] | [INFO] [stderr] 264 | else { [INFO] [stderr] | ______________________^ [INFO] [stderr] 265 | | if point.0 == i && point.1 == cur_y { [INFO] [stderr] 266 | | print!("x "); [INFO] [stderr] 267 | | } [INFO] [stderr] ... | [INFO] [stderr] 270 | | } [INFO] [stderr] 271 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 264 | else if point.0 == i && point.1 == cur_y { [INFO] [stderr] 265 | print!("x "); [INFO] [stderr] 266 | } [INFO] [stderr] 267 | else { [INFO] [stderr] 268 | print!(" "); [INFO] [stderr] 269 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/main.rs:264:22 [INFO] [stderr] | [INFO] [stderr] 264 | else { [INFO] [stderr] | ______________________^ [INFO] [stderr] 265 | | if point.0 == i && point.1 == cur_y { [INFO] [stderr] 266 | | print!("x "); [INFO] [stderr] 267 | | } [INFO] [stderr] ... | [INFO] [stderr] 270 | | } [INFO] [stderr] 271 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 264 | else if point.0 == i && point.1 == cur_y { [INFO] [stderr] 265 | print!("x "); [INFO] [stderr] 266 | } [INFO] [stderr] 267 | else { [INFO] [stderr] 268 | print!(" "); [INFO] [stderr] 269 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/main.rs:181:13 [INFO] [stderr] | [INFO] [stderr] 181 | for i in 0..y { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `len` [INFO] [stderr] --> src/main.rs:194:43 [INFO] [stderr] | [INFO] [stderr] 194 | fn draw_x_axis(&self, x:Vec>, len:usize, offset:usize) { [INFO] [stderr] | ^^^ help: consider using `_len` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `l` [INFO] [stderr] --> src/main.rs:224:17 [INFO] [stderr] | [INFO] [stderr] 224 | for l in 0..y.len() { [INFO] [stderr] | ^ help: consider using `_l` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `offset` [INFO] [stderr] --> src/main.rs:211:54 [INFO] [stderr] | [INFO] [stderr] 211 | fn draw_y_axis(&self, y:Vec>, len:usize, offset:usize) { [INFO] [stderr] | ^^^^^^ help: consider using `_offset` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:175:15 [INFO] [stderr] | [INFO] [stderr] 175 | fn rotate(mut board: Vec>) -> Vec> { [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: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:246:21 [INFO] [stderr] | [INFO] [stderr] 246 | let (mut i, mut j) = self.point.clone(); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/main.rs:181:13 [INFO] [stderr] | [INFO] [stderr] 181 | for i in 0..y { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `len` [INFO] [stderr] --> src/main.rs:194:43 [INFO] [stderr] | [INFO] [stderr] 194 | fn draw_x_axis(&self, x:Vec>, len:usize, offset:usize) { [INFO] [stderr] | ^^^ help: consider using `_len` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `l` [INFO] [stderr] --> src/main.rs:224:17 [INFO] [stderr] | [INFO] [stderr] 224 | for l in 0..y.len() { [INFO] [stderr] | ^ help: consider using `_l` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `offset` [INFO] [stderr] --> src/main.rs:211:54 [INFO] [stderr] | [INFO] [stderr] 211 | fn draw_y_axis(&self, y:Vec>, len:usize, offset:usize) { [INFO] [stderr] | ^^^^^^ help: consider using `_offset` instead [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/term.rs:10:13 [INFO] [stderr] | [INFO] [stderr] 10 | let _ = unsafe { getch(); }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:175:15 [INFO] [stderr] | [INFO] [stderr] 175 | fn rotate(mut board: Vec>) -> Vec> { [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:88:22 [INFO] [stderr] | [INFO] [stderr] 88 | fn axis_x(board: &Vec>) -> (Vec>, u32) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: change this to: `&[Vec]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `y` is only used to index `arr`. [INFO] [stderr] --> src/main.rs:118:22 [INFO] [stderr] | [INFO] [stderr] 118 | for y in 0..arr.len() { [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] 118 | for in &arr { [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:246:21 [INFO] [stderr] | [INFO] [stderr] 246 | let (mut i, mut j) = self.point.clone(); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:133:22 [INFO] [stderr] | [INFO] [stderr] 133 | fn axis_y(board: &Vec>) -> (Vec>, u32) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: change this to: `&[Vec]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `j` is used to index `mirror` [INFO] [stderr] --> src/main.rs:185:18 [INFO] [stderr] | [INFO] [stderr] 185 | for j in 0..y { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [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] 185 | for (j, ) in mirror.iter_mut().enumerate().take(y) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `x` [INFO] [stderr] --> src/main.rs:195:18 [INFO] [stderr] | [INFO] [stderr] 195 | for i in 0..x.len() { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [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] 195 | for (i, ) in x.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/term.rs:10:13 [INFO] [stderr] | [INFO] [stderr] 10 | let _ = unsafe { getch(); }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:246:30 [INFO] [stderr] | [INFO] [stderr] 246 | let (mut i, mut j) = self.point.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.point` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:247:25 [INFO] [stderr] | [INFO] [stderr] 247 | let mut cur_y = j.clone(); [INFO] [stderr] | ^^^^^^^^^ help: try removing the `clone` call: `j` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:283:25 [INFO] [stderr] | [INFO] [stderr] 283 | let mut point = self.point.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.point` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:286:23 [INFO] [stderr] | [INFO] [stderr] 286 | self.draw(point.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `point` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: this `.fold` can be written more succinctly using another method [INFO] [stderr] --> src/main.rs:335:77 [INFO] [stderr] | [INFO] [stderr] 335 | let tpl_cells = self.template.iter().fold(0, |sum, i| sum + i.iter().fold(0, |sum, i| sum + i)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.sum()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_fold)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stderr] [INFO] [stderr] warning: this `.fold` can be written more succinctly using another method [INFO] [stderr] --> src/main.rs:336:74 [INFO] [stderr] | [INFO] [stderr] 336 | let grid_cells = self.grid.iter().fold(0, |sum, i| sum + i.iter().fold(0, |sum, i| sum + i)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.sum()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:88:22 [INFO] [stderr] | [INFO] [stderr] 88 | fn axis_x(board: &Vec>) -> (Vec>, u32) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: change this to: `&[Vec]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `y` is only used to index `arr`. [INFO] [stderr] --> src/main.rs:118:22 [INFO] [stderr] | [INFO] [stderr] 118 | for y in 0..arr.len() { [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] 118 | for in &arr { [INFO] [stderr] | ^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:133:22 [INFO] [stderr] | [INFO] [stderr] 133 | fn axis_y(board: &Vec>) -> (Vec>, u32) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: change this to: `&[Vec]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `j` is used to index `mirror` [INFO] [stderr] --> src/main.rs:185:18 [INFO] [stderr] | [INFO] [stderr] 185 | for j in 0..y { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [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] 185 | for (j, ) in mirror.iter_mut().enumerate().take(y) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `x` [INFO] [stderr] --> src/main.rs:195:18 [INFO] [stderr] | [INFO] [stderr] 195 | for i in 0..x.len() { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [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] 195 | for (i, ) in x.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:246:30 [INFO] [stderr] | [INFO] [stderr] 246 | let (mut i, mut j) = self.point.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.point` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:247:25 [INFO] [stderr] | [INFO] [stderr] 247 | let mut cur_y = j.clone(); [INFO] [stderr] | ^^^^^^^^^ help: try removing the `clone` call: `j` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:283:25 [INFO] [stderr] | [INFO] [stderr] 283 | let mut point = self.point.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.point` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:286:23 [INFO] [stderr] | [INFO] [stderr] 286 | self.draw(point.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `point` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: this `.fold` can be written more succinctly using another method [INFO] [stderr] --> src/main.rs:335:77 [INFO] [stderr] | [INFO] [stderr] 335 | let tpl_cells = self.template.iter().fold(0, |sum, i| sum + i.iter().fold(0, |sum, i| sum + i)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.sum()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_fold)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stderr] [INFO] [stderr] warning: this `.fold` can be written more succinctly using another method [INFO] [stderr] --> src/main.rs:336:74 [INFO] [stderr] | [INFO] [stderr] 336 | let grid_cells = self.grid.iter().fold(0, |sum, i| sum + i.iter().fold(0, |sum, i| sum + i)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.sum()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.33s [INFO] running `"docker" "inspect" "820ca4e55fba186c7030c833669a4d197f831c9e775ab27e23ea64be50e9f6ac"` [INFO] running `"docker" "rm" "-f" "820ca4e55fba186c7030c833669a4d197f831c9e775ab27e23ea64be50e9f6ac"` [INFO] [stdout] 820ca4e55fba186c7030c833669a4d197f831c9e775ab27e23ea64be50e9f6ac