[INFO] updating cached repository jcfischer/rust-color-game [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/jcfischer/rust-color-game [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/jcfischer/rust-color-game" "work/ex/clippy-test-run/sources/stable/gh/jcfischer/rust-color-game"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/jcfischer/rust-color-game'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/jcfischer/rust-color-game" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/jcfischer/rust-color-game"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/jcfischer/rust-color-game'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 474fc893e5cc9bfc82d3ba5304d5f2816f30c191 [INFO] sha for GitHub repo jcfischer/rust-color-game: 474fc893e5cc9bfc82d3ba5304d5f2816f30c191 [INFO] validating manifest of jcfischer/rust-color-game 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 jcfischer/rust-color-game 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 jcfischer/rust-color-game [INFO] finished frobbing jcfischer/rust-color-game [INFO] frobbed toml for jcfischer/rust-color-game written to work/ex/clippy-test-run/sources/stable/gh/jcfischer/rust-color-game/Cargo.toml [INFO] started frobbing jcfischer/rust-color-game [INFO] finished frobbing jcfischer/rust-color-game [INFO] frobbed toml for jcfischer/rust-color-game written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/jcfischer/rust-color-game/Cargo.toml [INFO] crate jcfischer/rust-color-game 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 jcfischer/rust-color-game 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/jcfischer/rust-color-game:/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] d58dd1e453624d2db31744fdafcc0d3deb785d60a64995df4e26f10bf9f26e19 [INFO] running `"docker" "start" "-a" "d58dd1e453624d2db31744fdafcc0d3deb785d60a64995df4e26f10bf9f26e19"` [INFO] [stderr] Checking tic-tac-go v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/brain.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | is_human: is_human, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `is_human` [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/player.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | color: color, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `color` [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/player.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | brain: brain, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `brain` [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/gameboard_controller.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | gameboard: gameboard, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `gameboard` [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/gameboard_controller.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | players: players, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `players` [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/gameboard_view.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | settings: settings, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `settings` [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/brain.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | is_human: is_human, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `is_human` [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/player.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | color: color, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `color` [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/player.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | brain: brain, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `brain` [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/gameboard_controller.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | gameboard: gameboard, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `gameboard` [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/gameboard_controller.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | players: players, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `players` [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/gameboard_view.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | settings: settings, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `settings` [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: unneeded return statement [INFO] [stderr] --> src/gameboard.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | return self.cells[ind[0]][ind[1]]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.cells[ind[0]][ind[1]]` [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/gameboard_controller.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 35 | return self.players[self.current_index]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.players[self.current_index]` [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/gameboard.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | return self.cells[ind[0]][ind[1]]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.cells[ind[0]][ind[1]]` [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/gameboard_controller.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 35 | return self.players[self.current_index]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.players[self.current_index]` [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: you should consider adding a `Default` implementation for `gameboard::Gameboard` [INFO] [stderr] --> src/gameboard.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | / pub fn new() -> Gameboard { [INFO] [stderr] 28 | | Gameboard { [INFO] [stderr] 29 | | cells: [[Player::new(COLOR_0, Brain::new(true)); SIZE]; SIZE], [INFO] [stderr] 30 | | } [INFO] [stderr] 31 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 25 | impl Default for gameboard::Gameboard { [INFO] [stderr] 26 | fn default() -> Self { [INFO] [stderr] 27 | Self::new() [INFO] [stderr] 28 | } [INFO] [stderr] 29 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: methods called `is_*` usually take self by reference or no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/gameboard.rs:60:20 [INFO] [stderr] | [INFO] [stderr] 60 | pub fn is_free(&mut self, pos: [usize; 2]) -> bool { [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: you should consider deriving a `Default` implementation for `gameboard_view::GameboardViewSettings` [INFO] [stderr] --> src/gameboard_view.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | / pub fn new() -> GameboardViewSettings { [INFO] [stderr] 37 | | GameboardViewSettings { [INFO] [stderr] 38 | | position: [10.0; 2], [INFO] [stderr] 39 | | size: 400.0, [INFO] [stderr] ... | [INFO] [stderr] 49 | | } [INFO] [stderr] 50 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 9 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/gameboard_view.rs:71:13 [INFO] [stderr] | [INFO] [stderr] 71 | let ref settings = self.settings; [INFO] [stderr] | ----^^^^^^^^^^^^----------------- help: try: `let settings = &self.settings;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/gameboard_view.rs:97:44 [INFO] [stderr] | [INFO] [stderr] 97 | let x = settings.position[0] + i as f64 / 9.0 * settings.size; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(i)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/gameboard_view.rs:98:44 [INFO] [stderr] | [INFO] [stderr] 98 | let y = settings.position[1] + i as f64 / 9.0 * settings.size; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(i)` [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: you should consider adding a `Default` implementation for `gameboard::Gameboard` [INFO] [stderr] --> src/gameboard.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | / pub fn new() -> Gameboard { [INFO] [stderr] 28 | | Gameboard { [INFO] [stderr] 29 | | cells: [[Player::new(COLOR_0, Brain::new(true)); SIZE]; SIZE], [INFO] [stderr] 30 | | } [INFO] [stderr] 31 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 25 | impl Default for gameboard::Gameboard { [INFO] [stderr] 26 | fn default() -> Self { [INFO] [stderr] 27 | Self::new() [INFO] [stderr] 28 | } [INFO] [stderr] 29 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: methods called `is_*` usually take self by reference or no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/gameboard.rs:60:20 [INFO] [stderr] | [INFO] [stderr] 60 | pub fn is_free(&mut self, pos: [usize; 2]) -> bool { [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: you should consider deriving a `Default` implementation for `gameboard_view::GameboardViewSettings` [INFO] [stderr] --> src/gameboard_view.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | / pub fn new() -> GameboardViewSettings { [INFO] [stderr] 37 | | GameboardViewSettings { [INFO] [stderr] 38 | | position: [10.0; 2], [INFO] [stderr] 39 | | size: 400.0, [INFO] [stderr] ... | [INFO] [stderr] 49 | | } [INFO] [stderr] 50 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 9 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/gameboard_view.rs:71:13 [INFO] [stderr] | [INFO] [stderr] 71 | let ref settings = self.settings; [INFO] [stderr] | ----^^^^^^^^^^^^----------------- help: try: `let settings = &self.settings;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/gameboard_view.rs:97:44 [INFO] [stderr] | [INFO] [stderr] 97 | let x = settings.position[0] + i as f64 / 9.0 * settings.size; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(i)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/gameboard_view.rs:98:44 [INFO] [stderr] | [INFO] [stderr] 98 | let y = settings.position[1] + i as f64 / 9.0 * settings.size; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(i)` [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] Finished dev [unoptimized + debuginfo] target(s) in 5.79s [INFO] running `"docker" "inspect" "d58dd1e453624d2db31744fdafcc0d3deb785d60a64995df4e26f10bf9f26e19"` [INFO] running `"docker" "rm" "-f" "d58dd1e453624d2db31744fdafcc0d3deb785d60a64995df4e26f10bf9f26e19"` [INFO] [stdout] d58dd1e453624d2db31744fdafcc0d3deb785d60a64995df4e26f10bf9f26e19