Skip to content

Commit 0267905

Browse files
authored
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".)
2 parents dcb808e + f6aeef3 commit 0267905

File tree

2 files changed

+57
-33
lines changed

2 files changed

+57
-33
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
name: Future Incompatibility Tracking Issue
3+
about: A tracking issue for a future-incompatible lint
4+
title: Tracking Issue for future-incompatibility lint XXX
5+
labels: C-tracking-issue C-future-incompatibility T-compiler A-lints
6+
---
7+
<!--
8+
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].
18+
19+
[guidelines]: https://rustc-dev-guide.rust-lang.org/bug-fix-procedure.html
20+
21+
### What is the warning for?
22+
23+
*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.
54+
-->

src/doc/rustc-dev-guide/src/bug-fix-procedure.md

+3-33
Original file line numberDiff line numberDiff line change
@@ -80,41 +80,11 @@ approachable and practical; it may make sense to direct users to an RFC or some
8080
other issue for the full details. The issue also serves as a place where users
8181
can comment with questions or other concerns.
8282

83-
A template for these breaking-change tracking issues can be found below. An
84-
example of how such an issue should look can be [found
83+
A template for these breaking-change tracking issues can be found
84+
[here][template]. An example of how such an issue should look can be [found
8585
here][breaking-change-issue].
8686

87-
The issue should be tagged with (at least) `B-unstable` and `T-compiler`.
88-
89-
### Tracking issue template
90-
91-
This is a template to use for tracking issues:
92-
93-
```
94-
This is the **summary issue** for the `YOUR_LINT_NAME_HERE`
95-
future-compatibility warning and other related errors. The goal of
96-
this page is describe why this change was made and how you can fix
97-
code that is affected by it. It also provides a place to ask questions
98-
or register a complaint if you feel the change should not be made. For
99-
more information on the policy around future-compatibility warnings,
100-
see our [breaking change policy guidelines][guidelines].
101-
102-
[guidelines]: LINK_TO_THIS_RFC
103-
104-
#### What is the warning for?
105-
106-
*Describe the conditions that trigger the warning and how they can be
107-
fixed. Also explain why the change was made.**
108-
109-
#### When will this warning become a hard error?
110-
111-
At the beginning of each 6-week release cycle, the Rust compiler team
112-
will review the set of outstanding future compatibility warnings and
113-
nominate some of them for **Final Comment Period**. Toward the end of
114-
the cycle, we will review any comments and make a final determination
115-
whether to convert the warning into a hard error or remove it
116-
entirely.
117-
```
87+
[template]: https://github.com/rust-lang/rust/issues/new?template=tracking_issue_future.md
11888

11989
### Issuing future compatibility warnings
12090

0 commit comments

Comments
 (0)