[INFO] cloning repository https://github.com/XuanzhengZhou/Oxidized-Mania [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/XuanzhengZhou/Oxidized-Mania" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FXuanzhengZhou%2FOxidized-Mania", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FXuanzhengZhou%2FOxidized-Mania'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9f98245668c862aa9d05cd88ea80b3c9fa89ed90 [INFO] checking XuanzhengZhou/Oxidized-Mania against 7211ea594cbf137ef6118b1752b959dea7cb9088 for pr-164148-crater-rollup [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FXuanzhengZhou%2FOxidized-Mania" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/XuanzhengZhou/Oxidized-Mania [INFO] finished tweaking git repo https://github.com/XuanzhengZhou/Oxidized-Mania [INFO] tweaked toml for git repo https://github.com/XuanzhengZhou/Oxidized-Mania written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/XuanzhengZhou/Oxidized-Mania on toolchain 7211ea594cbf137ef6118b1752b959dea7cb9088 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7211ea594cbf137ef6118b1752b959dea7cb9088" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/XuanzhengZhou/Oxidized-Mania 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" "+7211ea594cbf137ef6118b1752b959dea7cb9088" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating git repository `https://github.com/XuanzhengZhou/Rhythm-Open-Exchange.git` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded spectrs v0.2.1 [INFO] [stderr] Downloaded pin-project-internal v1.1.12 [INFO] [stderr] Downloaded symphonia-format-caf v0.5.5 [INFO] [stderr] Downloaded pin-project v1.1.12 [INFO] [stderr] Downloaded divan-macros v0.1.21 [INFO] [stderr] Downloaded rkyv_derive v0.8.16 [INFO] [stderr] Downloaded rosu-mods v0.4.1 [INFO] [stderr] Downloaded divan v0.1.21 [INFO] [stderr] Downloaded rkyv v0.8.16 [INFO] [stderr] Downloaded rosu-pp v4.0.1 [INFO] [stderr] Downloaded rosu-map v0.2.1 [INFO] [stderr] Downloaded stratum-dsp v1.0.0 [INFO] [stderr] Downloaded jiff-static v0.2.24 [INFO] [stderr] Downloaded jiff v0.2.24 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 7c93ec533cccf16f57551ed7d2149f8c53e5757564af72430c141d9adcffb442 [INFO] running `Command { std: "docker" "start" "7c93ec533cccf16f57551ed7d2149f8c53e5757564af72430c141d9adcffb442", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7c93ec533cccf16f57551ed7d2149f8c53e5757564af72430c141d9adcffb442", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7c93ec533cccf16f57551ed7d2149f8c53e5757564af72430c141d9adcffb442" "/opt/rustwide/cargo-home/bin/cargo" "+7211ea594cbf137ef6118b1752b959dea7cb9088" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7c93ec533cccf16f57551ed7d2149f8c53e5757564af72430c141d9adcffb442", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7c93ec533cccf16f57551ed7d2149f8c53e5757564af72430c141d9adcffb442" "/opt/rustwide/cargo-home/bin/cargo" "+7211ea594cbf137ef6118b1752b959dea7cb9088" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Checking bitflags v2.11.1 [INFO] [stderr] Compiling bytemuck_derive v1.10.2 [INFO] [stderr] Compiling cc v1.2.61 [INFO] [stderr] Compiling wayland-sys v0.31.11 [INFO] [stderr] Compiling zerocopy-derive v0.8.48 [INFO] [stderr] Checking simd-adler32 v0.3.9 [INFO] [stderr] Compiling quick-xml v0.39.3 [INFO] [stderr] Compiling wayland-client v0.31.14 [INFO] [stderr] Compiling profiling-procmacros v1.0.18 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Checking rayon v1.12.0 [INFO] [stderr] Checking profiling v1.0.18 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Compiling ptr_meta_derive v0.3.1 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling wayland-scanner v0.31.10 [INFO] [stderr] Checking bytemuck v1.25.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Checking ptr_meta v0.3.1 [INFO] [stderr] Checking v_frame v0.3.9 [INFO] [stderr] Checking symphonia-core v0.5.5 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking zerocopy v0.8.48 [INFO] [stderr] Compiling wayland-backend v0.3.15 [INFO] [stderr] Compiling zstd-sys v2.0.16+zstd.1.5.7 [INFO] [stderr] Checking symphonia-metadata v0.5.5 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Checking transpose v0.2.3 [INFO] [stderr] Checking symphonia-utils-xiph v0.5.5 [INFO] [stderr] Checking rancor v0.1.1 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Checking primal-check v0.3.4 [INFO] [stderr] Compiling naga v24.0.0 [INFO] [stderr] Checking no_std_io2 v0.9.4 [INFO] [stderr] Compiling bytecheck_derive v0.8.2 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking simdutf8 v0.1.5 [INFO] [stderr] Checking av-scenechange v0.14.1 [INFO] [stderr] Checking bytecheck v0.8.2 [INFO] [stderr] Checking bitstream-io v4.10.0 [INFO] [stderr] Checking av1-grain v0.2.5 [INFO] [stderr] Checking terminal_size v0.4.4 [INFO] [stderr] Checking polling v3.11.0 [INFO] [stderr] Checking clap_builder v4.6.0 [INFO] [stderr] Checking rustfft v6.4.1 [INFO] [stderr] Checking strum v0.26.3 [INFO] [stderr] Checking maybe-rayon v0.1.1 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Checking flate2 v1.1.9 [INFO] [stderr] Checking gpu-alloc-types v0.3.0 [INFO] [stderr] Checking gpu-descriptor-types v0.2.0 [INFO] [stderr] Checking calloop v0.13.0 [INFO] [stderr] Checking spirv v0.3.0+sdk-1.3.268.0 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Compiling wgpu-hal v24.0.4 [INFO] [stderr] Compiling munge_macro v0.4.7 [INFO] [stderr] Checking memmap2 v0.9.10 [INFO] [stderr] Compiling object v0.37.3 [INFO] [stderr] Compiling smithay-client-toolkit v0.19.2 [INFO] [stderr] Checking imgref v1.12.1 [INFO] [stderr] Checking strict-num v0.1.1 [INFO] [stderr] Compiling zstd-safe v7.2.4 [INFO] [stderr] Checking wayland-protocols v0.32.12 [INFO] [stderr] Checking wayland-cursor v0.31.14 [INFO] [stderr] Checking calloop-wayland-source v0.3.0 [INFO] [stderr] Checking tiny-skia-path v0.11.4 [INFO] [stderr] Checking loop9 v0.1.5 [INFO] [stderr] Checking rav1e v0.8.1 [INFO] [stderr] Checking half v2.7.1 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking zune-jpeg v0.5.15 [INFO] [stderr] Checking clap v4.6.1 [INFO] [stderr] Checking regex-automata v0.4.14 [INFO] [stderr] Checking wayland-csd-frame v0.3.0 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Checking munge v0.4.7 [INFO] [stderr] Checking gpu-descriptor v0.3.2 [INFO] [stderr] Checking gpu-alloc v0.6.0 [INFO] [stderr] Checking serde_json v1.0.149 [INFO] [stderr] Checking rend v0.5.3 [INFO] [stderr] Compiling blake3 v1.8.5 [INFO] [stderr] Checking zune-inflate v0.2.54 [INFO] [stderr] Checking fdeflate v0.3.7 [INFO] [stderr] Checking wgpu-types v24.0.0 [INFO] [stderr] Compiling wgpu-core v24.0.5 [INFO] [stderr] Checking ordered-float v4.6.0 [INFO] [stderr] Compiling rkyv_derive v0.8.16 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Checking fax v0.2.7 [INFO] [stderr] Checking pxfm v0.1.29 [INFO] [stderr] Checking gimli v0.32.3 [INFO] [stderr] Checking ravif v0.13.0 [INFO] [stderr] Checking symphonia-format-riff v0.5.5 [INFO] [stderr] Checking gif v0.14.2 [INFO] [stderr] Checking exr v1.74.0 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Checking addr2line v0.25.1 [INFO] [stderr] Checking tiff v0.11.3 [INFO] [stderr] Checking moxcms v0.8.1 [INFO] [stderr] Checking wayland-protocols-wlr v0.3.12 [INFO] [stderr] Checking rkyv v0.8.16 [INFO] [stderr] Checking realfft v3.5.0 [INFO] [stderr] Checking regex v1.12.3 [INFO] [stderr] Checking png v0.18.1 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking tiny-skia v0.11.4 [INFO] [stderr] Checking gethostname v1.1.0 [INFO] [stderr] Checking symphonia-format-isomp4 v0.5.5 [INFO] [stderr] Checking symphonia-bundle-flac v0.5.5 [INFO] [stderr] Checking symphonia-format-ogg v0.5.5 [INFO] [stderr] Checking symphonia-format-mkv v0.5.5 [INFO] [stderr] Checking symphonia-codec-vorbis v0.5.5 [INFO] [stderr] Checking symphonia-format-caf v0.5.5 [INFO] [stderr] Checking symphonia-bundle-mp3 v0.5.5 [INFO] [stderr] Checking symphonia-codec-pcm v0.5.5 [INFO] [stderr] Checking symphonia-codec-aac v0.5.5 [INFO] [stderr] Checking symphonia-codec-adpcm v0.5.5 [INFO] [stderr] Checking symphonia-codec-alac v0.5.5 [INFO] [stderr] Checking qoi v0.4.1 [INFO] [stderr] Compiling winit v0.30.13 [INFO] [stderr] Compiling wgpu v24.0.5 [INFO] [stderr] Compiling divan-macros v0.1.21 [INFO] [stderr] Checking regex-lite v0.1.9 [INFO] [stderr] Checking rustc-demangle v0.1.27 [INFO] [stderr] Checking condtype v1.3.0 [INFO] [stderr] Checking x11rb-protocol v0.13.2 [INFO] [stderr] Checking symphonia v0.5.5 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Checking zstd v0.13.3 [INFO] [stderr] Checking image v0.25.10 [INFO] [stderr] Checking compact_str v0.9.0 [INFO] [stderr] Checking sctk-adwaita v0.10.1 [INFO] [stderr] Checking divan v0.1.21 [INFO] [stderr] Checking rand v0.9.4 [INFO] [stderr] Checking env_filter v1.0.1 [INFO] [stderr] Checking rubato v0.16.2 [INFO] [stderr] Checking wayland-protocols-plasma v0.3.12 [INFO] [stderr] Checking xkbcommon-dl v0.4.2 [INFO] [stderr] Compiling oxidized_mania v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking backtrace v0.3.76 [INFO] [stderr] Checking mintex v0.1.4 [INFO] [stderr] Checking rosu-mods v0.4.1 [INFO] [stderr] Checking jiff v0.2.24 [INFO] [stderr] Checking ttf-parser v0.21.1 [INFO] [stderr] Checking rosu-map v0.2.1 [INFO] [stderr] Checking thousands v0.2.0 [INFO] [stderr] Checking smol_str v0.2.2 [INFO] [stderr] Checking dhat v0.3.3 [INFO] [stderr] Checking rosu-pp v4.0.1 [INFO] [stderr] Checking spectrs v0.2.1 [INFO] [stderr] Checking rhythm-open-exchange v0.6.2 (https://github.com/XuanzhengZhou/Rhythm-Open-Exchange.git?branch=feat%2Fmalody-codec#e5e7e512) [INFO] [stderr] Checking fontdue v0.9.3 [INFO] [stderr] Checking stratum-dsp v1.0.0 [INFO] [stderr] Checking env_logger v0.11.10 [INFO] [stderr] Checking pollster v0.4.0 [INFO] [stderr] warning: oxidized_mania@0.1.0: sonic.c: In function 'sonicRealloc': [INFO] [stderr] warning: oxidized_mania@0.1.0: sonic.c:128:40: warning: unused parameter 'oldNum' [-Wunused-parameter] [INFO] [stderr] warning: oxidized_mania@0.1.0: 128 | static void* sonicRealloc(void* p, int oldNum, int newNum, int size) { [INFO] [stderr] warning: oxidized_mania@0.1.0: | ~~~~^~~~~~ [INFO] [stderr] warning: oxidized_mania@0.1.0: sonic.c: In function 'sonicGetChordPitch': [INFO] [stderr] warning: oxidized_mania@0.1.0: sonic.c:307:36: warning: unused parameter 'stream' [-Wunused-parameter] [INFO] [stderr] warning: oxidized_mania@0.1.0: 307 | int sonicGetChordPitch(sonicStream stream) { return 0; } [INFO] [stderr] warning: oxidized_mania@0.1.0: | ~~~~~~~~~~~~^~~~~~ [INFO] [stderr] warning: oxidized_mania@0.1.0: sonic.c: In function 'sonicSetChordPitch': [INFO] [stderr] warning: oxidized_mania@0.1.0: sonic.c:311:37: warning: unused parameter 'stream' [-Wunused-parameter] [INFO] [stderr] warning: oxidized_mania@0.1.0: 311 | void sonicSetChordPitch(sonicStream stream, int useChordPitch) {} [INFO] [stderr] warning: oxidized_mania@0.1.0: | ~~~~~~~~~~~~^~~~~~ [INFO] [stderr] warning: oxidized_mania@0.1.0: sonic.c:311:49: warning: unused parameter 'useChordPitch' [-Wunused-parameter] [INFO] [stderr] warning: oxidized_mania@0.1.0: 311 | void sonicSetChordPitch(sonicStream stream, int useChordPitch) {} [INFO] [stderr] warning: oxidized_mania@0.1.0: | ~~~~^~~~~~~~~~~~~ [INFO] [stderr] warning: oxidized_mania@0.1.0: sonic.c: In function 'sonicChangeFloatSpeed': [INFO] [stderr] warning: oxidized_mania@0.1.0: sonic.c:1215:31: warning: unused parameter 'useChordPitch' [-Wunused-parameter] [INFO] [stderr] warning: oxidized_mania@0.1.0: 1215 | int useChordPitch, int sampleRate, int numChannels) { [INFO] [stderr] warning: oxidized_mania@0.1.0: | ~~~~^~~~~~~~~~~~~ [INFO] [stderr] warning: oxidized_mania@0.1.0: sonic.c: In function 'sonicChangeShortSpeed': [INFO] [stderr] warning: oxidized_mania@0.1.0: sonic.c:1234:31: warning: unused parameter 'useChordPitch' [-Wunused-parameter] [INFO] [stderr] warning: oxidized_mania@0.1.0: 1234 | int useChordPitch, int sampleRate, int numChannels) { [INFO] [stderr] warning: oxidized_mania@0.1.0: | ~~~~^~~~~~~~~~~~~ [INFO] [stderr] Checking x11rb v0.13.2 [INFO] [stdout] warning: unnecessary parentheses around closure body [INFO] [stdout] --> src/difficulty/sunny.rs:474:56 [INFO] [stdout] | [INFO] [stdout] 474 | let ln_len: f64 = p.ln_seq.iter().map(|&(_, h, t)| ((t - h).min(1000.0) / 200.0)).sum(); [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] 474 - let ln_len: f64 = p.ln_seq.iter().map(|&(_, h, t)| ((t - h).min(1000.0) / 200.0)).sum(); [INFO] [stdout] 474 + let ln_len: f64 = p.ln_seq.iter().map(|&(_, h, t)| (t - h).min(1000.0) / 200.0).sum(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around closure body [INFO] [stdout] --> src/difficulty/sunny.rs:474:56 [INFO] [stdout] | [INFO] [stdout] 474 | let ln_len: f64 = p.ln_seq.iter().map(|&(_, h, t)| ((t - h).min(1000.0) / 200.0)).sum(); [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] 474 - let ln_len: f64 = p.ln_seq.iter().map(|&(_, h, t)| ((t - h).min(1000.0) / 200.0)).sum(); [INFO] [stdout] 474 + let ln_len: f64 = p.ln_seq.iter().map(|&(_, h, t)| (t - h).min(1000.0) / 200.0).sum(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `winit::event_loop::EventLoop::::create_window`: use `ActiveEventLoop::create_window` instead [INFO] [stdout] --> src/main.rs:154:38 [INFO] [stdout] | [INFO] [stdout] 154 | let window = Arc::new(event_loop.create_window(attrs).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/difficulty/sunny.rs:347:13 [INFO] [stdout] | [INFO] [stdout] 347 | let mut idx = bisect_left(bc, acorn[i]).min(bc.len().saturating_sub(1)); [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: use of deprecated method `winit::event_loop::EventLoop::::create_window`: use `ActiveEventLoop::create_window` instead [INFO] [stdout] --> src/main.rs:154:38 [INFO] [stdout] | [INFO] [stdout] 154 | let window = Arc::new(event_loop.create_window(attrs).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/game/results.rs:511:5 [INFO] [stdout] | [INFO] [stdout] 511 | result: &GameResult, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [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/difficulty/sunny.rs:347:13 [INFO] [stdout] | [INFO] [stdout] 347 | let mut idx = bisect_left(bc, acorn[i]).min(bc.len().saturating_sub(1)); [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/skin.rs:152:26 [INFO] [stdout] | [INFO] [stdout] 152 | let (mut images, mut config) = if let Some(cached) = SKIN_CACHE.lock().ok() [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/game/results.rs:511:5 [INFO] [stdout] | [INFO] [stdout] 511 | result: &GameResult, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cycle_start` is never read [INFO] [stdout] --> src/main.rs:119:91 [INFO] [stdout] | [INFO] [stdout] 119 | MainMenu { tab: MainMenuTab, cover_regions: Vec, cover_idx: usize, cycle_start: std::time::Instant, config: ... [INFO] [stdout] | -------- field in this variant ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cycle_start` is never read [INFO] [stdout] --> src/main.rs:120:91 [INFO] [stdout] | [INFO] [stdout] 120 | PlayMode { tab: PlayModeTab, cover_regions: Vec, cover_idx: usize, cycle_start: std::time::Instant, config: ... [INFO] [stdout] | -------- field in this variant ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cycle_start` is never read [INFO] [stdout] --> src/main.rs:122:163 [INFO] [stdout] | [INFO] [stdout] 122 | Settings { primary: usize, secondary: usize, binding_idx: Option, adjuster: Option, cover_regions: Vec, cover_idx: usize, cycle_start: s... [INFO] [stdout] | -------- field in this variant ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Preview` is never constructed [INFO] [stdout] --> src/main.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 117 | enum AppState { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 123 | Preview { song: SongEntry, diff: usize, name: String, dur: String, notes: usize, stars: f64, config: GameConfig }, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update_cover` is never used [INFO] [stdout] --> src/main.rs:233:8 [INFO] [stdout] | [INFO] [stdout] 174 | impl App { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 233 | fn update_cover(&mut self, cover_path: Option<&str>) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BASS_ACTIVE_PLAYING` is never used [INFO] [stdout] --> src/audio/bass.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const BASS_ACTIVE_PLAYING: u32 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_playing` is never used [INFO] [stdout] --> src/audio/bass.rs:139:12 [INFO] [stdout] | [INFO] [stdout] 49 | impl BassAudio { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn is_playing(&self) -> bool { self.stream != 0 && unsafe { BASS_ChannelIsActive(self.stream) } == BASS_ACTIVE_PLAYING } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `BASS_ChannelIsActive` is never used [INFO] [stdout] --> src/audio/bass.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | fn BASS_ChannelIsActive(handle: u32) -> u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `hit`, `missed`, `holding`, `stuck_y`, and `release_time` are never read [INFO] [stdout] --> src/beatmap.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct Note { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 50 | pub hit: bool, [INFO] [stdout] | ^^^ [INFO] [stdout] 51 | pub missed: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 52 | pub holding: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 53 | pub stuck_y: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 54 | pub release_time: Option, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Note` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_beatmap` is never used [INFO] [stdout] --> src/beatmap.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn load_beatmap(json_path: &str) -> Result<(BeatmapMeta, Vec), String> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `rc_label` and `star_rating` are never read [INFO] [stdout] --> src/difficulty/mod.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct DifficultyResult { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 14 | pub rc_label: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 15 | /// Daniel 算法的原始星数 [INFO] [stdout] 16 | pub star_rating: f64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DifficultyResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `cache_key` is never used [INFO] [stdout] --> src/difficulty/mod.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl DifficultyResult { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn cache_key(&self) -> String { self.rc_label.clone() } [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `q94` is never read [INFO] [stdout] --> src/difficulty/azusa.rs:318:5 [INFO] [stdout] | [INFO] [stdout] 316 | struct SkillStats { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 317 | q97: f64, [INFO] [stdout] 318 | q94: f64, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PauseCountdown` is never constructed [INFO] [stdout] --> src/game/engine.rs:89:5 [INFO] [stdout] | [INFO] [stdout] 83 | enum Phase { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 89 | PauseCountdown { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Phase` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `window` is never read [INFO] [stdout] --> src/game/engine.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 101 | pub struct GameEngine { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 111 | window: Arc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `handle_keydown`, `handle_keyup`, and `handle_event` are never used [INFO] [stdout] --> src/game/engine.rs:237:8 [INFO] [stdout] | [INFO] [stdout] 153 | impl GameEngine { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 237 | fn handle_keydown(&mut self, key: KeyCode) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | fn handle_keyup(&mut self, key: KeyCode) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 804 | pub fn handle_event(&mut self, event: WindowEvent) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `visible` is never read [INFO] [stdout] --> src/game/notes.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct NoteProcessResult { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] 44 | pub visible: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PauseAction` is never used [INFO] [stdout] --> src/game/pause.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum PauseAction { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LANES` is never used [INFO] [stdout] --> src/game/pause.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const LANES: [f32; 4] = [50.0, 150.0, 250.0, 350.0]; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pause_menu` is never used [INFO] [stdout] --> src/game/pause.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn pause_menu( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pause_options_text` is never used [INFO] [stdout] --> src/game/pause.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn pause_options_text(text: &mut TextRenderer, selected: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `score`, `total_notes`, and `song_name` are never read [INFO] [stdout] --> src/game/results.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct GameResult { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 11 | pub score: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub total_notes: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 24 | pub total_objects: u32, [INFO] [stdout] 25 | pub song_name: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GameResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `path` and `selected_diff` are never read [INFO] [stdout] --> src/menu/mod.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct SongEntry { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 13 | pub dir_name: String, [INFO] [stdout] 14 | pub path: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 15 | pub jsons: Vec, [INFO] [stdout] 16 | pub selected_diff: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SongEntry` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `notes_count` is never read [INFO] [stdout] --> src/menu/song_select.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct DiffMeta { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 15 | pub notes_count: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DiffMeta` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config` is never read [INFO] [stdout] --> src/menu/song_select.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 35 | pub struct SongSelectState { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 41 | pub config: GameConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update_colormap` is never used [INFO] [stdout] --> src/render/context.rs:139:12 [INFO] [stdout] | [INFO] [stdout] 67 | impl RenderCtx { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn update_colormap(&mut self, name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `max_instances` is never read [INFO] [stdout] --> src/render/quad.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 78 | pub struct QuadRenderer { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 85 | max_instances: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update_colormap` is never used [INFO] [stdout] --> src/render/quad.rs:441:12 [INFO] [stdout] | [INFO] [stdout] 103 | impl QuadRenderer { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 441 | pub fn update_colormap(&mut self, device: &wgpu::Device, queue: &wgpu::Queue, name: &str, atlas: &TextureAtlas) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `ymin` is never read [INFO] [stdout] --> src/render/text.rs:79:16 [INFO] [stdout] | [INFO] [stdout] 76 | struct GlyphInfo { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 79 | xmin: f32, ymin: f32, // 相对 baseline 的偏移 [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GlyphInfo` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `baseline_offset`, `atlas_texture`, `atlas_view`, and `sampler` are never read [INFO] [stdout] --> src/render/text.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 98 | pub struct TextRenderer { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 101 | baseline_offset: f32, // 主字体基线偏移 (ymin绝对值,统一所有字形基线) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | atlas_texture: wgpu::Texture, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 109 | atlas_view: wgpu::TextureView, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 110 | sampler: wgpu::Sampler, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `current_buffer` is never used [INFO] [stdout] --> src/render/text.rs:421:12 [INFO] [stdout] | [INFO] [stdout] 191 | impl TextRenderer { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 421 | pub fn current_buffer(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `window` is never read [INFO] [stdout] --> src/replay_viewer.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct ReplayEngine { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 24 | window: Arc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `paused`, `map_path`, `should_auto_advance`, `auto_advance_remaining`, and `cancel_auto_advance` are never used [INFO] [stdout] --> src/replay_viewer.rs:302:12 [INFO] [stdout] | [INFO] [stdout] 58 | impl ReplayEngine { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 302 | pub fn paused(&self) -> bool { self.paused } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 308 | pub fn map_path(&self) -> &str { &self.replay.map_path } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 494 | pub fn should_auto_advance(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 498 | pub fn auto_advance_remaining(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 502 | pub fn cancel_auto_advance(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `estimated_memory_mb` is never used [INFO] [stdout] --> src/skin.rs:455:8 [INFO] [stdout] | [INFO] [stdout] 455 | pub fn estimated_memory_mb() -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `skin_load_count` is never used [INFO] [stdout] --> src/skin.rs:458:8 [INFO] [stdout] | [INFO] [stdout] 458 | pub fn skin_load_count() -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_circle_gradient` is never used [INFO] [stdout] --> src/ui/primitives.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn draw_circle_gradient(quad: &mut QuadRenderer, cx: f32, cy: f32, r: f32, inner: [u8; 4], outer: [u8; 4], strips: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_circle_glow` is never used [INFO] [stdout] --> src/ui/primitives.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn draw_circle_glow(quad: &mut QuadRenderer, cx: f32, cy: f32, r: f32, inner: [u8; 4], glow_color: [u8; 4], strips: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_trapezoid_rounded_br` is never used [INFO] [stdout] --> src/ui/primitives.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn draw_trapezoid_rounded_br(quad: &mut QuadRenderer, x: f32, y: f32, top_w: f32, bot_w: f32, h: f32, color: [u8; 4], corner_r: ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_bar` is never used [INFO] [stdout] --> src/ui/primitives.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn draw_bar(quad: &mut QuadRenderer, x: f32, y: f32, w: f32, h: f32, fill_pct: f32, fill_color: [u8; 4], bg_color: [u8; 4]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_rounded_rect` is never used [INFO] [stdout] --> src/ui/primitives.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn draw_rounded_rect(quad: &mut QuadRenderer, x: f32, y: f32, w: f32, h: f32, r: f32, color: [u8; 4], bg: [u8; 4]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lerp_color` is never used [INFO] [stdout] --> src/ui/primitives.rs:126:4 [INFO] [stdout] | [INFO] [stdout] 126 | fn lerp_color(a: [u8; 4], b: [u8; 4], t: f32) -> [u8; 4] { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TAB_SETTINGS` is never used [INFO] [stdout] --> src/ui/theme.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const TAB_SETTINGS: [u8; 4] = [85, 85, 85, 255]; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TAB_PLAY` is never used [INFO] [stdout] --> src/ui/theme.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const TAB_PLAY: [u8; 4] = [97, 70, 197, 255]; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TAB_EDIT` is never used [INFO] [stdout] --> src/ui/theme.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | pub const TAB_EDIT: [u8; 4] = [228, 173, 59, 255]; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TAB_BROWSE` is never used [INFO] [stdout] --> src/ui/theme.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const TAB_BROWSE: [u8; 4] = [173, 203, 63, 255]; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TAB_EXIT` is never used [INFO] [stdout] --> src/ui/theme.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub const TAB_EXIT: [u8; 4] = [219, 69, 151, 255]; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BTN_BACK` is never used [INFO] [stdout] --> src/ui/theme.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub const BTN_BACK: [u8; 4] = [52, 58, 91, 255]; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PANEL_TRAPEZOID` is never used [INFO] [stdout] --> src/ui/theme.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | pub const PANEL_TRAPEZOID: [u8; 4] = [51, 54, 54, 255]; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SETTING_UNSEL` is never used [INFO] [stdout] --> src/ui/theme.rs:20:11 [INFO] [stdout] | [INFO] [stdout] 20 | pub const SETTING_UNSEL: [u8; 4] = [36, 34, 41, 255]; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SETTING_SEL` is never used [INFO] [stdout] --> src/ui/theme.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | pub const SETTING_SEL: [u8; 4] = [45, 42, 59, 255]; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SETTING_SEC_BG` is never used [INFO] [stdout] --> src/ui/theme.rs:22:11 [INFO] [stdout] | [INFO] [stdout] 22 | pub const SETTING_SEC_BG: [u8; 4] = [48, 46, 55, 255]; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/render/context.rs:29:66 [INFO] [stdout] | [INFO] [stdout] 29 | let tmp_surface = instance.create_surface(Arc::new(window.clone())).unwrap(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `winit::window::Window` does not implement `Clone`, so calling `clone` on `&winit::window::Window` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 29 - let tmp_surface = instance.create_surface(Arc::new(window.clone())).unwrap(); [INFO] [stdout] 29 + let tmp_surface = instance.create_surface(Arc::new(window)).unwrap(); [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `winit::window::Window`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.13/src/window.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 + #[derive(Clone)] [INFO] [stdout] 36 | pub struct Window { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/skin.rs:152:26 [INFO] [stdout] | [INFO] [stdout] 152 | let (mut images, mut config) = if let Some(cached) = SKIN_CACHE.lock().ok() [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cycle_start` is never read [INFO] [stdout] --> src/main.rs:119:91 [INFO] [stdout] | [INFO] [stdout] 119 | MainMenu { tab: MainMenuTab, cover_regions: Vec, cover_idx: usize, cycle_start: std::time::Instant, config: ... [INFO] [stdout] | -------- field in this variant ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cycle_start` is never read [INFO] [stdout] --> src/main.rs:120:91 [INFO] [stdout] | [INFO] [stdout] 120 | PlayMode { tab: PlayModeTab, cover_regions: Vec, cover_idx: usize, cycle_start: std::time::Instant, config: ... [INFO] [stdout] | -------- field in this variant ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cycle_start` is never read [INFO] [stdout] --> src/main.rs:122:163 [INFO] [stdout] | [INFO] [stdout] 122 | Settings { primary: usize, secondary: usize, binding_idx: Option, adjuster: Option, cover_regions: Vec, cover_idx: usize, cycle_start: s... [INFO] [stdout] | -------- field in this variant ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Preview` is never constructed [INFO] [stdout] --> src/main.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 117 | enum AppState { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 123 | Preview { song: SongEntry, diff: usize, name: String, dur: String, notes: usize, stars: f64, config: GameConfig }, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update_cover` is never used [INFO] [stdout] --> src/main.rs:233:8 [INFO] [stdout] | [INFO] [stdout] 174 | impl App { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 233 | fn update_cover(&mut self, cover_path: Option<&str>) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BASS_ACTIVE_PLAYING` is never used [INFO] [stdout] --> src/audio/bass.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const BASS_ACTIVE_PLAYING: u32 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_playing` is never used [INFO] [stdout] --> src/audio/bass.rs:139:12 [INFO] [stdout] | [INFO] [stdout] 49 | impl BassAudio { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn is_playing(&self) -> bool { self.stream != 0 && unsafe { BASS_ChannelIsActive(self.stream) } == BASS_ACTIVE_PLAYING } [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `BASS_ChannelIsActive` is never used [INFO] [stdout] --> src/audio/bass.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | fn BASS_ChannelIsActive(handle: u32) -> u32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `hit`, `missed`, `holding`, `stuck_y`, and `release_time` are never read [INFO] [stdout] --> src/beatmap.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct Note { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 50 | pub hit: bool, [INFO] [stdout] | ^^^ [INFO] [stdout] 51 | pub missed: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 52 | pub holding: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 53 | pub stuck_y: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 54 | pub release_time: Option, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Note` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_beatmap` is never used [INFO] [stdout] --> src/beatmap.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn load_beatmap(json_path: &str) -> Result<(BeatmapMeta, Vec), String> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `star_rating` is never read [INFO] [stdout] --> src/difficulty/mod.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct DifficultyResult { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 16 | pub star_rating: f64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DifficultyResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `cache_key` is never used [INFO] [stdout] --> src/difficulty/mod.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl DifficultyResult { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn cache_key(&self) -> String { self.rc_label.clone() } [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `q94` is never read [INFO] [stdout] --> src/difficulty/azusa.rs:318:5 [INFO] [stdout] | [INFO] [stdout] 316 | struct SkillStats { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 317 | q97: f64, [INFO] [stdout] 318 | q94: f64, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PauseCountdown` is never constructed [INFO] [stdout] --> src/game/engine.rs:89:5 [INFO] [stdout] | [INFO] [stdout] 83 | enum Phase { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 89 | PauseCountdown { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Phase` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `window` is never read [INFO] [stdout] --> src/game/engine.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 101 | pub struct GameEngine { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 111 | window: Arc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `handle_keydown`, `handle_keyup`, and `handle_event` are never used [INFO] [stdout] --> src/game/engine.rs:237:8 [INFO] [stdout] | [INFO] [stdout] 153 | impl GameEngine { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 237 | fn handle_keydown(&mut self, key: KeyCode) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | fn handle_keyup(&mut self, key: KeyCode) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 804 | pub fn handle_event(&mut self, event: WindowEvent) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `visible` is never read [INFO] [stdout] --> src/game/notes.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct NoteProcessResult { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] 44 | pub visible: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PauseAction` is never used [INFO] [stdout] --> src/game/pause.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum PauseAction { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LANES` is never used [INFO] [stdout] --> src/game/pause.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const LANES: [f32; 4] = [50.0, 150.0, 250.0, 350.0]; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pause_menu` is never used [INFO] [stdout] --> src/game/pause.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn pause_menu( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pause_options_text` is never used [INFO] [stdout] --> src/game/pause.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn pause_options_text(text: &mut TextRenderer, selected: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `score`, `total_notes`, and `song_name` are never read [INFO] [stdout] --> src/game/results.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct GameResult { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 11 | pub score: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub total_notes: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 24 | pub total_objects: u32, [INFO] [stdout] 25 | pub song_name: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GameResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `path` and `selected_diff` are never read [INFO] [stdout] --> src/menu/mod.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct SongEntry { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 13 | pub dir_name: String, [INFO] [stdout] 14 | pub path: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 15 | pub jsons: Vec, [INFO] [stdout] 16 | pub selected_diff: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SongEntry` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `notes_count` is never read [INFO] [stdout] --> src/menu/song_select.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct DiffMeta { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 15 | pub notes_count: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DiffMeta` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config` is never read [INFO] [stdout] --> src/menu/song_select.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 35 | pub struct SongSelectState { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 41 | pub config: GameConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update_colormap` is never used [INFO] [stdout] --> src/render/context.rs:139:12 [INFO] [stdout] | [INFO] [stdout] 67 | impl RenderCtx { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn update_colormap(&mut self, name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `max_instances` is never read [INFO] [stdout] --> src/render/quad.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 78 | pub struct QuadRenderer { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 85 | max_instances: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update_colormap` is never used [INFO] [stdout] --> src/render/quad.rs:441:12 [INFO] [stdout] | [INFO] [stdout] 103 | impl QuadRenderer { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 441 | pub fn update_colormap(&mut self, device: &wgpu::Device, queue: &wgpu::Queue, name: &str, atlas: &TextureAtlas) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `ymin` is never read [INFO] [stdout] --> src/render/text.rs:79:16 [INFO] [stdout] | [INFO] [stdout] 76 | struct GlyphInfo { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 79 | xmin: f32, ymin: f32, // 相对 baseline 的偏移 [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GlyphInfo` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `baseline_offset`, `atlas_texture`, `atlas_view`, and `sampler` are never read [INFO] [stdout] --> src/render/text.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 98 | pub struct TextRenderer { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 101 | baseline_offset: f32, // 主字体基线偏移 (ymin绝对值,统一所有字形基线) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | atlas_texture: wgpu::Texture, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 109 | atlas_view: wgpu::TextureView, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 110 | sampler: wgpu::Sampler, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `current_buffer` is never used [INFO] [stdout] --> src/render/text.rs:421:12 [INFO] [stdout] | [INFO] [stdout] 191 | impl TextRenderer { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 421 | pub fn current_buffer(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `window` is never read [INFO] [stdout] --> src/replay_viewer.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct ReplayEngine { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 24 | window: Arc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `paused`, `map_path`, `should_auto_advance`, `auto_advance_remaining`, and `cancel_auto_advance` are never used [INFO] [stdout] --> src/replay_viewer.rs:302:12 [INFO] [stdout] | [INFO] [stdout] 58 | impl ReplayEngine { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 302 | pub fn paused(&self) -> bool { self.paused } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 308 | pub fn map_path(&self) -> &str { &self.replay.map_path } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 494 | pub fn should_auto_advance(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 498 | pub fn auto_advance_remaining(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 502 | pub fn cancel_auto_advance(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `estimated_memory_mb` is never used [INFO] [stdout] --> src/skin.rs:455:8 [INFO] [stdout] | [INFO] [stdout] 455 | pub fn estimated_memory_mb() -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `skin_load_count` is never used [INFO] [stdout] --> src/skin.rs:458:8 [INFO] [stdout] | [INFO] [stdout] 458 | pub fn skin_load_count() -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_circle_gradient` is never used [INFO] [stdout] --> src/ui/primitives.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn draw_circle_gradient(quad: &mut QuadRenderer, cx: f32, cy: f32, r: f32, inner: [u8; 4], outer: [u8; 4], strips: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_circle_glow` is never used [INFO] [stdout] --> src/ui/primitives.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn draw_circle_glow(quad: &mut QuadRenderer, cx: f32, cy: f32, r: f32, inner: [u8; 4], glow_color: [u8; 4], strips: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_trapezoid_rounded_br` is never used [INFO] [stdout] --> src/ui/primitives.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn draw_trapezoid_rounded_br(quad: &mut QuadRenderer, x: f32, y: f32, top_w: f32, bot_w: f32, h: f32, color: [u8; 4], corner_r: ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_bar` is never used [INFO] [stdout] --> src/ui/primitives.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn draw_bar(quad: &mut QuadRenderer, x: f32, y: f32, w: f32, h: f32, fill_pct: f32, fill_color: [u8; 4], bg_color: [u8; 4]) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_rounded_rect` is never used [INFO] [stdout] --> src/ui/primitives.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn draw_rounded_rect(quad: &mut QuadRenderer, x: f32, y: f32, w: f32, h: f32, r: f32, color: [u8; 4], bg: [u8; 4]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lerp_color` is never used [INFO] [stdout] --> src/ui/primitives.rs:126:4 [INFO] [stdout] | [INFO] [stdout] 126 | fn lerp_color(a: [u8; 4], b: [u8; 4], t: f32) -> [u8; 4] { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TAB_SETTINGS` is never used [INFO] [stdout] --> src/ui/theme.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const TAB_SETTINGS: [u8; 4] = [85, 85, 85, 255]; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TAB_PLAY` is never used [INFO] [stdout] --> src/ui/theme.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const TAB_PLAY: [u8; 4] = [97, 70, 197, 255]; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TAB_EDIT` is never used [INFO] [stdout] --> src/ui/theme.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | pub const TAB_EDIT: [u8; 4] = [228, 173, 59, 255]; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TAB_BROWSE` is never used [INFO] [stdout] --> src/ui/theme.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const TAB_BROWSE: [u8; 4] = [173, 203, 63, 255]; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TAB_EXIT` is never used [INFO] [stdout] --> src/ui/theme.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub const TAB_EXIT: [u8; 4] = [219, 69, 151, 255]; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BTN_BACK` is never used [INFO] [stdout] --> src/ui/theme.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub const BTN_BACK: [u8; 4] = [52, 58, 91, 255]; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PANEL_TRAPEZOID` is never used [INFO] [stdout] --> src/ui/theme.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | pub const PANEL_TRAPEZOID: [u8; 4] = [51, 54, 54, 255]; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SETTING_UNSEL` is never used [INFO] [stdout] --> src/ui/theme.rs:20:11 [INFO] [stdout] | [INFO] [stdout] 20 | pub const SETTING_UNSEL: [u8; 4] = [36, 34, 41, 255]; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SETTING_SEL` is never used [INFO] [stdout] --> src/ui/theme.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | pub const SETTING_SEL: [u8; 4] = [45, 42, 59, 255]; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SETTING_SEC_BG` is never used [INFO] [stdout] --> src/ui/theme.rs:22:11 [INFO] [stdout] | [INFO] [stdout] 22 | pub const SETTING_SEC_BG: [u8; 4] = [48, 46, 55, 255]; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/render/context.rs:29:66 [INFO] [stdout] | [INFO] [stdout] 29 | let tmp_surface = instance.create_surface(Arc::new(window.clone())).unwrap(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the type `winit::window::Window` does not implement `Clone`, so calling `clone` on `&winit::window::Window` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] 29 - let tmp_surface = instance.create_surface(Arc::new(window.clone())).unwrap(); [INFO] [stdout] 29 + let tmp_surface = instance.create_surface(Arc::new(window)).unwrap(); [INFO] [stdout] | [INFO] [stdout] help: if you meant to clone `winit::window::Window`, implement `Clone` for it [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.13/src/window.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 + #[derive(Clone)] [INFO] [stdout] 36 | pub struct Window { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: unused dependency `dhat` [INFO] [stderr] --> Cargo.toml:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | dhat = "0.3" [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `cargo::unused_dependencies` is set to `warn` by default [INFO] [stderr] help: consider removing the dependency on `dhat` [INFO] [stderr] warning: `oxidized_mania` (manifest) generated 1 warning [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 32s [INFO] running `Command { std: "docker" "inspect" "7c93ec533cccf16f57551ed7d2149f8c53e5757564af72430c141d9adcffb442", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7c93ec533cccf16f57551ed7d2149f8c53e5757564af72430c141d9adcffb442", kill_on_drop: false }` [INFO] [stdout] 7c93ec533cccf16f57551ed7d2149f8c53e5757564af72430c141d9adcffb442