False positive for `clippy::needless_borrows_for_generic_args`
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 45/100
Research direction
Start by running the linked Rust Playground reproducer with Clippy and inspect the implementation and tests for the needless_borrows_for_generic_args lint. Confirm why removing the mutable borrow changes the built-in array behavior, then add coverage showing that this case should not produce a warning.
Written by the indexing model from the issue text.
Description
Summary
Following Clippy's suggestion and removing &mut from &mut data would lead to data (which is a built-in arrray) being copied instead of being mutated.
See also https://users.rust-lang.org/t/false-positive-for-clippy-needless-borrows-for-generic-args/138147.
Lint Name
needless_borrows_for_generic_args
Reproducer
Go to https://play.rust-lang.org/?version=stable&mode=debug&edition=2024&gist=5f88142da1ad985c8da2d12c22a7bac9 and run Clippy.
I saw this happen:
warning: the borrowed expression implements the required traits
--> src/main.rs:10:13
|
10 | process(&mut data);
| ^^^^^^^^^ help: change this to: `data`
|
I expected to see this happen:
no warning
Version
Additional Labels
No response
- Dominant language
- Rust
- Stars
- 13.5k
- Forks
- 2.2k
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 32
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from rust-lang/rust-clippy
-
C-bug L-suggestion
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
rust-lang/rust-clippy#17674 · 5 comments ·
-
C-bug L-suggestion
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
rust-lang/rust-clippy#17673 · 3 comments ·
-
C-bug I-false-positive
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
rust-lang/rust-clippy#17566 ·
-
A-documentation
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
rust-lang/rust-clippy#17259 · 3 comments ·
-
A-documentation A-website C-bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
rust-lang/rust-clippy#16981 · 1 reaction ·
All issues in rust-lang/rust-clippy
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
kwakseongjae/auto-hwp#319 ·
-
area:cli bug filter-quality good first issue priority:medium
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
bevyengine/bevy#25861 ·
-
comp-datalake
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ClickHouse/ClickHouse#121222 ·
-
enhancement remote
Difficulty 2/5 1-3 hours Newbie friendliness 68/100