Skip to content

Commit e0c05a2

Browse files
committed
Include temporary feature freeze in book
1 parent 90f5f55 commit e0c05a2

File tree

4 files changed

+58
-0
lines changed

4 files changed

+58
-0
lines changed

book/src/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Clippy
22

3+
[### IMPORTANT NOTE FOR CONTRIBUTORS ================](development/feature_freeze.md)
4+
5+
----
6+
37
[![License: MIT OR Apache-2.0](https://img.shields.io/crates/l/clippy.svg)](https://github.com/rust-lang/rust-clippy#license)
48

59
A collection of lints to catch common mistakes and improve your

book/src/SUMMARY.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
- [GitLab CI](continuous_integration/gitlab.md)
1414
- [Travis CI](continuous_integration/travis.md)
1515
- [Development](development/README.md)
16+
- [IMPORTANT: FEATURE FREEZE](development/feature_freeze.md)
1617
- [Basics](development/basics.md)
1718
- [Adding Lints](development/adding_lints.md)
1819
- [Defining Lints](development/defining_lints.md)

book/src/development/adding_lints.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# Adding a new lint
22

3+
[### IMPORTANT NOTE FOR CONTRIBUTORS ================](feature_freeze.md)
4+
5+
36
You are probably here because you want to add a new lint to Clippy. If this is
47
the first time you're contributing to Clippy, this document guides you through
58
creating an example lint from scratch.
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# IMPORTANT: FEATURE FREEZE
2+
3+
This is a temporary notice.
4+
5+
From March 28, 2025 to June 20, 2025 we will perform a feature freeze. Only bugfix PRs will be reviewed with the
6+
exception of already open ones. Every feature-adding PR open in between those dates will be moved into a milestone
7+
to be reviewed separately at another time.
8+
9+
We do this because of the long backlog of bugs that need to be addressed
10+
in order to contiue being the state of the art linter that Clippy has become known for being.
11+
12+
## For contributors
13+
14+
If you are a contributor or are planning to become one, **please do not open a lint-adding PR**, we have lots of open bugs
15+
of all levels of difficulty that you can address instead!
16+
17+
We currently have about 800 lints, each one posing a maintainability challenge that needs to account to every possible
18+
usecase of the whole ecosystem. Bugs are natural in every software, but the Clippy team considers that Clippy needs a
19+
refinement period.
20+
21+
If you open a PR at this time, we will not review it but push it into a milestone until the refinement period ends,
22+
adding additional load into our reviewing schedules.
23+
24+
## I want to help, what can I do
25+
26+
Thanks a lot to everyone who wants to help Clippy become better software in this feature freeze period!
27+
If you'd like to help, making a bugfix, making sure that it works, and opening a PR is a great step!
28+
29+
As a general metric and always taking into account your skill and knowledge level, you can use this guide:
30+
31+
- 🟥 [ICEs][search_ice], these are compiler errors that causes Clippy to panic and crash. Usually involves high-level debugging,
32+
sometimes interacting directly with the upstream compiler. Difficult to fix but a great challenge that improves
33+
a lot developer workflows!
34+
35+
- 🟧 [Suggestion causes bug][sugg_causes_bug], Clippy suggested code that changed logic in some silent way. Unacceptable, as this may have
36+
disastreous consequences. Easier to fix than ICEs
37+
38+
- 🟨 [Suggestion causes error][sugg_causes_error], Clippy suggested code snippet that caused a compiler error when applied.
39+
We need to make sure that Clippy doesn't suggest using a variable twice at the same time or similar
40+
easy-to-happen occurrences.
41+
42+
- 🟩 [False positives][false_positive], a lint should not have fired, the easiest of them all, as this is "just" identifying the root of a
43+
the false positive and making an exception for those cases.
44+
45+
Note that false negatives do not have priority unless the case is very clear, as they are a feature-request in a trench coat.
46+
47+
[search_ice]: https://github.com/rust-lang/rust-clippy/issues?q=sort%3Aupdated-desc+state%3Aopen+label%3A%22I-ICE%22
48+
[sugg_causes_bug]: https://github.com/rust-lang/rust-clippy/issues?q=sort%3Aupdated-desc%20state%3Aopen%20label%3AI-suggestion-causes-bug
49+
[sugg_causes_error]: https://github.com/rust-lang/rust-clippy/issues?q=sort%3Aupdated-desc%20state%3Aopen%20label%3AI-suggestion-causes-error%20
50+
[false_positive]: https://github.com/rust-lang/rust-clippy/issues?q=sort%3Aupdated-desc%20state%3Aopen%20label%3AI-false-positive

0 commit comments

Comments
 (0)