[INFO] fetching crate fallingblocks 0.1.4... [INFO] building fallingblocks-0.1.4 against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237-1 [INFO] extracting crate fallingblocks 0.1.4 into /workspace/builds/worker-1-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-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate fallingblocks 0.1.4 on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "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] Downloading crates ... [INFO] [stderr] Downloaded symphonia-utils-xiph v0.5.4 [INFO] [stderr] Downloaded extended v0.1.0 [INFO] [stderr] Downloaded symphonia-format-caf v0.5.4 [INFO] [stderr] Downloaded symphonia-format-ogg v0.5.4 [INFO] [stderr] Downloaded symphonia-format-riff v0.5.4 [INFO] [stderr] Downloaded symphonia-format-mkv v0.5.4 [INFO] [stderr] Downloaded symphonia-format-isomp4 v0.5.4 [INFO] [stderr] Downloaded symphonia-codec-adpcm v0.5.4 [INFO] [stderr] Downloaded symphonia-codec-pcm v0.5.4 [INFO] [stderr] Downloaded bevy_macro_utils v0.15.3 [INFO] [stderr] Downloaded numeric-array v0.6.1 [INFO] [stderr] Downloaded bevy_ptr v0.15.3 [INFO] [stderr] Downloaded bevy_ecs_macros v0.15.3 [INFO] [stderr] Downloaded bevy_utils v0.15.3 [INFO] [stderr] Downloaded bevy_utils_proc_macros v0.15.3 [INFO] [stderr] Downloaded uuid v1.12.1 [INFO] [stderr] Downloaded jiff-static v0.2.5 [INFO] [stderr] Downloaded bevy_reflect_derive v0.15.3 [INFO] [stderr] Downloaded bevy_tasks v0.15.3 [INFO] [stderr] Downloaded bevy_reflect v0.15.3 [INFO] [stderr] Downloaded generic-array v1.2.0 [INFO] [stderr] Downloaded symphonia-codec-aac v0.5.4 [INFO] [stderr] Downloaded thingbuf v0.1.6 [INFO] [stderr] Downloaded symphonia-codec-vorbis v0.5.4 [INFO] [stderr] Downloaded symphonia-codec-alac v0.5.4 [INFO] [stderr] Downloaded symphonia-bundle-flac v0.5.4 [INFO] [stderr] Downloaded microfft v0.6.0 [INFO] [stderr] Downloaded bevy_ecs v0.15.3 [INFO] [stderr] Downloaded glam v0.28.0 [INFO] [stderr] Downloaded jiff v0.2.5 [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-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5e4a34d81d9ccd383db570f998596e5ad8f35ee853c94091d07da5a8f69fbb93 [INFO] running `Command { std: "docker" "start" "-a" "5e4a34d81d9ccd383db570f998596e5ad8f35ee853c94091d07da5a8f69fbb93", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5e4a34d81d9ccd383db570f998596e5ad8f35ee853c94091d07da5a8f69fbb93", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5e4a34d81d9ccd383db570f998596e5ad8f35ee853c94091d07da5a8f69fbb93", kill_on_drop: false }` [INFO] [stdout] 5e4a34d81d9ccd383db570f998596e5ad8f35ee853c94091d07da5a8f69fbb93 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0adcfe45cc6b32136a0a3e938f5f9704c0d010f7571c57b707aadd0ba06e3ec4 [INFO] running `Command { std: "docker" "start" "-a" "0adcfe45cc6b32136a0a3e938f5f9704c0d010f7571c57b707aadd0ba06e3ec4", kill_on_drop: false }` [INFO] [stderr] Compiling bytemuck v1.22.0 [INFO] [stderr] Compiling libc v0.2.171 [INFO] [stderr] Compiling once_cell v1.21.1 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling smallvec v1.14.0 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling indexmap v2.8.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling tracing-core v0.1.33 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling bitflags v2.9.0 [INFO] [stderr] Compiling syn v2.0.100 [INFO] [stderr] Compiling winnow v0.7.4 [INFO] [stderr] Compiling typenum v1.18.0 [INFO] [stderr] Compiling typeid v1.0.3 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling signal-hook-registry v1.4.2 [INFO] [stderr] Compiling thread_local v1.1.8 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling futures-lite v2.6.0 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling symphonia-core v0.5.4 [INFO] [stderr] Compiling mio v1.0.3 [INFO] [stderr] Compiling extended v0.1.0 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Compiling alsa-sys v0.3.1 [INFO] [stderr] Compiling safe_arch v0.7.4 [INFO] [stderr] Compiling signal-hook-mio v0.2.4 [INFO] [stderr] Compiling castaway v0.2.3 [INFO] [stderr] Compiling glam v0.28.0 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling bevy_ptr v0.15.3 [INFO] [stderr] Compiling cpal v0.15.3 [INFO] [stderr] Compiling symphonia-metadata v0.5.4 [INFO] [stderr] Compiling symphonia-codec-pcm v0.5.4 [INFO] [stderr] Compiling symphonia-codec-aac v0.5.4 [INFO] [stderr] Compiling async-executor v1.13.1 [INFO] [stderr] Compiling symphonia-codec-adpcm v0.5.4 [INFO] [stderr] Compiling const-random-macro v0.1.16 [INFO] [stderr] Compiling symphonia-utils-xiph v0.5.4 [INFO] [stderr] Compiling uuid v1.12.1 [INFO] [stderr] Compiling symphonia-codec-vorbis v0.5.4 [INFO] [stderr] Compiling symphonia-bundle-flac v0.5.4 [INFO] [stderr] Compiling symphonia-format-ogg v0.5.4 [INFO] [stderr] Compiling symphonia-format-isomp4 v0.5.4 [INFO] [stderr] Compiling symphonia-format-mkv v0.5.4 [INFO] [stderr] Compiling const-random v0.1.18 [INFO] [stderr] Compiling generic-array v1.2.0 [INFO] [stderr] Compiling symphonia-bundle-mp3 v0.5.4 [INFO] [stderr] Compiling symphonia-format-caf v0.5.4 [INFO] [stderr] Compiling toml_edit v0.22.24 [INFO] [stderr] Compiling symphonia-format-riff v0.5.4 [INFO] [stderr] Compiling symphonia-codec-alac v0.5.4 [INFO] [stderr] Compiling fixedbitset v0.4.2 [INFO] [stderr] Compiling dyn-clone v1.0.19 [INFO] [stderr] Compiling disqualified v1.0.0 [INFO] [stderr] Compiling unicode-truncate v1.1.0 [INFO] [stderr] Compiling petgraph v0.6.5 [INFO] [stderr] Compiling compact_str v0.8.1 [INFO] [stderr] Compiling symphonia v0.5.4 [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 wide v0.7.32 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling erased-serde v0.4.6 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling lru v0.12.5 [INFO] [stderr] Compiling nonmax v0.5.5 [INFO] [stderr] Compiling dasp_sample v0.11.0 [INFO] [stderr] Compiling darling_core v0.20.10 [INFO] [stderr] Compiling fixedbitset v0.5.7 [INFO] [stderr] Compiling jiff v0.2.5 [INFO] [stderr] Compiling tracing-subscriber v0.3.19 [INFO] [stderr] Compiling bevy_macro_utils v0.15.3 [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 pin-project-internal v1.1.10 [INFO] [stderr] Compiling bevy_utils_proc_macros v0.15.3 [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 tracing v0.1.41 [INFO] [stderr] Compiling bevy_utils 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 darling v0.20.10 [INFO] [stderr] Compiling instability v0.3.7 [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 1m 18s [INFO] running `Command { std: "docker" "inspect" "0adcfe45cc6b32136a0a3e938f5f9704c0d010f7571c57b707aadd0ba06e3ec4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0adcfe45cc6b32136a0a3e938f5f9704c0d010f7571c57b707aadd0ba06e3ec4", kill_on_drop: false }` [INFO] [stdout] 0adcfe45cc6b32136a0a3e938f5f9704c0d010f7571c57b707aadd0ba06e3ec4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] acdd1c60ab842716671f999565a80f315594991b444bc210fc798cb80fa2a3a6 [INFO] running `Command { std: "docker" "start" "-a" "acdd1c60ab842716671f999565a80f315594991b444bc210fc798cb80fa2a3a6", kill_on_drop: false }` [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: 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: 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: `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: 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: 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: 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 4.07s [INFO] running `Command { std: "docker" "inspect" "acdd1c60ab842716671f999565a80f315594991b444bc210fc798cb80fa2a3a6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "acdd1c60ab842716671f999565a80f315594991b444bc210fc798cb80fa2a3a6", kill_on_drop: false }` [INFO] [stdout] acdd1c60ab842716671f999565a80f315594991b444bc210fc798cb80fa2a3a6