GCWing / GCWing/OpenBitFun

[Bug]: stale allow(unused_mut) on the main window builder hides future regressions

Đã đóng Phù hợp với người mới
#2,582 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Rust
Star
2.3k
Fork
231
Merge trung bình
2 giờ 49 phút
Pull request đã merge (30 ngày)
589

Mô tả

**Summary**

The main window creation path in the desktop crate carries an `#[allow(unused_mut)]` attribute that can never fire, and it silently suppresses the compiler check for that binding.

`src/apps/desktop/src/appearance.rs:578` marks the main window builder binding with `#[allow(unused_mut)]`. Removing the attribute changes nothing: the binding's mutability is genuinely consumed on every platform, so the suppression has no warning to silence — it is permanently inert.

The binding is unconditionally reassigned via `builder.disable_drag_drop_handler()` (appearance.rs:610) on all platforms, with further reassignments in the `#[cfg(target_os = "macos")]` and `#[cfg(target_os = "windows")]` blocks (:617-629). Because the `mut` requirement is satisfied unconditionally, the `allow` attribute can never trigger — but as long as it sits on the binding, any future regression that actually removes all mutating uses would be silently swallowed instead of reported.

**Area**

Desktop app

**Reproduction or evidence**

1. Delete the `#[allow(unused_mut)]` line at appearance.rs:578 on main.
2. Run `cargo check --release -p bitfun-desktop`.
3. Observe: no new warning appears for `appearance.rs` — confirming the allow was suppressing nothing.

A deletion-only fix (remove the attribute) is ready to submit; it restores the lint's coverage for this binding at zero behavior cost. PR to follow referencing this issue.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Open src/apps/desktop/src/appearance.rs at the main window builder around lines 578-629 and inspect the unconditional and platform-specific reassignments. Remove the stale allow attribute, then run cargo check --release -p bitfun-desktop. Done means the check passes without a new warning and the builder behavior remains unchanged.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
rust
Lĩnh vực
desktop
Loại issue
Lỗi
Độ khó
1/5
Thời gian dự kiến
Dưới một giờ
Mức độ hoạt động
Sôi nổi
Độ rõ ràng
Đặc tả rõ ràng
Mức phù hợp với người mới
92/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.