Description
👋 Hi contributor!
This is a list of issues that we as the Clippy team think you could start with as a new contributor for this feature freeze. As always, you can reach out for help in Zulip and we'll steer you into the right track!
This is an updating, dynamic list. We will be adding new issues to focus on all throughout the feature freeze period. Sometimes even pointing to starting points to fixing them!
Some important documentation links that I recommend you bookmark:
- The Clippy Book
- The rustc development guide]
- rustc_hir::hir documentation (rustdoc)
- The standard library documentation (rustdoc)
- The Clippy lint list
Note that to triage complex issues you can use cargo bisect-rustc
and cargo minimize
.
Fix ICEs
Internal compiler errors, sometimes trickier because they may require some ancient compiler knowledge. They come with back
-
I-ICE
Issue: Clippy panicked, giving an Internal Compilation Error (ICE) ❄️
#14074 "Clippy cannot compile library on ARM64 ubuntu"
Fix suggestion bugs
-
I-suggestion-causes-bug
Issue: The suggestion compiles but changes the code to behave in an unintended way -
clippy::question_mark
ignores#[cfg]
-ed out statements inlet-else
#13642 -
excessive_precision should not lint when it's so excessive as to be clearly intentional #13855
Fix suggestions that cause errors
-
I-suggestion-causes-error
Issue: The suggestions provided by this Lint cause an ICE/error when applied -
Garbage clippy::expect_fun_call lint for result.expect(if b { "" } else { "" }) #15056
-
cargo clippy --fix
tries to applymul_add
but causes[E0689]
#14897
Fix false positives
-
I-false-positive
Issue: The lint was triggered on code it shouldn't have -
False positive in
unnecessary_to_owned
when a mutable borrow would cause a compiler error #14918 -
Don't emit ptr_arg warning about unused function arguments #13728
-
Stop triggering
similar_names
for 3-character names #14869 - Undesirable linting -
The exit lint is emitted for test target but not for bin target #13518
Fix lint issues with macros, constness and async
-
T-macros
Type: Issues with macros and macro expansion -
[literal_string_with_formatting_args] support for
lazy_format
#14894 -
[allow(clippy::disallowed_macros)]
fails for proc-macro attributes #13521 - not really beginner friendly, but macro related and interesting -
absolute_paths
can trigger on code produced by a macro #13920
Configuration
- Rust unstable features needed for the kernel Rust-for-Linux/linux#2
- Stabilize tooling needed by Rust for Linux rust-project-goals#116
Documentation
Completing the book would be greatly appreciated! Although I'm not sure if we have an issue for that...