[INFO] updating cached repository nmhanson/worm_vs_cube [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/nmhanson/worm_vs_cube [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/nmhanson/worm_vs_cube" "work/ex/clippy-test-run/sources/stable/gh/nmhanson/worm_vs_cube"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/nmhanson/worm_vs_cube'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/nmhanson/worm_vs_cube" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/nmhanson/worm_vs_cube"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/nmhanson/worm_vs_cube'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 468f577f9ac1d8bb2bfd3894855d484daee0a20f [INFO] sha for GitHub repo nmhanson/worm_vs_cube: 468f577f9ac1d8bb2bfd3894855d484daee0a20f [INFO] validating manifest of nmhanson/worm_vs_cube 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 nmhanson/worm_vs_cube 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 nmhanson/worm_vs_cube [INFO] finished frobbing nmhanson/worm_vs_cube [INFO] frobbed toml for nmhanson/worm_vs_cube written to work/ex/clippy-test-run/sources/stable/gh/nmhanson/worm_vs_cube/Cargo.toml [INFO] started frobbing nmhanson/worm_vs_cube [INFO] finished frobbing nmhanson/worm_vs_cube [INFO] frobbed toml for nmhanson/worm_vs_cube written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/nmhanson/worm_vs_cube/Cargo.toml [INFO] crate nmhanson/worm_vs_cube 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 nmhanson/worm_vs_cube against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/nmhanson/worm_vs_cube:/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] bcae70a7e7edf6c15df49777533198a1162f9f5e01798aae7e3e61ae3bb62960 [INFO] running `"docker" "start" "-a" "bcae70a7e7edf6c15df49777533198a1162f9f5e01798aae7e3e61ae3bb62960"` [INFO] [stderr] Compiling log v0.4.2 [INFO] [stderr] Compiling x11-dl v2.18.0 [INFO] [stderr] Checking inflate v0.4.2 [INFO] [stderr] Checking crossbeam-epoch v0.3.1 [INFO] [stderr] Compiling num-derive v0.2.2 [INFO] [stderr] Checking wayland-sys v0.12.5 [INFO] [stderr] Checking pistoncore-input v0.21.0 [INFO] [stderr] Checking rusttype v0.4.3 [INFO] [stderr] Compiling gl_generator v0.9.0 [INFO] [stderr] Checking wayland-client v0.12.5 [INFO] [stderr] Checking crossbeam-deque v0.2.0 [INFO] [stderr] Checking png v0.12.0 [INFO] [stderr] Checking piston2d-graphics v0.26.0 [INFO] [stderr] Checking rayon-core v1.4.0 [INFO] [stderr] Checking rayon v1.0.1 [INFO] [stderr] Compiling glutin v0.14.0 [INFO] [stderr] Compiling gl v0.10.0 [INFO] [stderr] Checking wayland-protocols v0.12.5 [INFO] [stderr] Checking wayland-kbd v0.13.1 [INFO] [stderr] Checking pistoncore-window v0.32.0 [INFO] [stderr] Checking pistoncore-event_loop v0.37.0 [INFO] [stderr] Checking jpeg-decoder v0.1.15 [INFO] [stderr] Checking piston v0.37.0 [INFO] [stderr] Checking image v0.19.0 [INFO] [stderr] Checking wayland-window v0.13.3 [INFO] [stderr] Checking winit v0.12.0 [INFO] [stderr] Checking pistoncore-glutin_window v0.47.0 [INFO] [stderr] Checking piston2d-opengl_graphics v0.53.0 [INFO] [stderr] Checking worm_vs_cube v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused variable: `w` [INFO] [stderr] --> src/worm_game/play_area.rs:11:16 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new(w: f64, h: f64) -> PlayArea { [INFO] [stderr] | ^ help: consider using `_w` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h` [INFO] [stderr] --> src/worm_game/play_area.rs:11:24 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new(w: f64, h: f64) -> PlayArea { [INFO] [stderr] | ^ help: consider using `_h` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c` [INFO] [stderr] --> src/worm_game/mod.rs:46:40 [INFO] [stderr] | [INFO] [stderr] 46 | self.gl.draw(args.viewport(), |c, gl| { [INFO] [stderr] | ^ help: consider using `_c` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cube` [INFO] [stderr] --> src/worm_game/mod.rs:54:26 [INFO] [stderr] | [INFO] [stderr] 54 | Some(cube) => { [INFO] [stderr] | ^^^^ help: consider using `_cube` instead [INFO] [stderr] [INFO] [stderr] warning: field is never used: `length` [INFO] [stderr] --> src/worm_game/worm.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | length: u8, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `pos` [INFO] [stderr] --> src/worm_game/worm.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | pos: f64, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `hit_points` [INFO] [stderr] --> src/worm_game/cube.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | hit_points: u8, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `player` [INFO] [stderr] --> src/worm_game/mod.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | player: Worm, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `score` [INFO] [stderr] --> src/worm_game/mod.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | score: i32, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `GREEN` [INFO] [stderr] --> src/worm_game/mod.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | const GREEN: [f32; 4] = [0.0, 1.0, 0.0, 1.0]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `debug_grid` [INFO] [stderr] --> src/main.rs:38:1 [INFO] [stderr] | [INFO] [stderr] 38 | fn debug_grid(wg: &WormGame) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `x` is only used to index `grid_row`. [INFO] [stderr] --> src/worm_game/play_area.rs:40:18 [INFO] [stderr] | [INFO] [stderr] 40 | for x in 0 .. ::GRID_X_MAX { [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] 40 | for in grid_row.iter_mut().take(::GRID_X_MAX) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `worm_game::WormGame` [INFO] [stderr] --> src/worm_game/mod.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | / pub fn new() -> WormGame { [INFO] [stderr] 27 | | WormGame { [INFO] [stderr] 28 | | timer: 0.0, [INFO] [stderr] 29 | | last_gen_time: 0.0, [INFO] [stderr] ... | [INFO] [stderr] 34 | | } [INFO] [stderr] 35 | | } [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 worm_game::WormGame { [INFO] [stderr] 26 | fn default() -> Self { [INFO] [stderr] 27 | Self::new() [INFO] [stderr] 28 | } [INFO] [stderr] 29 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/worm_game/mod.rs:40:31 [INFO] [stderr] | [INFO] [stderr] 40 | let cube_width: f64 = args.width as f64 / ::GRID_X_MAX as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(args.width)` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/worm_game/mod.rs:68:36 [INFO] [stderr] | [INFO] [stderr] 68 | pub fn update(&mut self, args: &UpdateArgs) { [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `UpdateArgs` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: unused variable: `w` [INFO] [stderr] --> src/worm_game/play_area.rs:11:16 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new(w: f64, h: f64) -> PlayArea { [INFO] [stderr] | ^ help: consider using `_w` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h` [INFO] [stderr] --> src/worm_game/play_area.rs:11:24 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn new(w: f64, h: f64) -> PlayArea { [INFO] [stderr] | ^ help: consider using `_h` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c` [INFO] [stderr] --> src/worm_game/mod.rs:46:40 [INFO] [stderr] | [INFO] [stderr] 46 | self.gl.draw(args.viewport(), |c, gl| { [INFO] [stderr] | ^ help: consider using `_c` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cube` [INFO] [stderr] --> src/worm_game/mod.rs:54:26 [INFO] [stderr] | [INFO] [stderr] 54 | Some(cube) => { [INFO] [stderr] | ^^^^ help: consider using `_cube` instead [INFO] [stderr] [INFO] [stderr] warning: field is never used: `length` [INFO] [stderr] --> src/worm_game/worm.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | length: u8, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `pos` [INFO] [stderr] --> src/worm_game/worm.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | pos: f64, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `hit_points` [INFO] [stderr] --> src/worm_game/cube.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | hit_points: u8, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `player` [INFO] [stderr] --> src/worm_game/mod.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | player: Worm, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `score` [INFO] [stderr] --> src/worm_game/mod.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | score: i32, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `GREEN` [INFO] [stderr] --> src/worm_game/mod.rs:42:9 [INFO] [stderr] | [INFO] [stderr] 42 | const GREEN: [f32; 4] = [0.0, 1.0, 0.0, 1.0]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `debug_grid` [INFO] [stderr] --> src/main.rs:38:1 [INFO] [stderr] | [INFO] [stderr] 38 | fn debug_grid(wg: &WormGame) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `x` is only used to index `grid_row`. [INFO] [stderr] --> src/worm_game/play_area.rs:40:18 [INFO] [stderr] | [INFO] [stderr] 40 | for x in 0 .. ::GRID_X_MAX { [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] 40 | for in grid_row.iter_mut().take(::GRID_X_MAX) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `worm_game::WormGame` [INFO] [stderr] --> src/worm_game/mod.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | / pub fn new() -> WormGame { [INFO] [stderr] 27 | | WormGame { [INFO] [stderr] 28 | | timer: 0.0, [INFO] [stderr] 29 | | last_gen_time: 0.0, [INFO] [stderr] ... | [INFO] [stderr] 34 | | } [INFO] [stderr] 35 | | } [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 worm_game::WormGame { [INFO] [stderr] 26 | fn default() -> Self { [INFO] [stderr] 27 | Self::new() [INFO] [stderr] 28 | } [INFO] [stderr] 29 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/worm_game/mod.rs:40:31 [INFO] [stderr] | [INFO] [stderr] 40 | let cube_width: f64 = args.width as f64 / ::GRID_X_MAX as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(args.width)` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/worm_game/mod.rs:68:36 [INFO] [stderr] | [INFO] [stderr] 68 | pub fn update(&mut self, args: &UpdateArgs) { [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `UpdateArgs` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 45.24s [INFO] running `"docker" "inspect" "bcae70a7e7edf6c15df49777533198a1162f9f5e01798aae7e3e61ae3bb62960"` [INFO] running `"docker" "rm" "-f" "bcae70a7e7edf6c15df49777533198a1162f9f5e01798aae7e3e61ae3bb62960"` [INFO] [stdout] bcae70a7e7edf6c15df49777533198a1162f9f5e01798aae7e3e61ae3bb62960