[INFO] cloning repository https://github.com/droidkid/rust-tetris [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/droidkid/rust-tetris" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdroidkid%2Frust-tetris", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdroidkid%2Frust-tetris'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d7739277f8489ba9f6b2ba7f772f909813828b03 [INFO] checking droidkid/rust-tetris against master#385fa9d845dd326c6bbfd58c22244215e431948a for never-type-fallback-to-never [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdroidkid%2Frust-tetris" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/droidkid/rust-tetris on toolchain 385fa9d845dd326c6bbfd58c22244215e431948a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/droidkid/rust-tetris [INFO] finished tweaking git repo https://github.com/droidkid/rust-tetris [INFO] tweaked toml for git repo https://github.com/droidkid/rust-tetris written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/droidkid/rust-tetris already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded cfg-if v0.1.5 [INFO] [stderr] Downloaded rand v0.4.3 [INFO] [stderr] Downloaded rand v0.3.22 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0b3e0405774e579977143a287da801fe67d596390e1a3ade94095847110846a8 [INFO] running `Command { std: "docker" "start" "-a" "0b3e0405774e579977143a287da801fe67d596390e1a3ade94095847110846a8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0b3e0405774e579977143a287da801fe67d596390e1a3ade94095847110846a8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0b3e0405774e579977143a287da801fe67d596390e1a3ade94095847110846a8", kill_on_drop: false }` [INFO] [stdout] 0b3e0405774e579977143a287da801fe67d596390e1a3ade94095847110846a8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 04ba1269a7d8680f2e6a66040375868cd5d0bc3759605a039a8409e8c4f9c3d6 [INFO] running `Command { std: "docker" "start" "-a" "04ba1269a7d8680f2e6a66040375868cd5d0bc3759605a039a8409e8c4f9c3d6", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.2.6 [INFO] [stderr] Compiling num-integer v0.1.39 [INFO] [stderr] Compiling num-iter v0.1.37 [INFO] [stderr] Compiling cfg-if v0.1.5 [INFO] [stderr] Checking libc v0.2.43 [INFO] [stderr] Checking bitflags v0.7.0 [INFO] [stderr] Checking lazy_static v0.2.11 [INFO] [stderr] Compiling sdl2-sys v0.31.0 [INFO] [stderr] Checking rand v0.4.3 [INFO] [stderr] Checking rand v0.3.22 [INFO] [stderr] Checking num v0.1.42 [INFO] [stderr] Checking sdl2 v0.31.0 [INFO] [stderr] Checking rust-tetris v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/main.rs:422:22 [INFO] [stdout] | [INFO] [stdout] 422 | for j in (1..self.width-1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 422 - for j in (1..self.width-1) { [INFO] [stdout] 422 + for j in 1..self.width-1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:473:16 [INFO] [stdout] | [INFO] [stdout] 473 | if (self.game_over_countdown > 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 473 - if (self.game_over_countdown > 0) { [INFO] [stdout] 473 + if self.game_over_countdown > 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:483:12 [INFO] [stdout] | [INFO] [stdout] 483 | if (input.left_key_pressed) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 483 - if (input.left_key_pressed) { [INFO] [stdout] 483 + if input.left_key_pressed { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:486:12 [INFO] [stdout] | [INFO] [stdout] 486 | if (input.right_key_pressed) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 486 - if (input.right_key_pressed) { [INFO] [stdout] 486 + if input.right_key_pressed { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:489:12 [INFO] [stdout] | [INFO] [stdout] 489 | if (input.up_key_pressed) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 489 - if (input.up_key_pressed) { [INFO] [stdout] 489 + if input.up_key_pressed { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:493:12 [INFO] [stdout] | [INFO] [stdout] 493 | if (input.down_key_pressed) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 493 - if (input.down_key_pressed) { [INFO] [stdout] 493 + if input.down_key_pressed { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if (self.gravity_countdown > 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 500 - if (self.gravity_countdown > 0) { [INFO] [stdout] 500 + if self.gravity_countdown > 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:503:12 [INFO] [stdout] | [INFO] [stdout] 503 | if (self.lock_delay_countdown > 0 && self.locking_state) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 503 - if (self.lock_delay_countdown > 0 && self.locking_state) { [INFO] [stdout] 503 + if self.lock_delay_countdown > 0 && self.locking_state { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:539:12 [INFO] [stdout] | [INFO] [stdout] 539 | if (self.level >= 10) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 539 - if (self.level >= 10) { [INFO] [stdout] 539 + if self.level >= 10 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:646:12 [INFO] [stdout] | [INFO] [stdout] 646 | if (event_pump.keyboard_state().is_scancode_pressed(Scancode::Down)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 646 - if (event_pump.keyboard_state().is_scancode_pressed(Scancode::Down)) { [INFO] [stdout] 646 + if event_pump.keyboard_state().is_scancode_pressed(Scancode::Down) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/main.rs:422:22 [INFO] [stdout] | [INFO] [stdout] 422 | for j in (1..self.width-1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 422 - for j in (1..self.width-1) { [INFO] [stdout] 422 + for j in 1..self.width-1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `move_down_success` is never read [INFO] [stdout] --> src/main.rs:508:17 [INFO] [stdout] | [INFO] [stdout] 508 | let mut move_down_success = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:473:16 [INFO] [stdout] | [INFO] [stdout] 473 | if (self.game_over_countdown > 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 473 - if (self.game_over_countdown > 0) { [INFO] [stdout] 473 + if self.game_over_countdown > 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:483:12 [INFO] [stdout] | [INFO] [stdout] 483 | if (input.left_key_pressed) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 483 - if (input.left_key_pressed) { [INFO] [stdout] 483 + if input.left_key_pressed { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:486:12 [INFO] [stdout] | [INFO] [stdout] 486 | if (input.right_key_pressed) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 486 - if (input.right_key_pressed) { [INFO] [stdout] 486 + if input.right_key_pressed { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:489:12 [INFO] [stdout] | [INFO] [stdout] 489 | if (input.up_key_pressed) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 489 - if (input.up_key_pressed) { [INFO] [stdout] 489 + if input.up_key_pressed { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:493:12 [INFO] [stdout] | [INFO] [stdout] 493 | if (input.down_key_pressed) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 493 - if (input.down_key_pressed) { [INFO] [stdout] 493 + if input.down_key_pressed { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if (self.gravity_countdown > 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 500 - if (self.gravity_countdown > 0) { [INFO] [stdout] 500 + if self.gravity_countdown > 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:503:12 [INFO] [stdout] | [INFO] [stdout] 503 | if (self.lock_delay_countdown > 0 && self.locking_state) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 503 - if (self.lock_delay_countdown > 0 && self.locking_state) { [INFO] [stdout] 503 + if self.lock_delay_countdown > 0 && self.locking_state { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:539:12 [INFO] [stdout] | [INFO] [stdout] 539 | if (self.level >= 10) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 539 - if (self.level >= 10) { [INFO] [stdout] 539 + if self.level >= 10 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:646:12 [INFO] [stdout] | [INFO] [stdout] 646 | if (event_pump.keyboard_state().is_scancode_pressed(Scancode::Down)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 646 - if (event_pump.keyboard_state().is_scancode_pressed(Scancode::Down)) { [INFO] [stdout] 646 + if event_pump.keyboard_state().is_scancode_pressed(Scancode::Down) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:613:9 [INFO] [stdout] | [INFO] [stdout] 613 | let mut font = ttf_context.load_font(font_path, 28).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_row_empty` is never used [INFO] [stdout] --> src/main.rs:411:8 [INFO] [stdout] | [INFO] [stdout] 318 | impl TetrisBoard { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 411 | fn is_row_empty(&self, row:usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `start_pos` should have an upper case name [INFO] [stdout] --> src/main.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | static start_pos: Pos2D = Pos2D { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper case: `START_POS` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `tetris_board_width` should have an upper case name [INFO] [stdout] --> src/main.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | static tetris_board_width : usize = 12; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TETRIS_BOARD_WIDTH` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `tetris_board_height` should have an upper case name [INFO] [stdout] --> src/main.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | static tetris_board_height : usize = 24; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TETRIS_BOARD_HEIGHT` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:273:13 [INFO] [stdout] | [INFO] [stdout] 273 | canvas.fill_rect(rect); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 273 | let _ = canvas.fill_rect(rect); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `randomTetrisPieceGenerator` should have a snake case name [INFO] [stdout] --> src/main.rs:342:17 [INFO] [stdout] | [INFO] [stdout] 342 | let mut randomTetrisPieceGenerator = RandomTetrisPieceGenerator::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `random_tetris_piece_generator` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:556:9 [INFO] [stdout] | [INFO] [stdout] 556 | canvas.fill_rect(rect); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 556 | let _ = canvas.fill_rect(rect); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:661:13 [INFO] [stdout] | [INFO] [stdout] 661 | canvas.fill_rect(Rect::new(0,0,width,height)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 661 | let _ = canvas.fill_rect(Rect::new(0,0,width,height)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `move_down_success` is never read [INFO] [stdout] --> src/main.rs:508:17 [INFO] [stdout] | [INFO] [stdout] 508 | let mut move_down_success = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:613:9 [INFO] [stdout] | [INFO] [stdout] 613 | let mut font = ttf_context.load_font(font_path, 28).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_row_empty` is never used [INFO] [stdout] --> src/main.rs:411:8 [INFO] [stdout] | [INFO] [stdout] 318 | impl TetrisBoard { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 411 | fn is_row_empty(&self, row:usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `start_pos` should have an upper case name [INFO] [stdout] --> src/main.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | static start_pos: Pos2D = Pos2D { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper case: `START_POS` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `tetris_board_width` should have an upper case name [INFO] [stdout] --> src/main.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | static tetris_board_width : usize = 12; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TETRIS_BOARD_WIDTH` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `tetris_board_height` should have an upper case name [INFO] [stdout] --> src/main.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | static tetris_board_height : usize = 24; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TETRIS_BOARD_HEIGHT` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:273:13 [INFO] [stdout] | [INFO] [stdout] 273 | canvas.fill_rect(rect); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 273 | let _ = canvas.fill_rect(rect); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `randomTetrisPieceGenerator` should have a snake case name [INFO] [stdout] --> src/main.rs:342:17 [INFO] [stdout] | [INFO] [stdout] 342 | let mut randomTetrisPieceGenerator = RandomTetrisPieceGenerator::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `random_tetris_piece_generator` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:556:9 [INFO] [stdout] | [INFO] [stdout] 556 | canvas.fill_rect(rect); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 556 | let _ = canvas.fill_rect(rect); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:661:13 [INFO] [stdout] | [INFO] [stdout] 661 | canvas.fill_rect(Rect::new(0,0,width,height)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 661 | let _ = canvas.fill_rect(Rect::new(0,0,width,height)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.19s [INFO] running `Command { std: "docker" "inspect" "04ba1269a7d8680f2e6a66040375868cd5d0bc3759605a039a8409e8c4f9c3d6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "04ba1269a7d8680f2e6a66040375868cd5d0bc3759605a039a8409e8c4f9c3d6", kill_on_drop: false }` [INFO] [stdout] 04ba1269a7d8680f2e6a66040375868cd5d0bc3759605a039a8409e8c4f9c3d6 [INFO] checking droidkid/rust-tetris against try#2d84f2737f3bd9ebfcb07f75aa198d6cf7c715d2 for never-type-fallback-to-never [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdroidkid%2Frust-tetris" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/droidkid/rust-tetris on toolchain 2d84f2737f3bd9ebfcb07f75aa198d6cf7c715d2 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2d84f2737f3bd9ebfcb07f75aa198d6cf7c715d2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/droidkid/rust-tetris [INFO] finished tweaking git repo https://github.com/droidkid/rust-tetris [INFO] tweaked toml for git repo https://github.com/droidkid/rust-tetris written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/droidkid/rust-tetris already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2d84f2737f3bd9ebfcb07f75aa198d6cf7c715d2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+2d84f2737f3bd9ebfcb07f75aa198d6cf7c715d2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] afaaef78a369a30ab2dfff300e4f296b590f5a6bca57b84714cd7afaa0d68ad6 [INFO] running `Command { std: "docker" "start" "-a" "afaaef78a369a30ab2dfff300e4f296b590f5a6bca57b84714cd7afaa0d68ad6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "afaaef78a369a30ab2dfff300e4f296b590f5a6bca57b84714cd7afaa0d68ad6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "afaaef78a369a30ab2dfff300e4f296b590f5a6bca57b84714cd7afaa0d68ad6", kill_on_drop: false }` [INFO] [stdout] afaaef78a369a30ab2dfff300e4f296b590f5a6bca57b84714cd7afaa0d68ad6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+2d84f2737f3bd9ebfcb07f75aa198d6cf7c715d2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c17d114b982a944569b92b990320c2a9fb12462adeb8927efa970e772c99d514 [INFO] running `Command { std: "docker" "start" "-a" "c17d114b982a944569b92b990320c2a9fb12462adeb8927efa970e772c99d514", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.2.6 [INFO] [stderr] Compiling num-integer v0.1.39 [INFO] [stderr] Compiling num-iter v0.1.37 [INFO] [stderr] Compiling cfg-if v0.1.5 [INFO] [stderr] Checking libc v0.2.43 [INFO] [stderr] Checking bitflags v0.7.0 [INFO] [stderr] Checking lazy_static v0.2.11 [INFO] [stderr] Compiling sdl2-sys v0.31.0 [INFO] [stderr] Checking rand v0.4.3 [INFO] [stderr] Checking rand v0.3.22 [INFO] [stderr] Checking num v0.1.42 [INFO] [stderr] Checking sdl2 v0.31.0 [INFO] [stderr] Checking rust-tetris v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/main.rs:422:22 [INFO] [stdout] | [INFO] [stdout] 422 | for j in (1..self.width-1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 422 - for j in (1..self.width-1) { [INFO] [stdout] 422 + for j in 1..self.width-1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/main.rs:422:22 [INFO] [stdout] | [INFO] [stdout] 422 | for j in (1..self.width-1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 422 - for j in (1..self.width-1) { [INFO] [stdout] 422 + for j in 1..self.width-1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:473:16 [INFO] [stdout] | [INFO] [stdout] 473 | if (self.game_over_countdown > 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 473 - if (self.game_over_countdown > 0) { [INFO] [stdout] 473 + if self.game_over_countdown > 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:483:12 [INFO] [stdout] | [INFO] [stdout] 483 | if (input.left_key_pressed) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 483 - if (input.left_key_pressed) { [INFO] [stdout] 483 + if input.left_key_pressed { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:473:16 [INFO] [stdout] | [INFO] [stdout] 473 | if (self.game_over_countdown > 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 473 - if (self.game_over_countdown > 0) { [INFO] [stdout] 473 + if self.game_over_countdown > 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:486:12 [INFO] [stdout] | [INFO] [stdout] 486 | if (input.right_key_pressed) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 486 - if (input.right_key_pressed) { [INFO] [stdout] 486 + if input.right_key_pressed { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:489:12 [INFO] [stdout] | [INFO] [stdout] 489 | if (input.up_key_pressed) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 489 - if (input.up_key_pressed) { [INFO] [stdout] 489 + if input.up_key_pressed { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:483:12 [INFO] [stdout] | [INFO] [stdout] 483 | if (input.left_key_pressed) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 483 - if (input.left_key_pressed) { [INFO] [stdout] 483 + if input.left_key_pressed { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:493:12 [INFO] [stdout] | [INFO] [stdout] 493 | if (input.down_key_pressed) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 493 - if (input.down_key_pressed) { [INFO] [stdout] 493 + if input.down_key_pressed { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if (self.gravity_countdown > 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 500 - if (self.gravity_countdown > 0) { [INFO] [stdout] 500 + if self.gravity_countdown > 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:486:12 [INFO] [stdout] | [INFO] [stdout] 486 | if (input.right_key_pressed) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 486 - if (input.right_key_pressed) { [INFO] [stdout] 486 + if input.right_key_pressed { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:503:12 [INFO] [stdout] | [INFO] [stdout] 503 | if (self.lock_delay_countdown > 0 && self.locking_state) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 503 - if (self.lock_delay_countdown > 0 && self.locking_state) { [INFO] [stdout] 503 + if self.lock_delay_countdown > 0 && self.locking_state { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:539:12 [INFO] [stdout] | [INFO] [stdout] 539 | if (self.level >= 10) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 539 - if (self.level >= 10) { [INFO] [stdout] 539 + if self.level >= 10 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:489:12 [INFO] [stdout] | [INFO] [stdout] 489 | if (input.up_key_pressed) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 489 - if (input.up_key_pressed) { [INFO] [stdout] 489 + if input.up_key_pressed { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:646:12 [INFO] [stdout] | [INFO] [stdout] 646 | if (event_pump.keyboard_state().is_scancode_pressed(Scancode::Down)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 646 - if (event_pump.keyboard_state().is_scancode_pressed(Scancode::Down)) { [INFO] [stdout] 646 + if event_pump.keyboard_state().is_scancode_pressed(Scancode::Down) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:493:12 [INFO] [stdout] | [INFO] [stdout] 493 | if (input.down_key_pressed) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 493 - if (input.down_key_pressed) { [INFO] [stdout] 493 + if input.down_key_pressed { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:500:12 [INFO] [stdout] | [INFO] [stdout] 500 | if (self.gravity_countdown > 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 500 - if (self.gravity_countdown > 0) { [INFO] [stdout] 500 + if self.gravity_countdown > 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:503:12 [INFO] [stdout] | [INFO] [stdout] 503 | if (self.lock_delay_countdown > 0 && self.locking_state) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 503 - if (self.lock_delay_countdown > 0 && self.locking_state) { [INFO] [stdout] 503 + if self.lock_delay_countdown > 0 && self.locking_state { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:539:12 [INFO] [stdout] | [INFO] [stdout] 539 | if (self.level >= 10) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 539 - if (self.level >= 10) { [INFO] [stdout] 539 + if self.level >= 10 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:646:12 [INFO] [stdout] | [INFO] [stdout] 646 | if (event_pump.keyboard_state().is_scancode_pressed(Scancode::Down)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 646 - if (event_pump.keyboard_state().is_scancode_pressed(Scancode::Down)) { [INFO] [stdout] 646 + if event_pump.keyboard_state().is_scancode_pressed(Scancode::Down) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `move_down_success` is never read [INFO] [stdout] --> src/main.rs:508:17 [INFO] [stdout] | [INFO] [stdout] 508 | let mut move_down_success = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `move_down_success` is never read [INFO] [stdout] --> src/main.rs:508:17 [INFO] [stdout] | [INFO] [stdout] 508 | let mut move_down_success = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:613:9 [INFO] [stdout] | [INFO] [stdout] 613 | let mut font = ttf_context.load_font(font_path, 28).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_row_empty` is never used [INFO] [stdout] --> src/main.rs:411:8 [INFO] [stdout] | [INFO] [stdout] 318 | impl TetrisBoard { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 411 | fn is_row_empty(&self, row:usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `start_pos` should have an upper case name [INFO] [stdout] --> src/main.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | static start_pos: Pos2D = Pos2D { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper case: `START_POS` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `tetris_board_width` should have an upper case name [INFO] [stdout] --> src/main.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | static tetris_board_width : usize = 12; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TETRIS_BOARD_WIDTH` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `tetris_board_height` should have an upper case name [INFO] [stdout] --> src/main.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | static tetris_board_height : usize = 24; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TETRIS_BOARD_HEIGHT` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:613:9 [INFO] [stdout] | [INFO] [stdout] 613 | let mut font = ttf_context.load_font(font_path, 28).unwrap(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_row_empty` is never used [INFO] [stdout] --> src/main.rs:411:8 [INFO] [stdout] | [INFO] [stdout] 318 | impl TetrisBoard { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 411 | fn is_row_empty(&self, row:usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `start_pos` should have an upper case name [INFO] [stdout] --> src/main.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | static start_pos: Pos2D = Pos2D { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper case: `START_POS` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `tetris_board_width` should have an upper case name [INFO] [stdout] --> src/main.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | static tetris_board_width : usize = 12; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TETRIS_BOARD_WIDTH` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `tetris_board_height` should have an upper case name [INFO] [stdout] --> src/main.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | static tetris_board_height : usize = 24; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper case: `TETRIS_BOARD_HEIGHT` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:273:13 [INFO] [stdout] | [INFO] [stdout] 273 | canvas.fill_rect(rect); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 273 | let _ = canvas.fill_rect(rect); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `randomTetrisPieceGenerator` should have a snake case name [INFO] [stdout] --> src/main.rs:342:17 [INFO] [stdout] | [INFO] [stdout] 342 | let mut randomTetrisPieceGenerator = RandomTetrisPieceGenerator::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `random_tetris_piece_generator` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:556:9 [INFO] [stdout] | [INFO] [stdout] 556 | canvas.fill_rect(rect); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 556 | let _ = canvas.fill_rect(rect); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:661:13 [INFO] [stdout] | [INFO] [stdout] 661 | canvas.fill_rect(Rect::new(0,0,width,height)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 661 | let _ = canvas.fill_rect(Rect::new(0,0,width,height)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:273:13 [INFO] [stdout] | [INFO] [stdout] 273 | canvas.fill_rect(rect); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 273 | let _ = canvas.fill_rect(rect); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `randomTetrisPieceGenerator` should have a snake case name [INFO] [stdout] --> src/main.rs:342:17 [INFO] [stdout] | [INFO] [stdout] 342 | let mut randomTetrisPieceGenerator = RandomTetrisPieceGenerator::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `random_tetris_piece_generator` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:556:9 [INFO] [stdout] | [INFO] [stdout] 556 | canvas.fill_rect(rect); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 556 | let _ = canvas.fill_rect(rect); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:661:13 [INFO] [stdout] | [INFO] [stdout] 661 | canvas.fill_rect(Rect::new(0,0,width,height)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 661 | let _ = canvas.fill_rect(Rect::new(0,0,width,height)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.63s [INFO] running `Command { std: "docker" "inspect" "c17d114b982a944569b92b990320c2a9fb12462adeb8927efa970e772c99d514", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c17d114b982a944569b92b990320c2a9fb12462adeb8927efa970e772c99d514", kill_on_drop: false }` [INFO] [stdout] c17d114b982a944569b92b990320c2a9fb12462adeb8927efa970e772c99d514