[INFO] crate matrix_display 0.9.0 is already in cache [INFO] extracting crate matrix_display 0.9.0 into work/ex/clippy-test-run/sources/stable/reg/matrix_display/0.9.0 [INFO] extracting crate matrix_display 0.9.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/matrix_display/0.9.0 [INFO] validating manifest of matrix_display-0.9.0 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 matrix_display-0.9.0 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 matrix_display-0.9.0 [INFO] finished frobbing matrix_display-0.9.0 [INFO] frobbed toml for matrix_display-0.9.0 written to work/ex/clippy-test-run/sources/stable/reg/matrix_display/0.9.0/Cargo.toml [INFO] started frobbing matrix_display-0.9.0 [INFO] finished frobbing matrix_display-0.9.0 [INFO] frobbed toml for matrix_display-0.9.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/matrix_display/0.9.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [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 matrix_display-0.9.0 against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/matrix_display/0.9.0:/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 -Dclippy::into_iter_on_array" "-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] 0e322c144bb0547ee4a54e79368a7eead72c25c8ef6bf2949cf4e732b23cfa49 [INFO] running `"docker" "start" "-a" "0e322c144bb0547ee4a54e79368a7eead72c25c8ef6bf2949cf4e732b23cfa49"` [INFO] [stderr] Checking matrix_display v0.9.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cell.rs:88:36 [INFO] [stderr] | [INFO] [stderr] 88 | color: AnsiColor { fg: fg, bg: bg }, [INFO] [stderr] | ^^^^^^ help: replace it with: `fg` [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/cell.rs:88:44 [INFO] [stderr] | [INFO] [stderr] 88 | color: AnsiColor { fg: fg, bg: bg }, [INFO] [stderr] | ^^^^^^ help: replace it with: `bg` [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: redundant field names in struct initialization [INFO] [stderr] --> src/matrix/mod.rs:113:13 [INFO] [stderr] | [INFO] [stderr] 113 | n_cols: n_cols, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `n_cols` [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: redundant field names in struct initialization [INFO] [stderr] --> src/matrix/mod.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | cells: cells, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `cells` [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: redundant field names in struct initialization [INFO] [stderr] --> src/cell.rs:88:36 [INFO] [stderr] | [INFO] [stderr] 88 | color: AnsiColor { fg: fg, bg: bg }, [INFO] [stderr] | ^^^^^^ help: replace it with: `fg` [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/cell.rs:88:44 [INFO] [stderr] | [INFO] [stderr] 88 | color: AnsiColor { fg: fg, bg: bg }, [INFO] [stderr] | ^^^^^^ help: replace it with: `bg` [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: redundant field names in struct initialization [INFO] [stderr] --> src/matrix/mod.rs:113:13 [INFO] [stderr] | [INFO] [stderr] 113 | n_cols: n_cols, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `n_cols` [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: redundant field names in struct initialization [INFO] [stderr] --> src/matrix/mod.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | cells: cells, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `cells` [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: module has the same name as its containing module [INFO] [stderr] --> src/cell.rs:28:1 [INFO] [stderr] | [INFO] [stderr] 28 | / mod cell { [INFO] [stderr] 29 | | /// A foreground and background color's ansi code [INFO] [stderr] 30 | | /// [INFO] [stderr] 31 | | /// # Example: [INFO] [stderr] ... | [INFO] [stderr] 91 | | } [INFO] [stderr] 92 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/matrix/position.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | / mod position { [INFO] [stderr] 5 | | /// Enum that describes a position within a rectangle [INFO] [stderr] 6 | | /// [INFO] [stderr] 7 | | /// The position can be accessed at two levels of granularity: [INFO] [stderr] ... | [INFO] [stderr] 61 | | } [INFO] [stderr] 62 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/pad.rs:52:1 [INFO] [stderr] | [INFO] [stderr] 52 | / mod pad { [INFO] [stderr] 53 | | [INFO] [stderr] 54 | | use pad::unicode_width::{ UnicodeWidthStr, UnicodeWidthChar }; [INFO] [stderr] 55 | | use std; [INFO] [stderr] ... | [INFO] [stderr] 78 | | } [INFO] [stderr] 79 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/style.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | / mod style { [INFO] [stderr] 10 | | /// An enum that represents different unicode borders styles [INFO] [stderr] 11 | | /// [INFO] [stderr] 12 | | /// It provides accessors for specific locations such as top_left_corner to be used by the printing code [INFO] [stderr] ... | [INFO] [stderr] 199 | | } [INFO] [stderr] 200 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/cell.rs:28:1 [INFO] [stderr] | [INFO] [stderr] 28 | / mod cell { [INFO] [stderr] 29 | | /// A foreground and background color's ansi code [INFO] [stderr] 30 | | /// [INFO] [stderr] 31 | | /// # Example: [INFO] [stderr] ... | [INFO] [stderr] 91 | | } [INFO] [stderr] 92 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/matrix/position.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | / mod position { [INFO] [stderr] 5 | | /// Enum that describes a position within a rectangle [INFO] [stderr] 6 | | /// [INFO] [stderr] 7 | | /// The position can be accessed at two levels of granularity: [INFO] [stderr] ... | [INFO] [stderr] 61 | | } [INFO] [stderr] 62 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/pad.rs:52:1 [INFO] [stderr] | [INFO] [stderr] 52 | / mod pad { [INFO] [stderr] 53 | | [INFO] [stderr] 54 | | use pad::unicode_width::{ UnicodeWidthStr, UnicodeWidthChar }; [INFO] [stderr] 55 | | use std; [INFO] [stderr] ... | [INFO] [stderr] 78 | | } [INFO] [stderr] 79 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/style.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | / mod style { [INFO] [stderr] 10 | | /// An enum that represents different unicode borders styles [INFO] [stderr] 11 | | /// [INFO] [stderr] 12 | | /// It provides accessors for specific locations such as top_left_corner to be used by the printing code [INFO] [stderr] ... | [INFO] [stderr] 199 | | } [INFO] [stderr] 200 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: methods called `from_*` usually take no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/matrix/mod.rs:141:19 [INFO] [stderr] | [INFO] [stderr] 141 | fn from_index(&self, index: usize) -> position::Position { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/lib.rs:219:5 [INFO] [stderr] | [INFO] [stderr] 219 | / fn cell( [INFO] [stderr] 220 | | &self, [INFO] [stderr] 221 | | left: char, [INFO] [stderr] 222 | | middle: char, [INFO] [stderr] ... | [INFO] [stderr] 250 | | ] [INFO] [stderr] 251 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/lib.rs:364:9 [INFO] [stderr] | [INFO] [stderr] 364 | / self.mat [INFO] [stderr] 365 | | .enumerate_cells() [INFO] [stderr] 366 | | .chunks(self.n_cols()) [INFO] [stderr] 367 | | .into_iter() [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] help: consider removing `.into_iter()` [INFO] [stderr] | [INFO] [stderr] 364 | self.mat [INFO] [stderr] 365 | .enumerate_cells() [INFO] [stderr] 366 | .chunks(self.n_cols()) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> examples/chess.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::deprecated_cfg_attr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: methods called `from_*` usually take no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/matrix/mod.rs:141:19 [INFO] [stderr] | [INFO] [stderr] 141 | fn from_index(&self, index: usize) -> position::Position { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/lib.rs:219:5 [INFO] [stderr] | [INFO] [stderr] 219 | / fn cell( [INFO] [stderr] 220 | | &self, [INFO] [stderr] 221 | | left: char, [INFO] [stderr] 222 | | middle: char, [INFO] [stderr] ... | [INFO] [stderr] 250 | | ] [INFO] [stderr] 251 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/lib.rs:364:9 [INFO] [stderr] | [INFO] [stderr] 364 | / self.mat [INFO] [stderr] 365 | | .enumerate_cells() [INFO] [stderr] 366 | | .chunks(self.n_cols()) [INFO] [stderr] 367 | | .into_iter() [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] help: consider removing `.into_iter()` [INFO] [stderr] | [INFO] [stderr] 364 | self.mat [INFO] [stderr] 365 | .enumerate_cells() [INFO] [stderr] 366 | .chunks(self.n_cols()) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> examples/chess.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | / let mut ansi_bg = 0; [INFO] [stderr] 20 | | if i % 2 + (i / 8) % 2 == 1 { [INFO] [stderr] 21 | | ansi_bg = 7; [INFO] [stderr] 22 | | } [INFO] [stderr] | |_____________^ help: it is more idiomatic to write: `let ansi_bg = if i % 2 + (i / 8) % 2 == 1 { 7 } else { 0 };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> examples/chess.rs:23:29 [INFO] [stderr] | [INFO] [stderr] 23 | cell::Cell::new(x.clone(), ansi_fg, ansi_bg) [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*x` [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> examples/2048.rs:11:24 [INFO] [stderr] | [INFO] [stderr] 11 | *colour_theme.get(x as usize).unwrap() as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `colour_theme[x as usize]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.23s [INFO] running `"docker" "inspect" "0e322c144bb0547ee4a54e79368a7eead72c25c8ef6bf2949cf4e732b23cfa49"` [INFO] running `"docker" "rm" "-f" "0e322c144bb0547ee4a54e79368a7eead72c25c8ef6bf2949cf4e732b23cfa49"` [INFO] [stdout] 0e322c144bb0547ee4a54e79368a7eead72c25c8ef6bf2949cf4e732b23cfa49