[INFO] cloning repository https://github.com/KunoSayo/rust_rhythm
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/KunoSayo/rust_rhythm" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKunoSayo%2Frust_rhythm", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKunoSayo%2Frust_rhythm'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 166619d5a3692b90c3af69048753f2a1cb556fa2
[INFO] checking KunoSayo/rust_rhythm against master#568b11762723b001bfa693d0f21c5dad01d4e813 for pr-149518
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKunoSayo%2Frust_rhythm" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/KunoSayo/rust_rhythm
[INFO] finished tweaking git repo https://github.com/KunoSayo/rust_rhythm
[INFO] tweaked toml for git repo https://github.com/KunoSayo/rust_rhythm written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/KunoSayo/rust_rhythm on toolchain 568b11762723b001bfa693d0f21c5dad01d4e813
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+568b11762723b001bfa693d0f21c5dad01d4e813" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/KunoSayo/rust_rhythm 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" "+568b11762723b001bfa693d0f21c5dad01d4e813" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating git repository `https://github.com/RustAudio/rodio.git`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/amethyst/specs.git`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rfd v0.15.3
[INFO] [stderr]   Downloaded single_thread_cell v0.3.0
[INFO] [stderr]   Downloaded macro_rules_attribute v0.1.3
[INFO] [stderr]   Downloaded nougat v0.2.4
[INFO] [stderr]   Downloaded shred v0.16.1
[INFO] [stderr]   Downloaded android_logger v0.13.3
[INFO] [stderr]   Downloaded mime_guess2 v2.3.0
[INFO] [stderr]   Downloaded macro_rules_attribute-proc_macro v0.1.3
[INFO] [stderr]   Downloaded nougat-proc_macros v0.2.4
[INFO] [stderr]   Downloaded tuple_utils v0.4.0
[INFO] [stderr]   Downloaded jiff-static v0.2.9
[INFO] [stderr]   Downloaded jiff v0.2.9
[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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+568b11762723b001bfa693d0f21c5dad01d4e813" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] af77341cd56574ed5bb3384a3454686c5ec3509739f030f9350546ed37f93e02
[INFO] running `Command { std: "docker" "start" "-a" "af77341cd56574ed5bb3384a3454686c5ec3509739f030f9350546ed37f93e02", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "af77341cd56574ed5bb3384a3454686c5ec3509739f030f9350546ed37f93e02", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "af77341cd56574ed5bb3384a3454686c5ec3509739f030f9350546ed37f93e02", kill_on_drop: false }`
[INFO] [stdout] af77341cd56574ed5bb3384a3454686c5ec3509739f030f9350546ed37f93e02
[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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+568b11762723b001bfa693d0f21c5dad01d4e813" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d3fdaefa79eff0b02b52793a1c1775ee99eb054d9d0268c0f97685a324c80ab8
[INFO] running `Command { std: "docker" "start" "-a" "d3fdaefa79eff0b02b52793a1c1775ee99eb054d9d0268c0f97685a324c80ab8", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]    Compiling cc v1.2.19
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]    Compiling icu_normalizer_data v1.5.1
[INFO] [stderr]    Compiling icu_properties_data v1.5.1
[INFO] [stderr]     Checking event-listener v5.4.0
[INFO] [stderr]     Checking icu_locid_transform_data v1.5.1
[INFO] [stderr]    Compiling quick-xml v0.37.4
[INFO] [stderr]    Compiling winnow v0.7.6
[INFO] [stderr]    Compiling wayland-client v0.31.8
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling rustversion v1.0.20
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]    Compiling zerocopy v0.8.24
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.5
[INFO] [stderr]    Compiling naga v24.0.0
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]     Checking async-lock v3.4.0
[INFO] [stderr]     Checking async-channel v2.3.1
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling wgpu-hal v24.0.4
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking blocking v1.6.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]    Compiling rustfft v6.3.0
[INFO] [stderr]    Compiling wgpu-core v24.0.2
[INFO] [stderr]     Checking strength_reduce v0.2.4
[INFO] [stderr]    Compiling mime_guess2 v2.3.0
[INFO] [stderr]     Checking alsa-sys v0.3.1
[INFO] [stderr]     Checking async-fs v2.1.2
[INFO] [stderr]    Compiling wayland-scanner v0.31.6
[INFO] [stderr]     Checking async-broadcast v0.7.2
[INFO] [stderr]     Checking async-executor v1.13.1
[INFO] [stderr]     Checking xdg-home v1.3.0
[INFO] [stderr]    Compiling wgpu v24.0.3
[INFO] [stderr]    Compiling winit v0.30.9
[INFO] [stderr]    Compiling macro_rules_attribute-proc_macro v0.1.3
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking v_frame v0.3.8
[INFO] [stderr]     Checking ordered-float v4.6.0
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking primal-check v0.3.4
[INFO] [stderr]     Checking transpose v0.2.3
[INFO] [stderr]    Compiling wayland-backend v0.3.8
[INFO] [stderr]     Checking tynm v0.1.10
[INFO] [stderr]     Checking macro_rules_attribute v0.1.3
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]     Checking dpi v0.1.1
[INFO] [stderr]     Checking home v0.5.11
[INFO] [stderr]    Compiling rfd v0.15.3
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking atomic_refcell v0.1.13
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking shred v0.16.1
[INFO] [stderr]     Checking type-map v0.5.0
[INFO] [stderr]     Checking socket2 v0.5.9
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling toml_edit v0.22.24
[INFO] [stderr]     Checking shrev v1.1.3
[INFO] [stderr]     Checking tuple_utils v0.4.0
[INFO] [stderr]    Compiling rr_core v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking toml_datetime v0.6.8
[INFO] [stderr]     Checking hibitset v0.6.4
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rectangle-pack v0.4.2
[INFO] [stderr]     Checking single_thread_cell v0.3.0
[INFO] [stderr]     Checking jiff v0.2.9
[INFO] [stderr]     Checking rand v0.9.1
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking av1-grain v0.2.3
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking env_filter v0.1.3
[INFO] [stderr]    Compiling proc-macro-crate v3.3.0
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling nougat-proc_macros v0.2.4
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling bytemuck_derive v1.9.3
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling profiling-procmacros v1.0.16
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling enumflags2_derive v0.7.11
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking profiling v1.0.16
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling enum-map-derive v0.17.0
[INFO] [stderr]     Checking nougat v0.2.4
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking bytemuck v1.22.0
[INFO] [stderr]     Checking realfft v3.4.0
[INFO] [stderr]    Compiling nalgebra-macros v0.2.2
[INFO] [stderr]     Checking specs v0.20.0 (https://github.com/amethyst/specs.git#d303a8ef)
[INFO] [stderr]     Checking env_logger v0.11.8
[INFO] [stderr]     Checking rubato v0.16.2
[INFO] [stderr]     Checking emath v0.31.1
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking symphonia-core v0.5.4
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking rav1e v0.7.1
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking safe_arch v0.7.4
[INFO] [stderr]     Checking thiserror v2.0.12
[INFO] [stderr]     Checking tokio v1.44.2
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking ecolor v0.31.1
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking wide v0.7.32
[INFO] [stderr]     Checking epaint v0.31.1
[INFO] [stderr]     Checking symphonia-metadata v0.5.4
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]     Checking symphonia-bundle-mp3 v0.5.4
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]     Checking symphonia v0.5.4
[INFO] [stderr]     Checking simba v0.9.0
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]    Compiling zvariant_utils v3.2.0
[INFO] [stderr]    Compiling enumflags2 v0.7.11
[INFO] [stderr]    Compiling zvariant_derive v5.4.0
[INFO] [stderr]     Checking bitflags v2.9.0
[INFO] [stderr]     Checking enum-map v2.7.3
[INFO] [stderr]     Checking rustix v0.38.44
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking gpu-descriptor-types v0.2.0
[INFO] [stderr]     Checking wgpu-types v24.0.0
[INFO] [stderr]     Checking egui v0.31.1
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking ravif v0.11.12
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]    Compiling zvariant v5.4.0
[INFO] [stderr]     Checking gpu-descriptor v0.3.1
[INFO] [stderr]     Checking image v0.25.6
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking cpal v0.15.3
[INFO] [stderr]     Checking webbrowser v1.0.4
[INFO] [stderr]     Checking rodio v0.21.0 (https://github.com/RustAudio/rodio.git?branch=0.21#2bcf29a3)
[INFO] [stderr]     Checking nalgebra v0.33.2
[INFO] [stderr]     Checking egui_extras v0.31.1
[INFO] [stderr]     Checking zbus_names v4.2.0
[INFO] [stderr]    Compiling zbus_macros v5.5.0
[INFO] [stderr]     Checking polling v3.7.4
[INFO] [stderr]     Checking x11rb v0.13.1
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking async-io v2.4.0
[INFO] [stderr]     Checking async-signal v0.2.10
[INFO] [stderr]     Checking async-net v2.0.0
[INFO] [stderr]     Checking async-process v2.3.0
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking arboard v3.5.0
[INFO] [stderr]     Checking zbus v5.5.0
[INFO] [stderr]     Checking wayland-protocols v0.32.6
[INFO] [stderr]     Checking wayland-cursor v0.31.8
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking ashpd v0.11.0
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.6
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.6
[INFO] [stderr]     Checking smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking smithay-clipboard v0.7.2
[INFO] [stderr]     Checking egui-wgpu v0.31.1
[INFO] [stderr]     Checking egui-winit v0.31.1
[INFO] [stdout] warning: unused import: `SongBeatmapFile`
[INFO] [stdout]  --> src/game/song.rs:1:47
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::game::beatmap::file::{de_from_ron, SongBeatmapFile};
[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: `SongBeatmapFile`
[INFO] [stdout]  --> src/game/song.rs:1:47
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::game::beatmap::file::{de_from_ron, SongBeatmapFile};
[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: `serde::Deserialize`
[INFO] [stdout]  --> src/game/song.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde::Deserialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserializer` and `Serializer`
[INFO] [stdout]  --> src/game/beatmap/file.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde::{Deserialize, Deserializer, Serialize, Serializer};
[INFO] [stdout]   |                          ^^^^^^^^^^^^             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TimingLine`
[INFO] [stdout]  --> src/game/beatmap/play.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::game::timing::{TimingGroup, TimingLine};
[INFO] [stdout]   |                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ron::extensions::Extensions`
[INFO] [stdout]  --> src/game/beatmap/test.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ron::extensions::Extensions;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ron::Options`
[INFO] [stdout]  --> src/game/beatmap/test.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ron::Options;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Deserialize`
[INFO] [stdout]  --> src/game/song.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde::Deserialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]  --> src/game/beatmap/test.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserializer` and `Serializer`
[INFO] [stdout]  --> src/game/beatmap/file.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use serde::{Deserialize, Deserializer, Serialize, Serializer};
[INFO] [stdout]   |                          ^^^^^^^^^^^^             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TimingLine`
[INFO] [stdout]  --> src/game/beatmap/play.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::game::timing::{TimingGroup, TimingLine};
[INFO] [stdout]   |                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/state/main_menu.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IO_POOL`
[INFO] [stdout]  --> src/state/editor/editor.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::engine::global::{IO_POOL, STATIC_DATA};
[INFO] [stdout]   |                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/state/main_menu.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IO_POOL`
[INFO] [stdout]  --> src/state/editor/editor.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::engine::global::{IO_POOL, STATIC_DATA};
[INFO] [stdout]   |                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NoteResult`
[INFO] [stdout]  --> src/state/play/gaming.rs:6:57
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::game::beatmap::play::{Gaming, NoteHitResult, NoteResult, PlayingNoteType};
[INFO] [stdout]   |                                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OffsetType`
[INFO] [stdout]   --> src/state/play/gaming.rs:11:69
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::game::{get_play_rect, secs_to_offset_type, GameTimeType, OffsetType};
[INFO] [stdout]    |                                                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NoteResult`
[INFO] [stdout]  --> src/state/play/gaming.rs:6:57
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::game::beatmap::play::{Gaming, NoteHitResult, NoteResult, PlayingNoteType};
[INFO] [stdout]   |                                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TextStyle` and `Widget`
[INFO] [stdout]   --> src/state/play/gaming.rs:15:75
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Align, Color32, Context, Frame, Layout, Pos2, Rect, RichText, Stroke, TextStyle, Vec2, Widget,
[INFO] [stdout]    |                                                                           ^^^^^^^^^        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sink`
[INFO] [stdout]   --> src/state/play/gaming.rs:18:22
[INFO] [stdout]    |
[INFO] [stdout] 18 | use rodio::{Decoder, Sink, Source};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/state/play/gaming.rs:174:20
[INFO] [stdout]     |
[INFO] [stdout] 174 |                 if (*x <= 0.0) {
[INFO] [stdout]     |                    ^         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 174 -                 if (*x <= 0.0) {
[INFO] [stdout] 174 +                 if *x <= 0.0  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OffsetType`
[INFO] [stdout]   --> src/state/play/gaming.rs:11:69
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::game::{get_play_rect, secs_to_offset_type, GameTimeType, OffsetType};
[INFO] [stdout]    |                                                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SongManager`
[INFO] [stdout]  --> src/state/play/mod.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::game::song::{SongManager, SongManagerResourceType};
[INFO] [stdout]   |                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/state/play/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TextStyle` and `Widget`
[INFO] [stdout]   --> src/state/play/gaming.rs:15:75
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Align, Color32, Context, Frame, Layout, Pos2, Rect, RichText, Stroke, TextStyle, Vec2, Widget,
[INFO] [stdout]    |                                                                           ^^^^^^^^^        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sink`
[INFO] [stdout]   --> src/state/play/gaming.rs:18:22
[INFO] [stdout]    |
[INFO] [stdout] 18 | use rodio::{Decoder, Sink, Source};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/state/play/gaming.rs:174:20
[INFO] [stdout]     |
[INFO] [stdout] 174 |                 if (*x <= 0.0) {
[INFO] [stdout]     |                    ^         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 174 -                 if (*x <= 0.0) {
[INFO] [stdout] 174 +                 if *x <= 0.0  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SongManager`
[INFO] [stdout]  --> src/state/play/mod.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::game::song::{SongManager, SongManagerResourceType};
[INFO] [stdout]   |                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/state/play/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `wgpu::ImageCopyTexture`: This has been renamed to `TexelCopyTextureInfo`, and will be removed in 25.0.0.
[INFO] [stdout]   --> src/engine/manager.rs:22:48
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Color, CommandEncoderDescriptor, Extent3d, ImageCopyTexture, LoadOp, Maintain, Operations,
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `wgpu::ImageCopyTexture`: This has been renamed to `TexelCopyTextureInfo`, and will be removed in 25.0.0.
[INFO] [stdout]   --> src/engine/manager.rs:22:48
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Color, CommandEncoderDescriptor, Extent3d, ImageCopyTexture, LoadOp, Maintain, Operations,
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]   --> src/state/main_menu.rs:43:27
[INFO] [stdout]    |
[INFO] [stdout] 43 |             .frame(Frame::none())
[INFO] [stdout]    |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]   --> src/state/main_menu.rs:43:27
[INFO] [stdout]    |
[INFO] [stdout] 43 |             .frame(Frame::none())
[INFO] [stdout]    |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]  --> src/state/editor/settings_editor.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 |             .frame(Frame::none())
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `egui::Frame::none`: Use `Frame::NONE` or `Frame::new()` instead.
[INFO] [stdout]  --> src/state/editor/settings_editor.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 |             .frame(Frame::none())
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `et`
[INFO] [stdout]    --> src/game/render/mod.rs:155:21
[INFO] [stdout]     |
[INFO] [stdout] 155 |         if let Some(et) = note.get_end_time() {
[INFO] [stdout]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_et`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gpu`
[INFO] [stdout]   --> src/state/init.rs:84:29
[INFO] [stdout]    |
[INFO] [stdout] 84 |                         let gpu = s.app.gpu.as_ref().unwrap();
[INFO] [stdout]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_gpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gpu`
[INFO] [stdout]    --> src/state/init.rs:104:17
[INFO] [stdout]     |
[INFO] [stdout] 104 |             let gpu = s.app.gpu.as_ref().expect("I FOUND GPU");
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_gpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/state/main_menu.rs:20:25
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn start(&mut self, s: &mut StateData) -> LoopState {
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/state/main_menu.rs:25:26
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn update(&mut self, s: &mut StateData) -> (Trans, LoopState) {
[INFO] [stdout]    |                          ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sd`
[INFO] [stdout]   --> src/state/main_menu.rs:40:26
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn render(&mut self, sd: &mut StateData, ctx: &Context) -> Trans {
[INFO] [stdout]    |                          ^^ help: if this is intentional, prefix it with an underscore: `_sd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/state/main_menu.rs:79:28
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn on_event(&mut self, s: &mut StateData, e: StateEvent) {}
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/state/main_menu.rs:79:47
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn on_event(&mut self, s: &mut StateData, e: StateEvent) {}
[INFO] [stdout]    |                                               ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/state/editor/editor.rs:325:13
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let mut tran = Trans::None;
[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: unused variable: `width`
[INFO] [stdout]    --> src/state/editor/editor.rs:420:21
[INFO] [stdout]     |
[INFO] [stdout] 420 |                 let width = ui.available_width();
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/state/editor/editor.rs:414:36
[INFO] [stdout]     |
[INFO] [stdout] 414 |     fn render_top_panel(&mut self, s: &mut StateData, ctx: &Context) {
[INFO] [stdout]     |                                    ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `et`
[INFO] [stdout]    --> src/game/render/mod.rs:155:21
[INFO] [stdout]     |
[INFO] [stdout] 155 |         if let Some(et) = note.get_end_time() {
[INFO] [stdout]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_et`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/state/editor/editor.rs:451:41
[INFO] [stdout]     |
[INFO] [stdout] 451 |     fn render_top_audio_wave(&mut self, s: &mut StateData, ctx: &Context) {
[INFO] [stdout]     |                                         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/state/editor/editor.rs:662:42
[INFO] [stdout]     |
[INFO] [stdout] 662 |     fn render_bottom_progress(&mut self, s: &mut StateData, ctx: &Context) {
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gpu`
[INFO] [stdout]   --> src/state/init.rs:84:29
[INFO] [stdout]    |
[INFO] [stdout] 84 |                         let gpu = s.app.gpu.as_ref().unwrap();
[INFO] [stdout]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_gpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gpu`
[INFO] [stdout]    --> src/state/init.rs:104:17
[INFO] [stdout]     |
[INFO] [stdout] 104 |             let gpu = s.app.gpu.as_ref().expect("I FOUND GPU");
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_gpu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/state/main_menu.rs:20:25
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn start(&mut self, s: &mut StateData) -> LoopState {
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/state/main_menu.rs:25:26
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn update(&mut self, s: &mut StateData) -> (Trans, LoopState) {
[INFO] [stdout]    |                          ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sd`
[INFO] [stdout]   --> src/state/main_menu.rs:40:26
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn render(&mut self, sd: &mut StateData, ctx: &Context) -> Trans {
[INFO] [stdout]    |                          ^^ help: if this is intentional, prefix it with an underscore: `_sd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/state/main_menu.rs:79:28
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn on_event(&mut self, s: &mut StateData, e: StateEvent) {}
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/state/main_menu.rs:79:47
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn on_event(&mut self, s: &mut StateData, e: StateEvent) {}
[INFO] [stdout]    |                                               ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/state/editor/editor.rs:325:13
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let mut tran = Trans::None;
[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: unused variable: `ui`
[INFO] [stdout]    --> src/state/editor/note_editor.rs:482:65
[INFO] [stdout]     |
[INFO] [stdout] 482 |     fn normal_note_pointer_update(&mut self, s: &mut StateData, ui: &mut Ui, game_rect: &Rect) {
[INFO] [stdout]     |                                                                 ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]    --> src/state/editor/note_editor.rs:520:9
[INFO] [stdout]     |
[INFO] [stdout] 520 |         ui: &mut Ui,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_pos`
[INFO] [stdout]    --> src/state/editor/note_editor.rs:553:48
[INFO] [stdout]     |
[INFO] [stdout] 553 |                     PointerType::LongNote(Some(start_pos)) => {
[INFO] [stdout]     |                                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/state/editor/editor.rs:420:21
[INFO] [stdout]     |
[INFO] [stdout] 420 |                 let width = ui.available_width();
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/state/editor/editor.rs:414:36
[INFO] [stdout]     |
[INFO] [stdout] 414 |     fn render_top_panel(&mut self, s: &mut StateData, ctx: &Context) {
[INFO] [stdout]     |                                    ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tr`
[INFO] [stdout]    --> src/state/editor/note_editor.rs:585:17
[INFO] [stdout]     |
[INFO] [stdout] 585 |             let tr = s.app.world.fetch::<TextureRenderer>();
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_tr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_pos`
[INFO] [stdout]    --> src/state/editor/note_editor.rs:667:33
[INFO] [stdout]     |
[INFO] [stdout] 667 |             PointerType::Select(start_pos) => {
[INFO] [stdout]     |                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `center_point`
[INFO] [stdout]    --> src/state/editor/note_editor.rs:778:21
[INFO] [stdout]     |
[INFO] [stdout] 778 |                 let center_point = rect.center();
[INFO] [stdout]     |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_center_point`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/state/editor/editor.rs:451:41
[INFO] [stdout]     |
[INFO] [stdout] 451 |     fn render_top_audio_wave(&mut self, s: &mut StateData, ctx: &Context) {
[INFO] [stdout]     |                                         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]  --> src/state/editor/settings_editor.rs:7:46
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub fn render_settings_editor(&mut self, s: &mut StateData, ctx: &egui::Context) {
[INFO] [stdout]   |                                              ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/state/editor/editor.rs:662:42
[INFO] [stdout]     |
[INFO] [stdout] 662 |     fn render_bottom_progress(&mut self, s: &mut StateData, ctx: &Context) {
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/state/editor/timing_editor.rs:12:44
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn render_timing_editor(&mut self, s: &mut StateData, ctx: &egui::Context) {
[INFO] [stdout]    |                                            ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]    --> src/state/editor/note_editor.rs:482:65
[INFO] [stdout]     |
[INFO] [stdout] 482 |     fn normal_note_pointer_update(&mut self, s: &mut StateData, ui: &mut Ui, game_rect: &Rect) {
[INFO] [stdout]     |                                                                 ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ui`
[INFO] [stdout]    --> src/state/editor/note_editor.rs:520:9
[INFO] [stdout]     |
[INFO] [stdout] 520 |         ui: &mut Ui,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_ui`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_pos`
[INFO] [stdout]    --> src/state/editor/note_editor.rs:553:48
[INFO] [stdout]     |
[INFO] [stdout] 553 |                     PointerType::LongNote(Some(start_pos)) => {
[INFO] [stdout]     |                                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tr`
[INFO] [stdout]    --> src/state/editor/note_editor.rs:585:17
[INFO] [stdout]     |
[INFO] [stdout] 585 |             let tr = s.app.world.fetch::<TextureRenderer>();
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_tr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_pos`
[INFO] [stdout]    --> src/state/editor/note_editor.rs:667:33
[INFO] [stdout]     |
[INFO] [stdout] 667 |             PointerType::Select(start_pos) => {
[INFO] [stdout]     |                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/state/play/gaming.rs:192:13
[INFO] [stdout]     |
[INFO] [stdout] 192 |         let mut trans = Trans::None;
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_long`
[INFO] [stdout]    --> src/state/play/gaming.rs:331:58
[INFO] [stdout]     |
[INFO] [stdout] 331 | ...                   if let Some((result, is_long)) = self
[INFO] [stdout]     |                                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_long`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/state/play/end.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn start(&mut self, s: &mut StateData) -> LoopState {
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `center_point`
[INFO] [stdout]    --> src/state/editor/note_editor.rs:778:21
[INFO] [stdout]     |
[INFO] [stdout] 778 |                 let center_point = rect.center();
[INFO] [stdout]     |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_center_point`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]  --> src/state/editor/settings_editor.rs:7:46
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub fn render_settings_editor(&mut self, s: &mut StateData, ctx: &egui::Context) {
[INFO] [stdout]   |                                              ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/state/play/end.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut trans = Trans::None;
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/state/play/end.rs:32:26
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn render(&mut self, s: &mut StateData, ctx: &Context) -> Trans {
[INFO] [stdout]    |                          ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first_display_y`
[INFO] [stdout]    --> src/ui/song_list.rs:158:21
[INFO] [stdout]     |
[INFO] [stdout] 158 |                 let first_display_y = (scrolled - height).at_least(0.0);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_display_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/state/editor/timing_editor.rs:12:44
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn render_timing_editor(&mut self, s: &mut StateData, ctx: &egui::Context) {
[INFO] [stdout]    |                                            ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_3d`
[INFO] [stdout]   --> src/lib.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let is_3d = std::env::var("3d").map(|x| x == "1").unwrap_or(true);
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_is_3d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameRect` is never constructed
[INFO] [stdout]   --> src/game/beatmap/mod.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct GameRect {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_ab` is never used
[INFO] [stdout]   --> src/game/beatmap/mod.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | impl GameRect {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 75 |     pub fn from_ab(a: GamePos, b: GamePos) -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `should_display` is never used
[INFO] [stdout]    --> src/game/beatmap/play.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl ScoreCounter {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn should_display(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_early_miss` is never used
[INFO] [stdout]    --> src/game/beatmap/play.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 175 | impl<T: Note> PlayingNote<T> {
[INFO] [stdout]     | ---------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn is_early_miss(&self, judge_times: &JudgeTimes, time: OffsetType) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_bpm` and `is_same_by_addr` are never used
[INFO] [stdout]    --> src/game/timing.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout] 154 | impl Timing {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] 155 |     pub fn get_bpm(&self) -> Bpm {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub fn is_same_by_addr(&self, other: &Timing) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/game/render/mod.rs:220:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl NoteRenderDesc {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `gray_tint_buffer` is never read
[INFO] [stdout]    --> src/game/render/mod.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 239 | pub struct NoteRenderer {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 240 |     pub gray_tint_buffer: Buffer,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `y_map_time` and `ui_y_map_time` are never used
[INFO] [stdout]    --> src/state/editor/note_editor.rs:855:8
[INFO] [stdout]     |
[INFO] [stdout] 272 | impl BeatMapEditor {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 855 |     fn y_map_time(&self, y: f32) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 868 |     fn ui_y_map_time(&self, y: f32, rect: &Rect) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `allow_select_song` is never read
[INFO] [stdout]  --> src/ui/song_list.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct SongListUi {
[INFO] [stdout]   |            ---------- field in this struct
[INFO] [stdout] 9 |     allow_select_song: bool,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/engine/render/uniform.rs:136:56
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn uniform_bind_buffer_entry(binding: u32, buffer: &Buffer) -> BindGroupEntry {
[INFO] [stdout]     |                                                        ^^^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn uniform_bind_buffer_entry(binding: u32, buffer: &Buffer) -> BindGroupEntry<'_> {
[INFO] [stdout]     |                                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/state/play/gaming.rs:192:13
[INFO] [stdout]     |
[INFO] [stdout] 192 |         let mut trans = Trans::None;
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_long`
[INFO] [stdout]    --> src/state/play/gaming.rs:331:58
[INFO] [stdout]     |
[INFO] [stdout] 331 | ...                   if let Some((result, is_long)) = self
[INFO] [stdout]     |                                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_long`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/state/play/end.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn start(&mut self, s: &mut StateData) -> LoopState {
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/game/beatmap/play.rs:565:9
[INFO] [stdout]     |
[INFO] [stdout] 565 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 568 |     ) -> Option<(NoteHitResult, PlayingNoteType)> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 568 |     ) -> Option<(NoteHitResult, PlayingNoteType<'_>)> {
[INFO] [stdout]     |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/game/timing.rs:410:9
[INFO] [stdout]     |
[INFO] [stdout] 410 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 414 |     ) -> TimingGroupBeatIterator {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 414 |     ) -> TimingGroupBeatIterator<'_> {
[INFO] [stdout]     |                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/state/editor/editor.rs:383:33
[INFO] [stdout]     |
[INFO] [stdout] 383 |     pub(crate) fn get_beat_iter(&self, secs: f32) -> TimingGroupBeatIterator {
[INFO] [stdout]     |                                 ^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 383 |     pub(crate) fn get_beat_iter(&self, secs: f32) -> TimingGroupBeatIterator<'_> {
[INFO] [stdout]     |                                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/state/play/end.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut trans = Trans::None;
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/state/play/end.rs:32:26
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn render(&mut self, s: &mut StateData, ctx: &Context) -> Trans {
[INFO] [stdout]    |                          ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::ops::ControlFlow` that must be used
[INFO] [stdout]    --> src/state/editor/editor.rs:625:17
[INFO] [stdout]     |
[INFO] [stdout] 625 | /                 self.beatmap
[INFO] [stdout] 626 | |                     .timing_group
[INFO] [stdout] 627 | |                     .get_beat_iterator(
[INFO] [stdout] 628 | |                         self.input_cache.select_timing_group,
[INFO] [stdout] ...   |
[INFO] [stdout] 648 | |                         ControlFlow::Continue(())
[INFO] [stdout] 649 | |                     });
[INFO] [stdout]     | |______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 625 |                 let _ = self.beatmap
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first_display_y`
[INFO] [stdout]    --> src/ui/song_list.rs:158:21
[INFO] [stdout]     |
[INFO] [stdout] 158 |                 let first_display_y = (scrolled - height).at_least(0.0);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_display_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_3d`
[INFO] [stdout]   --> src/lib.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let is_3d = std::env::var("3d").map(|x| x == "1").unwrap_or(true);
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_is_3d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameRect` is never constructed
[INFO] [stdout]   --> src/game/beatmap/mod.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct GameRect {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_ab` is never used
[INFO] [stdout]   --> src/game/beatmap/mod.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | impl GameRect {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 75 |     pub fn from_ab(a: GamePos, b: GamePos) -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `should_display` is never used
[INFO] [stdout]    --> src/game/beatmap/play.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl ScoreCounter {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn should_display(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_early_miss` is never used
[INFO] [stdout]    --> src/game/beatmap/play.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 175 | impl<T: Note> PlayingNote<T> {
[INFO] [stdout]     | ---------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn is_early_miss(&self, judge_times: &JudgeTimes, time: OffsetType) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `get_bpm`, `is_same_by_addr`, and `new` are never used
[INFO] [stdout]    --> src/game/timing.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout] 154 | impl Timing {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 155 |     pub fn get_bpm(&self) -> Bpm {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub fn is_same_by_addr(&self, other: &Timing) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 246 |     pub fn new(bpm: Bpm, offset: OffsetType, time_signature: NonZeroU8) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/game/render/mod.rs:220:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl NoteRenderDesc {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `gray_tint_buffer` is never read
[INFO] [stdout]    --> src/game/render/mod.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 239 | pub struct NoteRenderer {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 240 |     pub gray_tint_buffer: Buffer,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `y_map_time` and `ui_y_map_time` are never used
[INFO] [stdout]    --> src/state/editor/note_editor.rs:855:8
[INFO] [stdout]     |
[INFO] [stdout] 272 | impl BeatMapEditor {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 855 |     fn y_map_time(&self, y: f32) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 868 |     fn ui_y_map_time(&self, y: f32, rect: &Rect) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `allow_select_song` is never read
[INFO] [stdout]  --> src/ui/song_list.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct SongListUi {
[INFO] [stdout]   |            ---------- field in this struct
[INFO] [stdout] 9 |     allow_select_song: bool,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/engine/render/uniform.rs:136:56
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn uniform_bind_buffer_entry(binding: u32, buffer: &Buffer) -> BindGroupEntry {
[INFO] [stdout]     |                                                        ^^^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn uniform_bind_buffer_entry(binding: u32, buffer: &Buffer) -> BindGroupEntry<'_> {
[INFO] [stdout]     |                                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/game/beatmap/play.rs:565:9
[INFO] [stdout]     |
[INFO] [stdout] 565 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 568 |     ) -> Option<(NoteHitResult, PlayingNoteType)> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 568 |     ) -> Option<(NoteHitResult, PlayingNoteType<'_>)> {
[INFO] [stdout]     |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/game/timing.rs:410:9
[INFO] [stdout]     |
[INFO] [stdout] 410 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 414 |     ) -> TimingGroupBeatIterator {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 414 |     ) -> TimingGroupBeatIterator<'_> {
[INFO] [stdout]     |                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/state/editor/editor.rs:383:33
[INFO] [stdout]     |
[INFO] [stdout] 383 |     pub(crate) fn get_beat_iter(&self, secs: f32) -> TimingGroupBeatIterator {
[INFO] [stdout]     |                                 ^^^^^                ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 383 |     pub(crate) fn get_beat_iter(&self, secs: f32) -> TimingGroupBeatIterator<'_> {
[INFO] [stdout]     |                                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::ops::ControlFlow` that must be used
[INFO] [stdout]    --> src/state/editor/editor.rs:625:17
[INFO] [stdout]     |
[INFO] [stdout] 625 | /                 self.beatmap
[INFO] [stdout] 626 | |                     .timing_group
[INFO] [stdout] 627 | |                     .get_beat_iterator(
[INFO] [stdout] 628 | |                         self.input_cache.select_timing_group,
[INFO] [stdout] ...   |
[INFO] [stdout] 648 | |                         ControlFlow::Continue(())
[INFO] [stdout] 649 | |                     });
[INFO] [stdout]     | |______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 625 |                 let _ = self.beatmap
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking rust_rhythm_windows v0.1.0 (/opt/rustwide/workdir/rust_rhythm_windows)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 39s
[INFO] running `Command { std: "docker" "inspect" "d3fdaefa79eff0b02b52793a1c1775ee99eb054d9d0268c0f97685a324c80ab8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d3fdaefa79eff0b02b52793a1c1775ee99eb054d9d0268c0f97685a324c80ab8", kill_on_drop: false }`
[INFO] [stdout] d3fdaefa79eff0b02b52793a1c1775ee99eb054d9d0268c0f97685a324c80ab8
