[INFO] cloning repository https://github.com/guicybercode/blockdestroy
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/guicybercode/blockdestroy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fguicybercode%2Fblockdestroy", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fguicybercode%2Fblockdestroy'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e632963fd2ab79ecb52e5cf81f209d4177210458
[INFO] checking guicybercode/blockdestroy against try#ad93f57d532978d6739002a21bc66b45ed22f998 for pr-155418
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fguicybercode%2Fblockdestroy" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/guicybercode/blockdestroy
[INFO] finished tweaking git repo https://github.com/guicybercode/blockdestroy
[INFO] tweaked toml for git repo https://github.com/guicybercode/blockdestroy written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/guicybercode/blockdestroy on toolchain ad93f57d532978d6739002a21bc66b45ed22f998
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad93f57d532978d6739002a21bc66b45ed22f998" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/guicybercode/blockdestroy 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" "+ad93f57d532978d6739002a21bc66b45ed22f998" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking guicybercode/blockdestroy against try#ad93f57d532978d6739002a21bc66b45ed22f998 for pr-155418
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fguicybercode%2Fblockdestroy" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/guicybercode/blockdestroy
[INFO] finished tweaking git repo https://github.com/guicybercode/blockdestroy
[INFO] tweaked toml for git repo https://github.com/guicybercode/blockdestroy written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/guicybercode/blockdestroy on toolchain ad93f57d532978d6739002a21bc66b45ed22f998
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad93f57d532978d6739002a21bc66b45ed22f998" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/guicybercode/blockdestroy 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" "+ad93f57d532978d6739002a21bc66b45ed22f998" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wgpu-types v0.16.1
[INFO] [stderr]   Downloaded crevice-derive v0.10.0
[INFO] [stderr]   Downloaded crevice v0.13.0
[INFO] [stderr]   Downloaded ordered-float v3.9.2
[INFO] [stderr]   Downloaded wgpu v0.16.3
[INFO] [stderr]   Downloaded camino v1.1.12
[INFO] [stderr]   Downloaded glyph_brush_draw_cache v0.1.6
[INFO] [stderr]   Downloaded glyph_brush v0.7.12
[INFO] [stderr]   Downloaded wgpu-core v0.16.1
[INFO] [stderr]   Downloaded wgpu-hal v0.16.2
[INFO] [stderr]   Downloaded ggez v0.9.3
[INFO] [stderr]   Downloaded naga v0.12.3
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ad93f57d532978d6739002a21bc66b45ed22f998" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e7e3c0f75d9273b61bad451e131cdda46758b2674b3beaa76693d76dc10527fc
[INFO] running `Command { std: "docker" "start" "-a" "e7e3c0f75d9273b61bad451e131cdda46758b2674b3beaa76693d76dc10527fc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e7e3c0f75d9273b61bad451e131cdda46758b2674b3beaa76693d76dc10527fc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e7e3c0f75d9273b61bad451e131cdda46758b2674b3beaa76693d76dc10527fc", kill_on_drop: false }`
[INFO] [stdout] e7e3c0f75d9273b61bad451e131cdda46758b2674b3beaa76693d76dc10527fc
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ad93f57d532978d6739002a21bc66b45ed22f998" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 220da5ed6e9a6fe29c1ee2fc85ac16ed73926cf673405b7bde3ed2871be6e143
[INFO] running `Command { std: "docker" "start" "-a" "220da5ed6e9a6fe29c1ee2fc85ac16ed73926cf673405b7bde3ed2871be6e143", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking bitflags v2.9.3
[INFO] [stderr]     Checking num-traits v0.2.19
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling rustix v1.0.8
[INFO] [stderr]    Compiling camino v1.1.12
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]    Compiling khronos-egl v4.1.0
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking gpu-alloc-types v0.2.0
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling zstd-safe v5.0.2+zstd.1.5.2
[INFO] [stderr]    Compiling pulldown-cmark v0.9.6
[INFO] [stderr]     Checking gpu-alloc v0.5.4
[INFO] [stderr]     Checking gpu-descriptor-types v0.1.2
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking wgpu-types v0.16.1
[INFO] [stderr]     Checking alsa-sys v0.3.1
[INFO] [stderr]     Checking wayland-commons v0.29.5
[INFO] [stderr]     Checking parking_lot_core v0.9.11
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking euclid v0.22.11
[INFO] [stderr]     Checking spirv v0.2.0+1.5.4
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking libudev-sys v0.1.4
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking inotify v0.10.2
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]    Compiling cc v1.2.34
[INFO] [stderr]     Checking gpu-descriptor v0.2.4
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling memoffset v0.8.0
[INFO] [stderr]    Compiling gilrs v0.10.10
[INFO] [stderr]     Checking xi-unicode v0.3.0
[INFO] [stderr]     Checking mint v0.5.9
[INFO] [stderr]     Checking uuid v1.18.0
[INFO] [stderr]     Checking glyph_brush_layout v0.2.4
[INFO] [stderr]     Checking twox-hash v2.1.1
[INFO] [stderr]     Checking tiff v0.9.1
[INFO] [stderr]     Checking ordered-float v5.0.0
[INFO] [stderr]     Checking lyon_geom v1.0.6
[INFO] [stderr]     Checking gilrs-core v0.5.15
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking claxon v0.4.3
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]    Compiling winit v0.28.7
[INFO] [stderr]     Checking glyph_brush_draw_cache v0.1.6
[INFO] [stderr]     Checking glam v0.24.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking directories v5.0.1
[INFO] [stderr]     Checking cpal v0.15.3
[INFO] [stderr]     Checking ordered-float v3.9.2
[INFO] [stderr]     Checking glyph_brush v0.7.12
[INFO] [stderr]     Checking pollster v0.3.0
[INFO] [stderr]     Checking typed-arena v2.0.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking lyon_path v1.0.7
[INFO] [stderr]     Checking lyon_algorithms v1.0.5
[INFO] [stderr]     Checking lyon_tessellation v1.0.15
[INFO] [stderr]    Compiling tempfile v3.21.0
[INFO] [stderr]    Compiling zstd-sys v2.0.15+zstd.1.5.7
[INFO] [stderr]    Compiling bzip2-sys v0.1.13+1.0.8
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling bytemuck_derive v1.10.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling smart-default v0.7.1
[INFO] [stderr]    Compiling crevice-derive v0.10.0
[INFO] [stderr]     Checking lyon v1.0.1
[INFO] [stderr]     Checking bzip2 v0.4.4
[INFO] [stderr]     Checking wayland-cursor v0.29.5
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking calloop v0.10.6
[INFO] [stderr]     Checking naga v0.12.3
[INFO] [stderr]     Checking bytemuck v1.23.2
[INFO] [stderr]     Checking symphonia-core v0.5.4
[INFO] [stderr]     Checking tiny-skia-path v0.8.4
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking crevice v0.13.0
[INFO] [stderr]     Checking tiny-skia v0.8.4
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]     Checking symphonia-metadata v0.5.4
[INFO] [stderr]     Checking symphonia-bundle-mp3 v0.5.4
[INFO] [stderr]     Checking zstd v0.11.2+zstd.1.5.2
[INFO] [stderr]     Checking symphonia v0.5.4
[INFO] [stderr]     Checking rodio v0.17.3
[INFO] [stderr]     Checking zip v0.6.6
[INFO] [stderr]     Checking wgpu-hal v0.16.2
[INFO] [stderr]     Checking toml v0.5.11
[INFO] [stderr]    Compiling semver v1.0.26
[INFO] [stderr]    Compiling cargo-platform v0.1.9
[INFO] [stderr]     Checking wgpu-core v0.16.1
[INFO] [stderr]    Compiling cargo_metadata v0.14.2
[INFO] [stderr]    Compiling skeptic v0.13.7
[INFO] [stderr]    Compiling ggez v0.9.3
[INFO] [stderr]     Checking wgpu v0.16.3
[INFO] [stderr]     Checking smithay-client-toolkit v0.16.1
[INFO] [stderr]     Checking sctk-adwaita v0.5.4
[INFO] [stderr]     Checking purple-box-destruction v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: method `clear_lines` is never used
[INFO] [stdout]   --> src/board.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Board {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn clear_lines(&mut self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clear_lines` is never used
[INFO] [stdout]   --> src/board.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Board {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn clear_lines(&mut self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AudioManager` is never constructed
[INFO] [stdout]  --> src/audio.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct AudioManager {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `play_line_clear`, `play_tetromino_place`, `play_game_over`, and `play_level_up` are never used
[INFO] [stdout]   --> src/audio.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl AudioManager {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn play_line_clear(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn play_tetromino_place(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn play_game_over(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn play_level_up(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_SIZE` is never used
[INFO] [stdout]  --> src/config.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const BLOCK_SIZE: f32 = 25.0;
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOARD_OFFSET_X` is never used
[INFO] [stdout]  --> src/config.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const BOARD_OFFSET_X: f32 = 50.0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOARD_OFFSET_Y` is never used
[INFO] [stdout]  --> src/config.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const BOARD_OFFSET_Y: f32 = 50.0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INITIAL_DROP_INTERVAL` is never used
[INFO] [stdout]  --> src/config.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const INITIAL_DROP_INTERVAL: f32 = 1.0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_DROP_INTERVAL` is never used
[INFO] [stdout]   --> src/config.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const MIN_DROP_INTERVAL: f32 = 0.1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LEVEL_SPEED_INCREASE` is never used
[INFO] [stdout]   --> src/config.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const LEVEL_SPEED_INCREASE: f32 = 0.1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SCORE_SINGLE_LINE` is never used
[INFO] [stdout]   --> src/config.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const SCORE_SINGLE_LINE: u32 = 100;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SCORE_DOUBLE_LINE` is never used
[INFO] [stdout]   --> src/config.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const SCORE_DOUBLE_LINE: u32 = 300;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SCORE_TRIPLE_LINE` is never used
[INFO] [stdout]   --> src/config.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const SCORE_TRIPLE_LINE: u32 = 500;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SCORE_TETRIS` is never used
[INFO] [stdout]   --> src/config.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const SCORE_TETRIS: u32 = 800;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SCORE_HARD_DROP_MULTIPLIER` is never used
[INFO] [stdout]   --> src/config.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const SCORE_HARD_DROP_MULTIPLIER: u32 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINES_PER_LEVEL` is never used
[INFO] [stdout]   --> src/config.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const LINES_PER_LEVEL: u32 = 10;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOARD_WIDTH` is never used
[INFO] [stdout]   --> src/config.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const BOARD_WIDTH: usize = 10;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOARD_HEIGHT` is never used
[INFO] [stdout]   --> src/config.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const BOARD_HEIGHT: usize = 20;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `select_previous` is never used
[INFO] [stdout]    --> src/menu.rs:187:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Menu {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn select_previous(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_life` is never read
[INFO] [stdout]   --> src/animations.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct Particle {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub max_life: f32,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Particle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_animating` is never used
[INFO] [stdout]    --> src/animations.rs:159:12
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl AnimationManager {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn is_animating(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AudioManager` is never constructed
[INFO] [stdout]  --> src/audio.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct AudioManager {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `play_line_clear`, `play_tetromino_place`, `play_game_over`, and `play_level_up` are never used
[INFO] [stdout]   --> src/audio.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl AudioManager {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn play_line_clear(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn play_tetromino_place(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn play_game_over(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn play_level_up(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_SIZE` is never used
[INFO] [stdout]  --> src/config.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const BLOCK_SIZE: f32 = 25.0;
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOARD_OFFSET_X` is never used
[INFO] [stdout]  --> src/config.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const BOARD_OFFSET_X: f32 = 50.0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOARD_OFFSET_Y` is never used
[INFO] [stdout]  --> src/config.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const BOARD_OFFSET_Y: f32 = 50.0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INITIAL_DROP_INTERVAL` is never used
[INFO] [stdout]  --> src/config.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const INITIAL_DROP_INTERVAL: f32 = 1.0;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_DROP_INTERVAL` is never used
[INFO] [stdout]   --> src/config.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const MIN_DROP_INTERVAL: f32 = 0.1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LEVEL_SPEED_INCREASE` is never used
[INFO] [stdout]   --> src/config.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const LEVEL_SPEED_INCREASE: f32 = 0.1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SCORE_SINGLE_LINE` is never used
[INFO] [stdout]   --> src/config.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const SCORE_SINGLE_LINE: u32 = 100;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SCORE_DOUBLE_LINE` is never used
[INFO] [stdout]   --> src/config.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const SCORE_DOUBLE_LINE: u32 = 300;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SCORE_TRIPLE_LINE` is never used
[INFO] [stdout]   --> src/config.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const SCORE_TRIPLE_LINE: u32 = 500;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SCORE_TETRIS` is never used
[INFO] [stdout]   --> src/config.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const SCORE_TETRIS: u32 = 800;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SCORE_HARD_DROP_MULTIPLIER` is never used
[INFO] [stdout]   --> src/config.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const SCORE_HARD_DROP_MULTIPLIER: u32 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINES_PER_LEVEL` is never used
[INFO] [stdout]   --> src/config.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const LINES_PER_LEVEL: u32 = 10;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOARD_WIDTH` is never used
[INFO] [stdout]   --> src/config.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const BOARD_WIDTH: usize = 10;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BOARD_HEIGHT` is never used
[INFO] [stdout]   --> src/config.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const BOARD_HEIGHT: usize = 20;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `select_previous` is never used
[INFO] [stdout]    --> src/menu.rs:187:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Menu {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn select_previous(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_life` is never read
[INFO] [stdout]   --> src/animations.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct Particle {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub max_life: f32,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Particle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_animating` is never used
[INFO] [stdout]    --> src/animations.rs:159:12
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl AnimationManager {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn is_animating(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 12s
[INFO] running `Command { std: "docker" "inspect" "220da5ed6e9a6fe29c1ee2fc85ac16ed73926cf673405b7bde3ed2871be6e143", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "220da5ed6e9a6fe29c1ee2fc85ac16ed73926cf673405b7bde3ed2871be6e143", kill_on_drop: false }`
[INFO] [stdout] 220da5ed6e9a6fe29c1ee2fc85ac16ed73926cf673405b7bde3ed2871be6e143
