You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rollup merge of #140904 - ehuss:future-incompat-template, r=Mark-Simulacrum
Add an issue template for future-incompatible lints
This adds a GitHub issue template for future-incompatible lints. Most of the existing tracking issues have been using different formats with different information, and I think it would be helpful to make them a little more consistent and to ensure that sufficient information is provided.
Some comments on my choices:
* Added a dedicated section to describe *why* the change is being made. Many existing issues already have this, so let's standardize on it.
* Have a section with a very clear example. Almost all of the existing issues have this in one form or another.
* Added a "Recommendations" section, since this is something I see missing in several of the existing issues, and this is really important information IMHO.
* I reworded the "When" section. The existing template mentioned that these get reviewed every 6 weeks which my understanding is not true. That's also not very helpful information to the user, since it doesn't really answer the question. I'm not sure this section will actually be useful since I suspect most of the time we don't know when it will change (there have been a few exceptions).
* Clearly show the expected progression steps. Several issues already have this.
* Added implementation history, which is useful for linking PRs. (IDK, this could get merged with "Steps".)
Thank you for creating a future-incompatible tracking issue! 📜 These issues
9
+
are for lints that implement a future-incompatible warning.
10
+
11
+
Remember to add team labels to the tracking issue.
12
+
For something that affects the language, this would be `T-lang`, and for libs
13
+
it would be `T-libs-api`.
14
+
Also check for any `A-` labels to add.
15
+
-->
16
+
17
+
This is the **tracking issue** for the `YOUR_LINT_NAME_HERE` future-compatibility warning and other related errors. The goal of this page is describe why this change was made and how you can fix code that is affected by it. It also provides a place to ask questions or register a complaint if you feel the change should not be made. For more information on the policy around future-compatibility warnings, see our [breaking change policy guidelines][guidelines].
*Describe the conditions that trigger the warning.*
24
+
25
+
### Why was this change made?
26
+
27
+
*Explain why this change was made. If there is additional context, like an MCP, link it here.*
28
+
29
+
### Example
30
+
31
+
```rust
32
+
// Include an example here.
33
+
```
34
+
35
+
### Recommendations
36
+
37
+
*Give some recommendations on how a user can avoid the lint.*
38
+
39
+
### When will this warning become a hard error?
40
+
41
+
*If known, describe the future plans. For example, how long you anticipate this being a warning, or if there are other factors that will influence the anticipated closure.*
42
+
43
+
### Steps
44
+
45
+
-[ ] Implement the lint
46
+
-[ ] Raise lint level to deny
47
+
-[ ] Make lint report in dependencies
48
+
-[ ] Switch to a hard error
49
+
50
+
### Implementation history
51
+
52
+
<!--
53
+
Include a list of all the PRs that were involved in implementing the lint.
0 commit comments