GCWing / GCWing/OpenBitFun

[Bug]: unused_mut warning for the browser webview builder in release builds

Open Beginner friendly
#2,581 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
2.2k
Forks
229
Avg merge
2h 46m
Merged PRs (30d)
577

Description

**Summary**

The desktop crate's browser webview creation path emits an `unused_mut` warning in Windows release builds.

`cargo check --release -p bitfun-desktop` on main reports:

- `src/apps/desktop/src/api/browser_api.rs:145:9` — `unused_mut`: `let mut builder` in `browser_webview_create`, with the note "variable does not need to be mutable".

The `WebviewBuilder` binding is declared `mut` unconditionally, but its only mutating call — `builder.devtools(true)` — is compiled solely under `#[cfg(any(debug_assertions, feature = "devtools"))]`. In a release build without the devtools feature the mutation is compiled out, so the `mut` requirement disappears and the compiler flags the binding. Debug and devtools-enabled builds do not warn, which is why the warning only shows up in release-mode checks.

**Area**

Desktop app

**Reproduction or evidence**

1. On Windows, check out main and run `cargo check --release -p bitfun-desktop`.
2. Observe: `warning: variable does not need to be mutable --> src\apps\desktop\src\api\browser_api.rs:145:9`.
3. Run `cargo check -p bitfun-desktop` (dev profile): the same binding compiles without the warning, since the cfg block is active there.

A scoped fix exists and is ready to submit: shadow the builder inside the cfg block (immutable outer binding + local `mut` rebind), which removes the warning in every build configuration with zero behavior change. PR to follow referencing this issue.

Contributor guide

Open the contributing guide

Research direction

Start in src/apps/desktop/src/api/browser_api.rs around line 145, in browser_webview_create, and inspect how the cfg-gated devtools call affects the WebviewBuilder binding. Run cargo check --release -p bitfun-desktop on Windows, then verify the unused_mut warning is gone without changing debug or devtools-enabled behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
desktop
Issue type
Bug
Difficulty
1/5
Estimated time
Under an hour
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
88/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.