[INFO] fetching crate fallingblocks 0.1.4... [INFO] testing fallingblocks-0.1.4 against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] extracting crate fallingblocks 0.1.4 into /workspace/builds/worker-5-tc1/source [INFO] started tweaking crates.io crate fallingblocks 0.1.4 [INFO] finished tweaking crates.io crate fallingblocks 0.1.4 [INFO] tweaked toml for crates.io crate fallingblocks 0.1.4 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate fallingblocks 0.1.4 on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate fallingblocks 0.1.4 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" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded numeric-array v0.6.1 [INFO] [stderr] Downloaded fundsp v0.20.0 [INFO] [stderr] Downloaded funutd v0.16.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2c60f53974dbeaa50d31e8fe6d8abe48aeceb75df890b8732d7078be539813b3 [INFO] running `Command { std: "docker" "start" "-a" "2c60f53974dbeaa50d31e8fe6d8abe48aeceb75df890b8732d7078be539813b3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2c60f53974dbeaa50d31e8fe6d8abe48aeceb75df890b8732d7078be539813b3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2c60f53974dbeaa50d31e8fe6d8abe48aeceb75df890b8732d7078be539813b3", kill_on_drop: false }` [INFO] [stdout] 2c60f53974dbeaa50d31e8fe6d8abe48aeceb75df890b8732d7078be539813b3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 95591374ae7c11c0b4b089a2a798172176c10233c555de030c68455113c63c91 [INFO] running `Command { std: "docker" "start" "-a" "95591374ae7c11c0b4b089a2a798172176c10233c555de030c68455113c63c91", kill_on_drop: false }` [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling proc-macro2 v1.0.94 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Compiling libc v0.2.171 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling bytemuck v1.22.0 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling arrayvec v0.7.6 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling crunchy v0.2.3 [INFO] [stderr] Compiling once_cell v1.21.1 [INFO] [stderr] Compiling allocator-api2 v0.2.21 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling libm v0.2.11 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling zerocopy v0.7.35 [INFO] [stderr] Compiling rustversion v1.0.20 [INFO] [stderr] Compiling smallvec v1.14.0 [INFO] [stderr] Compiling symphonia-core v0.5.4 [INFO] [stderr] Compiling foldhash v0.1.5 [INFO] [stderr] Compiling pin-project-lite v0.2.16 [INFO] [stderr] Compiling hashbrown v0.15.2 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling tracing-core v0.1.33 [INFO] [stderr] Compiling toml_datetime v0.6.8 [INFO] [stderr] Compiling winnow v0.7.4 [INFO] [stderr] Compiling bitflags v2.9.0 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling syn v2.0.100 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling typeid v1.0.3 [INFO] [stderr] Compiling indexmap v2.8.0 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Compiling typenum v1.18.0 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling symphonia-metadata v0.5.4 [INFO] [stderr] Compiling signal-hook-registry v1.4.2 [INFO] [stderr] Compiling alsa-sys v0.3.1 [INFO] [stderr] Compiling thread_local v1.1.8 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling const-random-macro v0.1.16 [INFO] [stderr] Compiling static_assertions v1.1.0 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling symphonia-utils-xiph v0.5.4 [INFO] [stderr] Compiling unicode-xid v0.2.6 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling parking v2.2.1 [INFO] [stderr] Compiling const-random v0.1.18 [INFO] [stderr] Compiling toml_edit v0.22.24 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling uuid v1.12.1 [INFO] [stderr] Compiling futures-lite v2.6.0 [INFO] [stderr] Compiling mio v1.0.3 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling async-task v4.7.1 [INFO] [stderr] Compiling extended v0.1.0 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling anstyle-parse v0.2.6 [INFO] [stderr] Compiling signal-hook-mio v0.2.4 [INFO] [stderr] Compiling symphonia-format-riff v0.5.4 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling symphonia-format-mkv v0.5.4 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling generic-array v1.2.0 [INFO] [stderr] Compiling async-executor v1.13.1 [INFO] [stderr] Compiling symphonia-codec-vorbis v0.5.4 [INFO] [stderr] Compiling symphonia-format-ogg v0.5.4 [INFO] [stderr] Compiling symphonia-bundle-flac v0.5.4 [INFO] [stderr] Compiling symphonia-format-isomp4 v0.5.4 [INFO] [stderr] Compiling symphonia-format-caf v0.5.4 [INFO] [stderr] Compiling symphonia-bundle-mp3 v0.5.4 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling erased-serde v0.4.6 [INFO] [stderr] Compiling symphonia-codec-aac v0.5.4 [INFO] [stderr] Compiling symphonia-codec-alac v0.5.4 [INFO] [stderr] Compiling symphonia-codec-adpcm v0.5.4 [INFO] [stderr] Compiling symphonia-codec-pcm v0.5.4 [INFO] [stderr] Compiling castaway v0.2.3 [INFO] [stderr] Compiling glam v0.28.0 [INFO] [stderr] Compiling safe_arch v0.7.4 [INFO] [stderr] Compiling anstyle-query v1.1.2 [INFO] [stderr] Compiling tinyvec_macros v0.1.1 [INFO] [stderr] Compiling anyhow v1.0.97 [INFO] [stderr] Compiling dyn-clone v1.0.19 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.1 [INFO] [stderr] Compiling bevy_ptr v0.15.3 [INFO] [stderr] Compiling ryu v1.0.20 [INFO] [stderr] Compiling overload v0.1.1 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling anstyle v1.0.10 [INFO] [stderr] Compiling downcast-rs v1.2.1 [INFO] [stderr] Compiling itoa v1.0.15 [INFO] [stderr] Compiling fixedbitset v0.4.2 [INFO] [stderr] Compiling colorchoice v1.0.3 [INFO] [stderr] Compiling disqualified v1.0.0 [INFO] [stderr] Compiling indoc v2.0.6 [INFO] [stderr] Compiling unicode-width v0.1.14 [INFO] [stderr] Compiling cpal v0.15.3 [INFO] [stderr] Compiling wide v0.7.32 [INFO] [stderr] Compiling anstream v0.6.18 [INFO] [stderr] Compiling compact_str v0.8.1 [INFO] [stderr] Compiling petgraph v0.6.5 [INFO] [stderr] Compiling unicode-truncate v1.1.0 [INFO] [stderr] Compiling nu-ansi-term v0.46.0 [INFO] [stderr] Compiling symphonia v0.5.4 [INFO] [stderr] Compiling tinyvec v1.9.0 [INFO] [stderr] Compiling numeric-array v0.6.1 [INFO] [stderr] Compiling microfft v0.6.0 [INFO] [stderr] Compiling bevy_tasks v0.15.3 [INFO] [stderr] Compiling crossterm v0.28.1 [INFO] [stderr] Compiling alsa v0.9.1 [INFO] [stderr] Compiling lru v0.12.5 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling cassowary v0.3.0 [INFO] [stderr] Compiling dasp_sample v0.11.0 [INFO] [stderr] Compiling nonmax v0.5.5 [INFO] [stderr] Compiling darling_core v0.20.10 [INFO] [stderr] Compiling bevy_macro_utils v0.15.3 [INFO] [stderr] Compiling jiff v0.2.5 [INFO] [stderr] Compiling unicode-width v0.2.0 [INFO] [stderr] Compiling fixedbitset v0.5.7 [INFO] [stderr] Compiling tracing-subscriber v0.3.19 [INFO] [stderr] Compiling crossbeam-channel v0.5.14 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling env_filter v0.1.3 [INFO] [stderr] Compiling funutd v0.16.0 [INFO] [stderr] Compiling tracing-attributes v0.1.28 [INFO] [stderr] Compiling bevy_utils_proc_macros v0.15.3 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Compiling derive_more-impl v1.0.0 [INFO] [stderr] Compiling bevy_reflect_derive v0.15.3 [INFO] [stderr] Compiling assert_type_match v0.1.1 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling bevy_ecs_macros v0.15.3 [INFO] [stderr] Compiling darling_macro v0.20.10 [INFO] [stderr] Compiling pin-project v1.1.10 [INFO] [stderr] Compiling thingbuf v0.1.6 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling darling v0.20.10 [INFO] [stderr] Compiling instability v0.3.7 [INFO] [stderr] Compiling bevy_utils v0.15.3 [INFO] [stderr] Compiling fundsp v0.20.0 [INFO] [stderr] Compiling strum v0.26.3 [INFO] [stderr] Compiling ratatui v0.29.0 [INFO] [stderr] Compiling derive_more v1.0.0 [INFO] [stderr] Compiling bevy_reflect v0.15.3 [INFO] [stderr] Compiling env_logger v0.11.7 [INFO] [stderr] Compiling bevy_ecs v0.15.3 [INFO] [stderr] Compiling fallingblocks v0.1.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/app.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 11 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TetrominoType` [INFO] [stdout] --> src/app.rs:14:75 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::components::{Board, CoyoteTime, GameState, Input, ScreenShake, TetrominoType}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::particles` [INFO] [stdout] --> src/menu.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::particles; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Borders` and `Margin` [INFO] [stdout] --> src/menu.rs:8:56 [INFO] [stdout] | [INFO] [stdout] 8 | layout::{Alignment, Constraint, Direction, Layout, Margin, Rect}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | widgets::{Block, Borders, Paragraph, Wrap}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/sound.rs:8:27 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `KeyCode`, `KeyEvent`, `KeyModifiers`, and `self` [INFO] [stdout] --> src/systems.rs:25:24 [INFO] [stdout] | [INFO] [stdout] 25 | use crossterm::event::{self, Event, KeyCode, KeyEvent, KeyModifiers}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `Instant` [INFO] [stdout] --> src/systems.rs:26:17 [INFO] [stdout] | [INFO] [stdout] 26 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `OptionsOption` [INFO] [stdout] --> src/ui.rs:21:36 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::menu_types::{MenuState, OptionsOption}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/menu.rs:126:33 [INFO] [stdout] | [INFO] [stdout] 126 | if let Some(mut audio_state) = app.world.get_resource_mut::() { [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/menu.rs:137:33 [INFO] [stdout] | [INFO] [stdout] 137 | if let Some(mut audio_state) = app.world.get_resource_mut::() { [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stream` [INFO] [stdout] --> src/sound.rs:256:17 [INFO] [stdout] | [INFO] [stdout] 256 | let mut stream = match stream { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/sound.rs:256:13 [INFO] [stdout] | [INFO] [stdout] 256 | let mut stream = match stream { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `world` [INFO] [stdout] --> src/systems.rs:716:27 [INFO] [stdout] | [INFO] [stdout] 716 | fn update_music_for_level(world: &mut World) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_world` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `centered_rect` is never used [INFO] [stdout] --> src/menu.rs:407:4 [INFO] [stdout] | [INFO] [stdout] 407 | fn centered_rect(width: u16, height: u16, r: Rect) -> Rect { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Quit` is never constructed [INFO] [stdout] --> src/sound.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 30 | enum AudioCommand { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 34 | Quit, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_move_click` is never used [INFO] [stdout] --> src/sound.rs:557:4 [INFO] [stdout] | [INFO] [stdout] 557 | fn create_move_click() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_rotate_click` is never used [INFO] [stdout] --> src/sound.rs:562:4 [INFO] [stdout] | [INFO] [stdout] 562 | fn create_rotate_click() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_soft_drop` is never used [INFO] [stdout] --> src/sound.rs:567:4 [INFO] [stdout] | [INFO] [stdout] 567 | fn create_soft_drop() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_hard_drop` is never used [INFO] [stdout] --> src/sound.rs:572:4 [INFO] [stdout] | [INFO] [stdout] 572 | fn create_hard_drop() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_line_clear` is never used [INFO] [stdout] --> src/sound.rs:577:4 [INFO] [stdout] | [INFO] [stdout] 577 | fn create_line_clear() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_tetris` is never used [INFO] [stdout] --> src/sound.rs:595:4 [INFO] [stdout] | [INFO] [stdout] 595 | fn create_tetris() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_tspin` is never used [INFO] [stdout] --> src/sound.rs:612:4 [INFO] [stdout] | [INFO] [stdout] 612 | fn create_tspin() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_game_over` is never used [INFO] [stdout] --> src/sound.rs:622:4 [INFO] [stdout] | [INFO] [stdout] 622 | fn create_game_over() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_level_up` is never used [INFO] [stdout] --> src/sound.rs:631:4 [INFO] [stdout] | [INFO] [stdout] 631 | fn create_level_up() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_perfect_clear` is never used [INFO] [stdout] --> src/sound.rs:647:4 [INFO] [stdout] | [INFO] [stdout] 647 | fn create_perfect_clear() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_sound_effect` is never used [INFO] [stdout] --> src/sound.rs:659:4 [INFO] [stdout] | [INFO] [stdout] 659 | fn create_sound_effect(effect: SoundEffect) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_background_music` is never used [INFO] [stdout] --> src/sound.rs:678:4 [INFO] [stdout] | [INFO] [stdout] 678 | fn create_background_music() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_block_move_sound` is never used [INFO] [stdout] --> src/sound.rs:708:4 [INFO] [stdout] | [INFO] [stdout] 708 | fn create_block_move_sound() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_block_rotate_sound` is never used [INFO] [stdout] --> src/sound.rs:715:4 [INFO] [stdout] | [INFO] [stdout] 715 | fn create_block_rotate_sound() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_block_place_sound` is never used [INFO] [stdout] --> src/sound.rs:724:4 [INFO] [stdout] | [INFO] [stdout] 724 | fn create_block_place_sound() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_line_clear_sound` is never used [INFO] [stdout] --> src/sound.rs:735:4 [INFO] [stdout] | [INFO] [stdout] 735 | fn create_line_clear_sound() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&Ghost` instead of cloning the inner type [INFO] [stdout] --> src/systems.rs:355:37 [INFO] [stdout] | [INFO] [stdout] 355 | ghost_clone = Some(ghost.clone()); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/app.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 11 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TetrominoType` [INFO] [stdout] --> src/app.rs:14:75 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::components::{Board, CoyoteTime, GameState, Input, ScreenShake, TetrominoType}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::particles` [INFO] [stdout] --> src/menu.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::particles; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Borders` and `Margin` [INFO] [stdout] --> src/menu.rs:8:56 [INFO] [stdout] | [INFO] [stdout] 8 | layout::{Alignment, Constraint, Direction, Layout, Margin, Rect}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | widgets::{Block, Borders, Paragraph, Wrap}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/sound.rs:8:27 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `KeyCode`, `KeyEvent`, `KeyModifiers`, and `self` [INFO] [stdout] --> src/systems.rs:25:24 [INFO] [stdout] | [INFO] [stdout] 25 | use crossterm::event::{self, Event, KeyCode, KeyEvent, KeyModifiers}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `Instant` [INFO] [stdout] --> src/systems.rs:26:17 [INFO] [stdout] | [INFO] [stdout] 26 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `OptionsOption` [INFO] [stdout] --> src/ui.rs:21:36 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::menu_types::{MenuState, OptionsOption}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/menu.rs:126:33 [INFO] [stdout] | [INFO] [stdout] 126 | if let Some(mut audio_state) = app.world.get_resource_mut::() { [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/menu.rs:137:33 [INFO] [stdout] | [INFO] [stdout] 137 | if let Some(mut audio_state) = app.world.get_resource_mut::() { [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stream` [INFO] [stdout] --> src/sound.rs:256:17 [INFO] [stdout] | [INFO] [stdout] 256 | let mut stream = match stream { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/sound.rs:256:13 [INFO] [stdout] | [INFO] [stdout] 256 | let mut stream = match stream { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `world` [INFO] [stdout] --> src/systems.rs:716:27 [INFO] [stdout] | [INFO] [stdout] 716 | fn update_music_for_level(world: &mut World) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_world` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:193:61 [INFO] [stdout] | [INFO] [stdout] 193 | ... if let Some(mut audio_state) = [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:207:61 [INFO] [stdout] | [INFO] [stdout] 207 | ... if let Some(mut audio_state) = [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `on_tick` is never used [INFO] [stdout] --> src/app.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl App { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn on_tick(&mut self) { [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 `select` is never used [INFO] [stdout] --> src/menu.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 71 | impl MenuRenderer { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn select(&mut self, menu: &mut Menu, app: &mut App) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `centered_rect` is never used [INFO] [stdout] --> src/menu.rs:407:4 [INFO] [stdout] | [INFO] [stdout] 407 | fn centered_rect(width: u16, height: u16, r: Rect) -> Rect { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_random_menu_particle` is never used [INFO] [stdout] --> src/particles.rs:311:8 [INFO] [stdout] | [INFO] [stdout] 311 | pub fn create_random_menu_particle() -> Particle { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Quit` is never constructed [INFO] [stdout] --> src/sound.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 30 | enum AudioCommand { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 34 | Quit, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_move_click` is never used [INFO] [stdout] --> src/sound.rs:557:4 [INFO] [stdout] | [INFO] [stdout] 557 | fn create_move_click() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_rotate_click` is never used [INFO] [stdout] --> src/sound.rs:562:4 [INFO] [stdout] | [INFO] [stdout] 562 | fn create_rotate_click() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_soft_drop` is never used [INFO] [stdout] --> src/sound.rs:567:4 [INFO] [stdout] | [INFO] [stdout] 567 | fn create_soft_drop() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_hard_drop` is never used [INFO] [stdout] --> src/sound.rs:572:4 [INFO] [stdout] | [INFO] [stdout] 572 | fn create_hard_drop() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_line_clear` is never used [INFO] [stdout] --> src/sound.rs:577:4 [INFO] [stdout] | [INFO] [stdout] 577 | fn create_line_clear() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_tetris` is never used [INFO] [stdout] --> src/sound.rs:595:4 [INFO] [stdout] | [INFO] [stdout] 595 | fn create_tetris() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_tspin` is never used [INFO] [stdout] --> src/sound.rs:612:4 [INFO] [stdout] | [INFO] [stdout] 612 | fn create_tspin() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_game_over` is never used [INFO] [stdout] --> src/sound.rs:622:4 [INFO] [stdout] | [INFO] [stdout] 622 | fn create_game_over() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_level_up` is never used [INFO] [stdout] --> src/sound.rs:631:4 [INFO] [stdout] | [INFO] [stdout] 631 | fn create_level_up() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_perfect_clear` is never used [INFO] [stdout] --> src/sound.rs:647:4 [INFO] [stdout] | [INFO] [stdout] 647 | fn create_perfect_clear() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_sound_effect` is never used [INFO] [stdout] --> src/sound.rs:659:4 [INFO] [stdout] | [INFO] [stdout] 659 | fn create_sound_effect(effect: SoundEffect) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_background_music` is never used [INFO] [stdout] --> src/sound.rs:678:4 [INFO] [stdout] | [INFO] [stdout] 678 | fn create_background_music() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_block_move_sound` is never used [INFO] [stdout] --> src/sound.rs:708:4 [INFO] [stdout] | [INFO] [stdout] 708 | fn create_block_move_sound() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_block_rotate_sound` is never used [INFO] [stdout] --> src/sound.rs:715:4 [INFO] [stdout] | [INFO] [stdout] 715 | fn create_block_rotate_sound() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_block_place_sound` is never used [INFO] [stdout] --> src/sound.rs:724:4 [INFO] [stdout] | [INFO] [stdout] 724 | fn create_block_place_sound() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_line_clear_sound` is never used [INFO] [stdout] --> src/sound.rs:735:4 [INFO] [stdout] | [INFO] [stdout] 735 | fn create_line_clear_sound() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&components::Ghost` instead of cloning the inner type [INFO] [stdout] --> src/systems.rs:355:37 [INFO] [stdout] | [INFO] [stdout] 355 | ghost_clone = Some(ghost.clone()); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 58.57s [INFO] running `Command { std: "docker" "inspect" "95591374ae7c11c0b4b089a2a798172176c10233c555de030c68455113c63c91", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "95591374ae7c11c0b4b089a2a798172176c10233c555de030c68455113c63c91", kill_on_drop: false }` [INFO] [stdout] 95591374ae7c11c0b4b089a2a798172176c10233c555de030c68455113c63c91 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8360b83cbbb59d8b971d276674335a44f677ab1836dd0c56a0117711343d957c [INFO] running `Command { std: "docker" "start" "-a" "8360b83cbbb59d8b971d276674335a44f677ab1836dd0c56a0117711343d957c", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/app.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 11 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TetrominoType` [INFO] [stdout] --> src/app.rs:14:75 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::components::{Board, CoyoteTime, GameState, Input, ScreenShake, TetrominoType}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::particles` [INFO] [stdout] --> src/menu.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::particles; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling fallingblocks v0.1.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Borders` and `Margin` [INFO] [stdout] --> src/menu.rs:8:56 [INFO] [stdout] | [INFO] [stdout] 8 | layout::{Alignment, Constraint, Direction, Layout, Margin, Rect}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | widgets::{Block, Borders, Paragraph, Wrap}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/sound.rs:8:27 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `KeyCode`, `KeyEvent`, `KeyModifiers`, and `self` [INFO] [stdout] --> src/systems.rs:25:24 [INFO] [stdout] | [INFO] [stdout] 25 | use crossterm::event::{self, Event, KeyCode, KeyEvent, KeyModifiers}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `Instant` [INFO] [stdout] --> src/systems.rs:26:17 [INFO] [stdout] | [INFO] [stdout] 26 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `OptionsOption` [INFO] [stdout] --> src/ui.rs:21:36 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::menu_types::{MenuState, OptionsOption}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/menu.rs:126:33 [INFO] [stdout] | [INFO] [stdout] 126 | if let Some(mut audio_state) = app.world.get_resource_mut::() { [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/menu.rs:137:33 [INFO] [stdout] | [INFO] [stdout] 137 | if let Some(mut audio_state) = app.world.get_resource_mut::() { [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stream` [INFO] [stdout] --> src/sound.rs:256:17 [INFO] [stdout] | [INFO] [stdout] 256 | let mut stream = match stream { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/sound.rs:256:13 [INFO] [stdout] | [INFO] [stdout] 256 | let mut stream = match stream { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `world` [INFO] [stdout] --> src/systems.rs:716:27 [INFO] [stdout] | [INFO] [stdout] 716 | fn update_music_for_level(world: &mut World) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_world` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `centered_rect` is never used [INFO] [stdout] --> src/menu.rs:407:4 [INFO] [stdout] | [INFO] [stdout] 407 | fn centered_rect(width: u16, height: u16, r: Rect) -> Rect { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Quit` is never constructed [INFO] [stdout] --> src/sound.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 30 | enum AudioCommand { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 34 | Quit, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_move_click` is never used [INFO] [stdout] --> src/sound.rs:557:4 [INFO] [stdout] | [INFO] [stdout] 557 | fn create_move_click() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_rotate_click` is never used [INFO] [stdout] --> src/sound.rs:562:4 [INFO] [stdout] | [INFO] [stdout] 562 | fn create_rotate_click() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_soft_drop` is never used [INFO] [stdout] --> src/sound.rs:567:4 [INFO] [stdout] | [INFO] [stdout] 567 | fn create_soft_drop() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_hard_drop` is never used [INFO] [stdout] --> src/sound.rs:572:4 [INFO] [stdout] | [INFO] [stdout] 572 | fn create_hard_drop() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_line_clear` is never used [INFO] [stdout] --> src/sound.rs:577:4 [INFO] [stdout] | [INFO] [stdout] 577 | fn create_line_clear() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_tetris` is never used [INFO] [stdout] --> src/sound.rs:595:4 [INFO] [stdout] | [INFO] [stdout] 595 | fn create_tetris() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_tspin` is never used [INFO] [stdout] --> src/sound.rs:612:4 [INFO] [stdout] | [INFO] [stdout] 612 | fn create_tspin() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_game_over` is never used [INFO] [stdout] --> src/sound.rs:622:4 [INFO] [stdout] | [INFO] [stdout] 622 | fn create_game_over() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_level_up` is never used [INFO] [stdout] --> src/sound.rs:631:4 [INFO] [stdout] | [INFO] [stdout] 631 | fn create_level_up() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_perfect_clear` is never used [INFO] [stdout] --> src/sound.rs:647:4 [INFO] [stdout] | [INFO] [stdout] 647 | fn create_perfect_clear() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_sound_effect` is never used [INFO] [stdout] --> src/sound.rs:659:4 [INFO] [stdout] | [INFO] [stdout] 659 | fn create_sound_effect(effect: SoundEffect) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_background_music` is never used [INFO] [stdout] --> src/sound.rs:678:4 [INFO] [stdout] | [INFO] [stdout] 678 | fn create_background_music() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_block_move_sound` is never used [INFO] [stdout] --> src/sound.rs:708:4 [INFO] [stdout] | [INFO] [stdout] 708 | fn create_block_move_sound() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_block_rotate_sound` is never used [INFO] [stdout] --> src/sound.rs:715:4 [INFO] [stdout] | [INFO] [stdout] 715 | fn create_block_rotate_sound() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_block_place_sound` is never used [INFO] [stdout] --> src/sound.rs:724:4 [INFO] [stdout] | [INFO] [stdout] 724 | fn create_block_place_sound() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_line_clear_sound` is never used [INFO] [stdout] --> src/sound.rs:735:4 [INFO] [stdout] | [INFO] [stdout] 735 | fn create_line_clear_sound() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&Ghost` instead of cloning the inner type [INFO] [stdout] --> src/systems.rs:355:37 [INFO] [stdout] | [INFO] [stdout] 355 | ghost_clone = Some(ghost.clone()); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/app.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 11 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TetrominoType` [INFO] [stdout] --> src/app.rs:14:75 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::components::{Board, CoyoteTime, GameState, Input, ScreenShake, TetrominoType}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::particles` [INFO] [stdout] --> src/menu.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::particles; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Borders` and `Margin` [INFO] [stdout] --> src/menu.rs:8:56 [INFO] [stdout] | [INFO] [stdout] 8 | layout::{Alignment, Constraint, Direction, Layout, Margin, Rect}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | widgets::{Block, Borders, Paragraph, Wrap}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/sound.rs:8:27 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `KeyCode`, `KeyEvent`, `KeyModifiers`, and `self` [INFO] [stdout] --> src/systems.rs:25:24 [INFO] [stdout] | [INFO] [stdout] 25 | use crossterm::event::{self, Event, KeyCode, KeyEvent, KeyModifiers}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `Instant` [INFO] [stdout] --> src/systems.rs:26:17 [INFO] [stdout] | [INFO] [stdout] 26 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `OptionsOption` [INFO] [stdout] --> src/ui.rs:21:36 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::menu_types::{MenuState, OptionsOption}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> src/app.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 11 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TetrominoType` [INFO] [stdout] --> src/app.rs:14:75 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::components::{Board, CoyoteTime, GameState, Input, ScreenShake, TetrominoType}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::particles` [INFO] [stdout] --> src/menu.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::particles; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Borders` and `Margin` [INFO] [stdout] --> src/menu.rs:8:56 [INFO] [stdout] | [INFO] [stdout] 8 | layout::{Alignment, Constraint, Direction, Layout, Margin, Rect}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | widgets::{Block, Borders, Paragraph, Wrap}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/sound.rs:8:27 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `KeyCode`, `KeyEvent`, `KeyModifiers`, and `self` [INFO] [stdout] --> src/systems.rs:25:24 [INFO] [stdout] | [INFO] [stdout] 25 | use crossterm::event::{self, Event, KeyCode, KeyEvent, KeyModifiers}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `Instant` [INFO] [stdout] --> src/systems.rs:26:17 [INFO] [stdout] | [INFO] [stdout] 26 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `OptionsOption` [INFO] [stdout] --> src/ui.rs:21:36 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::menu_types::{MenuState, OptionsOption}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/menu.rs:126:33 [INFO] [stdout] | [INFO] [stdout] 126 | if let Some(mut audio_state) = app.world.get_resource_mut::() { [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/menu.rs:137:33 [INFO] [stdout] | [INFO] [stdout] 137 | if let Some(mut audio_state) = app.world.get_resource_mut::() { [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stream` [INFO] [stdout] --> src/sound.rs:256:17 [INFO] [stdout] | [INFO] [stdout] 256 | let mut stream = match stream { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/sound.rs:256:13 [INFO] [stdout] | [INFO] [stdout] 256 | let mut stream = match stream { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `world` [INFO] [stdout] --> src/systems.rs:716:27 [INFO] [stdout] | [INFO] [stdout] 716 | fn update_music_for_level(world: &mut World) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_world` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:193:61 [INFO] [stdout] | [INFO] [stdout] 193 | ... if let Some(mut audio_state) = [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:207:61 [INFO] [stdout] | [INFO] [stdout] 207 | ... if let Some(mut audio_state) = [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `on_tick` is never used [INFO] [stdout] --> src/app.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl App { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn on_tick(&mut self) { [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 `select` is never used [INFO] [stdout] --> src/menu.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 71 | impl MenuRenderer { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn select(&mut self, menu: &mut Menu, app: &mut App) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `centered_rect` is never used [INFO] [stdout] --> src/menu.rs:407:4 [INFO] [stdout] | [INFO] [stdout] 407 | fn centered_rect(width: u16, height: u16, r: Rect) -> Rect { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_random_menu_particle` is never used [INFO] [stdout] --> src/particles.rs:311:8 [INFO] [stdout] | [INFO] [stdout] 311 | pub fn create_random_menu_particle() -> Particle { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Quit` is never constructed [INFO] [stdout] --> src/sound.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 30 | enum AudioCommand { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 34 | Quit, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_move_click` is never used [INFO] [stdout] --> src/sound.rs:557:4 [INFO] [stdout] | [INFO] [stdout] 557 | fn create_move_click() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_rotate_click` is never used [INFO] [stdout] --> src/sound.rs:562:4 [INFO] [stdout] | [INFO] [stdout] 562 | fn create_rotate_click() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_soft_drop` is never used [INFO] [stdout] --> src/sound.rs:567:4 [INFO] [stdout] | [INFO] [stdout] 567 | fn create_soft_drop() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_hard_drop` is never used [INFO] [stdout] --> src/sound.rs:572:4 [INFO] [stdout] | [INFO] [stdout] 572 | fn create_hard_drop() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_line_clear` is never used [INFO] [stdout] --> src/sound.rs:577:4 [INFO] [stdout] | [INFO] [stdout] 577 | fn create_line_clear() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_tetris` is never used [INFO] [stdout] --> src/sound.rs:595:4 [INFO] [stdout] | [INFO] [stdout] 595 | fn create_tetris() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_tspin` is never used [INFO] [stdout] --> src/sound.rs:612:4 [INFO] [stdout] | [INFO] [stdout] 612 | fn create_tspin() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_game_over` is never used [INFO] [stdout] --> src/sound.rs:622:4 [INFO] [stdout] | [INFO] [stdout] 622 | fn create_game_over() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_level_up` is never used [INFO] [stdout] --> src/sound.rs:631:4 [INFO] [stdout] | [INFO] [stdout] 631 | fn create_level_up() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_perfect_clear` is never used [INFO] [stdout] --> src/sound.rs:647:4 [INFO] [stdout] | [INFO] [stdout] 647 | fn create_perfect_clear() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_sound_effect` is never used [INFO] [stdout] --> src/sound.rs:659:4 [INFO] [stdout] | [INFO] [stdout] 659 | fn create_sound_effect(effect: SoundEffect) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_background_music` is never used [INFO] [stdout] --> src/sound.rs:678:4 [INFO] [stdout] | [INFO] [stdout] 678 | fn create_background_music() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_block_move_sound` is never used [INFO] [stdout] --> src/sound.rs:708:4 [INFO] [stdout] | [INFO] [stdout] 708 | fn create_block_move_sound() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_block_rotate_sound` is never used [INFO] [stdout] --> src/sound.rs:715:4 [INFO] [stdout] | [INFO] [stdout] 715 | fn create_block_rotate_sound() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_block_place_sound` is never used [INFO] [stdout] --> src/sound.rs:724:4 [INFO] [stdout] | [INFO] [stdout] 724 | fn create_block_place_sound() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_line_clear_sound` is never used [INFO] [stdout] --> src/sound.rs:735:4 [INFO] [stdout] | [INFO] [stdout] 735 | fn create_line_clear_sound() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&components::Ghost` instead of cloning the inner type [INFO] [stdout] --> src/systems.rs:355:37 [INFO] [stdout] | [INFO] [stdout] 355 | ghost_clone = Some(ghost.clone()); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/menu.rs:126:33 [INFO] [stdout] | [INFO] [stdout] 126 | if let Some(mut audio_state) = app.world.get_resource_mut::() { [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/menu.rs:137:33 [INFO] [stdout] | [INFO] [stdout] 137 | if let Some(mut audio_state) = app.world.get_resource_mut::() { [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stream` [INFO] [stdout] --> src/sound.rs:256:17 [INFO] [stdout] | [INFO] [stdout] 256 | let mut stream = match stream { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/sound.rs:256:13 [INFO] [stdout] | [INFO] [stdout] 256 | let mut stream = match stream { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `world` [INFO] [stdout] --> src/systems.rs:716:27 [INFO] [stdout] | [INFO] [stdout] 716 | fn update_music_for_level(world: &mut World) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_world` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `centered_rect` is never used [INFO] [stdout] --> src/menu.rs:407:4 [INFO] [stdout] | [INFO] [stdout] 407 | fn centered_rect(width: u16, height: u16, r: Rect) -> Rect { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Quit` is never constructed [INFO] [stdout] --> src/sound.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 30 | enum AudioCommand { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 34 | Quit, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_move_click` is never used [INFO] [stdout] --> src/sound.rs:557:4 [INFO] [stdout] | [INFO] [stdout] 557 | fn create_move_click() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_rotate_click` is never used [INFO] [stdout] --> src/sound.rs:562:4 [INFO] [stdout] | [INFO] [stdout] 562 | fn create_rotate_click() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_soft_drop` is never used [INFO] [stdout] --> src/sound.rs:567:4 [INFO] [stdout] | [INFO] [stdout] 567 | fn create_soft_drop() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_hard_drop` is never used [INFO] [stdout] --> src/sound.rs:572:4 [INFO] [stdout] | [INFO] [stdout] 572 | fn create_hard_drop() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_line_clear` is never used [INFO] [stdout] --> src/sound.rs:577:4 [INFO] [stdout] | [INFO] [stdout] 577 | fn create_line_clear() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_tetris` is never used [INFO] [stdout] --> src/sound.rs:595:4 [INFO] [stdout] | [INFO] [stdout] 595 | fn create_tetris() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_tspin` is never used [INFO] [stdout] --> src/sound.rs:612:4 [INFO] [stdout] | [INFO] [stdout] 612 | fn create_tspin() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_game_over` is never used [INFO] [stdout] --> src/sound.rs:622:4 [INFO] [stdout] | [INFO] [stdout] 622 | fn create_game_over() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_level_up` is never used [INFO] [stdout] --> src/sound.rs:631:4 [INFO] [stdout] | [INFO] [stdout] 631 | fn create_level_up() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_perfect_clear` is never used [INFO] [stdout] --> src/sound.rs:647:4 [INFO] [stdout] | [INFO] [stdout] 647 | fn create_perfect_clear() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_sound_effect` is never used [INFO] [stdout] --> src/sound.rs:659:4 [INFO] [stdout] | [INFO] [stdout] 659 | fn create_sound_effect(effect: SoundEffect) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_background_music` is never used [INFO] [stdout] --> src/sound.rs:678:4 [INFO] [stdout] | [INFO] [stdout] 678 | fn create_background_music() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_block_move_sound` is never used [INFO] [stdout] --> src/sound.rs:708:4 [INFO] [stdout] | [INFO] [stdout] 708 | fn create_block_move_sound() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_block_rotate_sound` is never used [INFO] [stdout] --> src/sound.rs:715:4 [INFO] [stdout] | [INFO] [stdout] 715 | fn create_block_rotate_sound() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_block_place_sound` is never used [INFO] [stdout] --> src/sound.rs:724:4 [INFO] [stdout] | [INFO] [stdout] 724 | fn create_block_place_sound() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_line_clear_sound` is never used [INFO] [stdout] --> src/sound.rs:735:4 [INFO] [stdout] | [INFO] [stdout] 735 | fn create_line_clear_sound() -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&components::Ghost` instead of cloning the inner type [INFO] [stdout] --> src/systems.rs:355:37 [INFO] [stdout] | [INFO] [stdout] 355 | ghost_clone = Some(ghost.clone()); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 3.19s [INFO] running `Command { std: "docker" "inspect" "8360b83cbbb59d8b971d276674335a44f677ab1836dd0c56a0117711343d957c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8360b83cbbb59d8b971d276674335a44f677ab1836dd0c56a0117711343d957c", kill_on_drop: false }` [INFO] [stdout] 8360b83cbbb59d8b971d276674335a44f677ab1836dd0c56a0117711343d957c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] bf77dec3253c26a44fb1ae170592ee154964f7b1caf7378302c2dd46c40b6cdd [INFO] running `Command { std: "docker" "start" "-a" "bf77dec3253c26a44fb1ae170592ee154964f7b1caf7378302c2dd46c40b6cdd", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `Duration` [INFO] [stderr] --> src/app.rs:11:17 [INFO] [stderr] | [INFO] [stderr] 11 | use std::time::{Duration, Instant}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `TetrominoType` [INFO] [stderr] --> src/app.rs:14:75 [INFO] [stderr] | [INFO] [stderr] 14 | use crate::components::{Board, CoyoteTime, GameState, Input, ScreenShake, TetrominoType}; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::particles` [INFO] [stderr] --> src/menu.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::particles; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Borders` and `Margin` [INFO] [stderr] --> src/menu.rs:8:56 [INFO] [stderr] | [INFO] [stderr] 8 | layout::{Alignment, Constraint, Direction, Layout, Margin, Rect}, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 11 | widgets::{Block, Borders, Paragraph, Wrap}, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Instant` [INFO] [stderr] --> src/sound.rs:8:27 [INFO] [stderr] | [INFO] [stderr] 8 | use std::time::{Duration, Instant}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Event`, `KeyCode`, `KeyEvent`, `KeyModifiers`, and `self` [INFO] [stderr] --> src/systems.rs:25:24 [INFO] [stderr] | [INFO] [stderr] 25 | use crossterm::event::{self, Event, KeyCode, KeyEvent, KeyModifiers}; [INFO] [stderr] | ^^^^ ^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Duration` and `Instant` [INFO] [stderr] --> src/systems.rs:26:17 [INFO] [stderr] | [INFO] [stderr] 26 | use std::time::{Duration, Instant}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `OptionsOption` [INFO] [stderr] --> src/ui.rs:21:36 [INFO] [stderr] | [INFO] [stderr] 21 | use crate::menu_types::{MenuState, OptionsOption}; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/menu.rs:126:33 [INFO] [stderr] | [INFO] [stderr] 126 | if let Some(mut audio_state) = app.world.get_resource_mut::() { [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/menu.rs:137:33 [INFO] [stderr] | [INFO] [stderr] 137 | if let Some(mut audio_state) = app.world.get_resource_mut::() { [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `stream` [INFO] [stderr] --> src/sound.rs:256:17 [INFO] [stderr] | [INFO] [stderr] 256 | let mut stream = match stream { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/sound.rs:256:13 [INFO] [stderr] | [INFO] [stderr] 256 | let mut stream = match stream { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `world` [INFO] [stderr] --> src/systems.rs:716:27 [INFO] [stderr] | [INFO] [stderr] 716 | fn update_music_for_level(world: &mut World) { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_world` [INFO] [stderr] [INFO] [stderr] warning: function `centered_rect` is never used [INFO] [stderr] --> src/menu.rs:407:4 [INFO] [stderr] | [INFO] [stderr] 407 | fn centered_rect(width: u16, height: u16, r: Rect) -> Rect { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variant `Quit` is never constructed [INFO] [stderr] --> src/sound.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 30 | enum AudioCommand { [INFO] [stderr] | ------------ variant in this enum [INFO] [stderr] ... [INFO] [stderr] 34 | Quit, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_move_click` is never used [INFO] [stderr] --> src/sound.rs:557:4 [INFO] [stderr] | [INFO] [stderr] 557 | fn create_move_click() -> Box { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_rotate_click` is never used [INFO] [stderr] --> src/sound.rs:562:4 [INFO] [stderr] | [INFO] [stderr] 562 | fn create_rotate_click() -> Box { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_soft_drop` is never used [INFO] [stderr] --> src/sound.rs:567:4 [INFO] [stderr] | [INFO] [stderr] 567 | fn create_soft_drop() -> Box { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_hard_drop` is never used [INFO] [stderr] --> src/sound.rs:572:4 [INFO] [stderr] | [INFO] [stderr] 572 | fn create_hard_drop() -> Box { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_line_clear` is never used [INFO] [stderr] --> src/sound.rs:577:4 [INFO] [stderr] | [INFO] [stderr] 577 | fn create_line_clear() -> Box { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_tetris` is never used [INFO] [stderr] --> src/sound.rs:595:4 [INFO] [stderr] | [INFO] [stderr] 595 | fn create_tetris() -> Box { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_tspin` is never used [INFO] [stderr] --> src/sound.rs:612:4 [INFO] [stderr] | [INFO] [stderr] 612 | fn create_tspin() -> Box { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_game_over` is never used [INFO] [stderr] --> src/sound.rs:622:4 [INFO] [stderr] | [INFO] [stderr] 622 | fn create_game_over() -> Box { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_level_up` is never used [INFO] [stderr] --> src/sound.rs:631:4 [INFO] [stderr] | [INFO] [stderr] 631 | fn create_level_up() -> Box { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_perfect_clear` is never used [INFO] [stderr] --> src/sound.rs:647:4 [INFO] [stderr] | [INFO] [stderr] 647 | fn create_perfect_clear() -> Box { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_sound_effect` is never used [INFO] [stderr] --> src/sound.rs:659:4 [INFO] [stderr] | [INFO] [stderr] 659 | fn create_sound_effect(effect: SoundEffect) -> Box { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_background_music` is never used [INFO] [stderr] --> src/sound.rs:678:4 [INFO] [stderr] | [INFO] [stderr] 678 | fn create_background_music() -> Box { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_block_move_sound` is never used [INFO] [stderr] --> src/sound.rs:708:4 [INFO] [stderr] | [INFO] [stderr] 708 | fn create_block_move_sound() -> Box { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_block_rotate_sound` is never used [INFO] [stderr] --> src/sound.rs:715:4 [INFO] [stderr] | [INFO] [stderr] 715 | fn create_block_rotate_sound() -> Box { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_block_place_sound` is never used [INFO] [stderr] --> src/sound.rs:724:4 [INFO] [stderr] | [INFO] [stderr] 724 | fn create_block_place_sound() -> Box { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_line_clear_sound` is never used [INFO] [stderr] --> src/sound.rs:735:4 [INFO] [stderr] | [INFO] [stderr] 735 | fn create_line_clear_sound() -> Box { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&Ghost` instead of cloning the inner type [INFO] [stderr] --> src/systems.rs:355:37 [INFO] [stderr] | [INFO] [stderr] 355 | ghost_clone = Some(ghost.clone()); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stderr] [INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&components::Ghost` instead of cloning the inner type [INFO] [stderr] --> src/systems.rs:355:37 [INFO] [stderr] | [INFO] [stderr] 355 | ghost_clone = Some(ghost.clone()); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `fallingblocks` (lib) generated 32 warnings (run `cargo fix --lib -p fallingblocks` to apply 11 suggestions) [INFO] [stderr] warning: `fallingblocks` (lib test) generated 32 warnings (31 duplicates) [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:193:61 [INFO] [stderr] | [INFO] [stderr] 193 | ... if let Some(mut audio_state) = [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:207:61 [INFO] [stderr] | [INFO] [stderr] 207 | ... if let Some(mut audio_state) = [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method `on_tick` is never used [INFO] [stderr] --> src/app.rs:111:12 [INFO] [stderr] | [INFO] [stderr] 32 | impl App { [INFO] [stderr] | -------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 111 | pub fn on_tick(&mut self) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: method `select` is never used [INFO] [stderr] --> src/menu.rs:120:12 [INFO] [stderr] | [INFO] [stderr] 71 | impl MenuRenderer { [INFO] [stderr] | ----------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 120 | pub fn select(&mut self, menu: &mut Menu, app: &mut App) -> bool { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `centered_rect` is never used [INFO] [stderr] --> src/menu.rs:407:4 [INFO] [stderr] | [INFO] [stderr] 407 | fn centered_rect(width: u16, height: u16, r: Rect) -> Rect { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_random_menu_particle` is never used [INFO] [stderr] --> src/particles.rs:311:8 [INFO] [stderr] | [INFO] [stderr] 311 | pub fn create_random_menu_particle() -> Particle { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `fallingblocks` (bin "fallingblocks" test) generated 37 warnings (31 duplicates) (run `cargo fix --bin "fallingblocks" --tests` to apply 2 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.22s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fallingblocks-a616ed4bccea9128) [INFO] [stdout] [INFO] [stdout] running 44 tests [INFO] [stdout] test tests::components_tests::board_tests::test_board_clear ... ok [INFO] [stdout] test tests::app_tests::tests::test_app_creation ... ok [INFO] [stdout] test tests::app_tests::tests::test_game_state_resource ... ok [INFO] [stdout] test tests::components_tests::game_state_tests::test_game_state_default ... ok [INFO] [stdout] test tests::components_tests::board_tests::test_board_clear_lines ... ok [INFO] [stdout] test tests::components_tests::board_tests::test_board_is_valid_position ... ok [INFO] [stdout] test tests::app_tests::tests::test_board_dimensions ... ok [INFO] [stdout] test tests::app_tests::tests::test_get_render_blocks ... ok [INFO] [stdout] test tests::components_tests::board_tests::test_board_creation ... ok [INFO] [stdout] test tests::components_tests::tetromino_tests::test_tetromino_creation ... ok [INFO] [stdout] test tests::components_tests::game_state_tests::test_game_state_level_up ... ok [INFO] [stdout] test tests::components_tests::game_state_tests::test_game_state_next_tetromino ... ok [INFO] [stdout] test tests::components_tests::game_state_tests::test_game_state_reset ... ok [INFO] [stdout] test tests::components_tests::position_tests::test_position_methods ... ok [INFO] [stdout] test tests::components_tests::tetromino_tests::test_tetromino_color ... ok [INFO] [stdout] test tests::components_tests::tetromino_tests::test_tetromino_get_blocks ... ok [INFO] [stdout] test tests::components_tests::tetromino_tests::test_tetromino_rotate ... ok [INFO] [stdout] test tests::game_tests::tests::test_board_dimensions ... ok [INFO] [stdout] test tests::game_tests::tests::test_coyote_time ... ok [INFO] [stdout] test tests::game_tests::tests::test_level_progression ... ok [INFO] [stdout] test tests::game_tests::tests::test_scoring_constants ... ok [INFO] [stdout] test tests::integration_tests::tests::test_game_over_state ... ok [INFO] [stdout] test tests::hard_drop_test::test_hard_drop ... ok [INFO] [stdout] test tests::integration_tests::tests::test_pause_resume ... ok [INFO] [stdout] test tests::hard_drop_test::test_ghost_position_update ... ok [INFO] [stdout] test tests::sound_tests::test_toggle_music ... ok [INFO] [stdout] test tests::sound_tests::test_audiostate_creation ... ok [INFO] [stdout] test tests::sound_tests::test_audiostate_as_resource ... ok [INFO] [stdout] test tests::sound_tests::test_default_audistate ... ok [INFO] [stdout] test tests::sound_tests::test_volume_adjustment ... ok [INFO] [stdout] test tests::systems_tests::tests::test_input_system ... ok [INFO] [stdout] test tests::systems_tests::tests::test_rotation_system ... ok [INFO] [stdout] test tests::systems_tests::tests::test_spawn_tetromino ... ok [INFO] [stdout] test tests::systems_tests::tests::test_next_tetromino_preview ... ok [INFO] [stdout] test tests::sound_tests::test_sound_generation ... ok [INFO] [stdout] test tests::time_tests::tests::test_time_new ... ok [INFO] [stdout] test tests::ui_tests::tests::test_calculate_responsive_board_size ... ok [INFO] [stdout] test tests::ui_tests::tests::test_next_tetromino_rendering ... ok [INFO] [stdout] test tests::ui_tests::tests::test_centered_rect ... ok [INFO] [stdout] test tests::ui_tests::tests::test_game_render_with_small_terminal ... ok [INFO] [stderr] ALSA lib confmisc.c:855:(parse_card) cannot find card '0' [INFO] [stderr] ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory [INFO] [stderr] ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings [INFO] [stderr] ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory [INFO] [stderr] ALSA lib confmisc.c:1342:(snd_func_refer) error evaluating name [INFO] [stderr] ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory [INFO] [stderr] ALSA lib conf.c:5727:(snd_config_expand) Evaluate error: No such file or directory [INFO] [stderr] ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM default [INFO] [stdout] test tests::sound_tests::test_play_sound ... ok [INFO] [stdout] test tests::ui_tests::tests::test_game_over_rendering ... ok [INFO] [stdout] test tests::time_tests::tests::test_time_update ... ok [INFO] [stdout] test tests::time_tests::tests::test_delta_seconds ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 44 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/fallingblocks-693d94d0a161df95) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests fallingblocks [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "bf77dec3253c26a44fb1ae170592ee154964f7b1caf7378302c2dd46c40b6cdd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bf77dec3253c26a44fb1ae170592ee154964f7b1caf7378302c2dd46c40b6cdd", kill_on_drop: false }` [INFO] [stdout] bf77dec3253c26a44fb1ae170592ee154964f7b1caf7378302c2dd46c40b6cdd