[INFO] updating cached repository ttaomae/tet-rs [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/ttaomae/tet-rs [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/ttaomae/tet-rs" "work/ex/clippy-test-run/sources/stable/gh/ttaomae/tet-rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/ttaomae/tet-rs'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/ttaomae/tet-rs" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/ttaomae/tet-rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/ttaomae/tet-rs'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 5cd6dceda2969fb24b22bfc9ba270e1d1044319d [INFO] sha for GitHub repo ttaomae/tet-rs: 5cd6dceda2969fb24b22bfc9ba270e1d1044319d [INFO] validating manifest of ttaomae/tet-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 ttaomae/tet-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 ttaomae/tet-rs [INFO] finished frobbing ttaomae/tet-rs [INFO] frobbed toml for ttaomae/tet-rs written to work/ex/clippy-test-run/sources/stable/gh/ttaomae/tet-rs/Cargo.toml [INFO] started frobbing ttaomae/tet-rs [INFO] finished frobbing ttaomae/tet-rs [INFO] frobbed toml for ttaomae/tet-rs written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/ttaomae/tet-rs/Cargo.toml [INFO] crate ttaomae/tet-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 ttaomae/tet-rs against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/ttaomae/tet-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] 6e16d325af0c35a36405e9e83daead5ffaaa7f42bef4de81612b7712b0b0acf3 [INFO] running `"docker" "start" "-a" "6e16d325af0c35a36405e9e83daead5ffaaa7f42bef4de81612b7712b0b0acf3"` [INFO] [stderr] Checking deflate v0.7.18 [INFO] [stderr] Compiling wayland-scanner v0.12.5 [INFO] [stderr] Checking tempfile v3.0.4 [INFO] [stderr] Checking gfx_core v0.8.2 [INFO] [stderr] Checking crossbeam-epoch v0.3.1 [INFO] [stderr] Checking x11-dl v2.18.3 [INFO] [stderr] Checking shared_library v0.1.9 [INFO] [stderr] Compiling syn v0.14.9 [INFO] [stderr] Checking num-rational v0.1.42 [INFO] [stderr] Checking ordered-float v0.5.2 [INFO] [stderr] Compiling glutin v0.14.0 [INFO] [stderr] Checking wayland-sys v0.12.5 [INFO] [stderr] Checking osmesa-sys v0.1.2 [INFO] [stderr] Checking crossbeam-deque v0.2.0 [INFO] [stderr] Checking rusttype v0.4.3 [INFO] [stderr] Checking pistoncore-input v0.21.0 [INFO] [stderr] Checking png v0.12.0 [INFO] [stderr] Checking rayon-core v1.4.1 [INFO] [stderr] Compiling wayland-client v0.12.5 [INFO] [stderr] Compiling wayland-protocols v0.12.5 [INFO] [stderr] Checking piston2d-graphics v0.26.0 [INFO] [stderr] Checking rayon v1.0.2 [INFO] [stderr] Checking pistoncore-window v0.32.0 [INFO] [stderr] Compiling num-derive v0.2.2 [INFO] [stderr] Checking pistoncore-event_loop v0.37.0 [INFO] [stderr] Checking piston v0.37.0 [INFO] [stderr] Checking jpeg-decoder v0.1.15 [INFO] [stderr] Checking wayland-kbd v0.13.1 [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 gfx v0.17.1 [INFO] [stderr] Checking gfx_device_gl v0.15.3 [INFO] [stderr] Checking piston-gfx_texture v0.32.0 [INFO] [stderr] Checking piston2d-gfx_graphics v0.51.0 [INFO] [stderr] Checking piston_window v0.80.0 [INFO] [stderr] Checking tet-rs v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused variable: `t_spin` [INFO] [stderr] --> src/engine/base.rs:188:23 [INFO] [stderr] | [INFO] [stderr] 188 | fn on_lock(&self, t_spin: TSpin) {} [INFO] [stderr] | ^^^^^^ help: consider using `_t_spin` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n_rows` [INFO] [stderr] --> src/engine/base.rs:189:28 [INFO] [stderr] | [INFO] [stderr] 189 | fn on_soft_drop(&self, n_rows: u8) {} [INFO] [stderr] | ^^^^^^ help: consider using `_n_rows` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n_rows` [INFO] [stderr] --> src/engine/base.rs:190:28 [INFO] [stderr] | [INFO] [stderr] 190 | fn on_hard_drop(&self, n_rows: u8) {} [INFO] [stderr] | ^^^^^^ help: consider using `_n_rows` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n_rows` [INFO] [stderr] --> src/engine/base.rs:191:29 [INFO] [stderr] | [INFO] [stderr] 191 | fn on_line_clear(&self, n_rows: u8) {} [INFO] [stderr] | ^^^^^^ help: consider using `_n_rows` instead [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_score` [INFO] [stderr] --> src/engine/single.rs:100:5 [INFO] [stderr] | [INFO] [stderr] 100 | fn get_score(&self) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Mul` impl [INFO] [stderr] --> src/engine/base.rs:75:57 [INFO] [stderr] | [INFO] [stderr] 75 | Gravity::TicksPerRow((ticks_per_row / rhs).round() as u8) [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::suspicious_arithmetic_impl)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Mul` impl [INFO] [stderr] --> src/engine/base.rs:78:45 [INFO] [stderr] | [INFO] [stderr] 78 | let rows_per_tick = rhs / ticks_per_row; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/engine/base.rs:632:20 [INFO] [stderr] | [INFO] [stderr] 632 | if bb_space == &Space::Block [INFO] [stderr] | ____________________^ [INFO] [stderr] 633 | | // Collision occurs if block is outside playfield. [INFO] [stderr] 634 | | && ((row < 1 || col < 1 || col > Playfield::WIDTH as i8) [INFO] [stderr] 635 | | // Or if block is inside playfield ... [INFO] [stderr] 636 | | || (row >= 1 && col >= 1 [INFO] [stderr] 637 | | // ... and there is already a block in that position. [INFO] [stderr] 638 | | && self.playfield.get(row as u8, col as u8) == Space::Block)) [INFO] [stderr] | |_____________________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 632 | if !(row >= 1 && col >= 1 && col <= Playfield::WIDTH as i8 && !self.playfield.get(row as u8, col as u8) == Space::Block || !bb_space == &Space::Block) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 632 | if (row < 1 || col < 1 || col > Playfield::WIDTH as i8 || self.playfield.get(row as u8, col as u8) == Space::Block) && bb_space == &Space::Block [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `tet-rs`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: unused variable: `t_spin` [INFO] [stderr] --> src/engine/base.rs:188:23 [INFO] [stderr] | [INFO] [stderr] 188 | fn on_lock(&self, t_spin: TSpin) {} [INFO] [stderr] | ^^^^^^ help: consider using `_t_spin` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n_rows` [INFO] [stderr] --> src/engine/base.rs:189:28 [INFO] [stderr] | [INFO] [stderr] 189 | fn on_soft_drop(&self, n_rows: u8) {} [INFO] [stderr] | ^^^^^^ help: consider using `_n_rows` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n_rows` [INFO] [stderr] --> src/engine/base.rs:190:28 [INFO] [stderr] | [INFO] [stderr] 190 | fn on_hard_drop(&self, n_rows: u8) {} [INFO] [stderr] | ^^^^^^ help: consider using `_n_rows` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n_rows` [INFO] [stderr] --> src/engine/base.rs:191:29 [INFO] [stderr] | [INFO] [stderr] 191 | fn on_line_clear(&self, n_rows: u8) {} [INFO] [stderr] | ^^^^^^ help: consider using `_n_rows` instead [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `O` [INFO] [stderr] --> src/engine/base.rs:1015:9 [INFO] [stderr] | [INFO] [stderr] 1015 | O, [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Z` [INFO] [stderr] --> src/engine/base.rs:1018:9 [INFO] [stderr] | [INFO] [stderr] 1018 | Z, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `J` [INFO] [stderr] --> src/engine/base.rs:1019:9 [INFO] [stderr] | [INFO] [stderr] 1019 | J, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `L` [INFO] [stderr] --> src/engine/base.rs:1020:9 [INFO] [stderr] | [INFO] [stderr] 1020 | L, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_score` [INFO] [stderr] --> src/engine/single.rs:100:5 [INFO] [stderr] | [INFO] [stderr] 100 | fn get_score(&self) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Mul` impl [INFO] [stderr] --> src/engine/base.rs:75:57 [INFO] [stderr] | [INFO] [stderr] 75 | Gravity::TicksPerRow((ticks_per_row / rhs).round() as u8) [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::suspicious_arithmetic_impl)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] error: Suspicious use of binary operator in `Mul` impl [INFO] [stderr] --> src/engine/base.rs:78:45 [INFO] [stderr] | [INFO] [stderr] 78 | let rows_per_tick = rhs / ticks_per_row; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_arithmetic_impl [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/engine/base.rs:632:20 [INFO] [stderr] | [INFO] [stderr] 632 | if bb_space == &Space::Block [INFO] [stderr] | ____________________^ [INFO] [stderr] 633 | | // Collision occurs if block is outside playfield. [INFO] [stderr] 634 | | && ((row < 1 || col < 1 || col > Playfield::WIDTH as i8) [INFO] [stderr] 635 | | // Or if block is inside playfield ... [INFO] [stderr] 636 | | || (row >= 1 && col >= 1 [INFO] [stderr] 637 | | // ... and there is already a block in that position. [INFO] [stderr] 638 | | && self.playfield.get(row as u8, col as u8) == Space::Block)) [INFO] [stderr] | |_____________________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 632 | if !(row >= 1 && col >= 1 && col <= Playfield::WIDTH as i8 && !self.playfield.get(row as u8, col as u8) == Space::Block || !bb_space == &Space::Block) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 632 | if (row < 1 || col < 1 || col > Playfield::WIDTH as i8 || self.playfield.get(row as u8, col as u8) == Space::Block) && bb_space == &Space::Block [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/engine/base.rs:1416:29 [INFO] [stderr] | [INFO] [stderr] 1416 | let current_piece = engine.current_piece.piece.get_shape().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*engine.current_piece.piece.get_shape()` [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] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `tet-rs`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "6e16d325af0c35a36405e9e83daead5ffaaa7f42bef4de81612b7712b0b0acf3"` [INFO] running `"docker" "rm" "-f" "6e16d325af0c35a36405e9e83daead5ffaaa7f42bef4de81612b7712b0b0acf3"` [INFO] [stdout] 6e16d325af0c35a36405e9e83daead5ffaaa7f42bef4de81612b7712b0b0acf3