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
Copy file name to clipboardExpand all lines: src/release/issue-triaging.md
+37-14
Original file line number
Diff line number
Diff line change
@@ -75,25 +75,48 @@ Triaging them the same way as `needs-triage` is also useful.
75
75
There are many different labels that can be applied to issues.
76
76
77
77
-`needs-triage`: Signals that an issue is new and needs initial triage
78
-
-`T-*`: Specifies the team or teams that this issue is relevant to, for example compiler, types or libs
79
-
-`WG-*`: Specifies the working groups that this issue is relevant to, for example WG-debugging.
80
-
-`C-*`: Specifies the category of the label, for example a bug, tracking issue or discussion
81
-
-`A-diagnostics` issues usually don't have any C label.
78
+
-[`T-*`]: Specifies the **team** or teams that this issue is relevant to. For example `T-compiler`, `T-types` or `T-libs`.
79
+
-[`WG-*`]: Specifies the **working groups** that this issue is relevant to, for example `WG-debugging`.
80
+
-[`PG-*`]: Specifies the **project groups** that this issue is relevant to, for example the `PG-exploit-mitigations`.
81
+
-[`C-*`]: Specifies the **category** of the label, for example a bug, tracking issue or discussion
82
+
-`A-diagnostics` issues usually don't have any `C-*` label.
82
83
- Also note `C-optimization` for missed compiler optimizations.
83
-
-`O-*`: For platform-specific issues, specifies the platform (architecture or operating system). For example macos, aarch64, windows
84
-
-`A-*`: The areas that the issue is relevant to, for example linkage, patterns, diagnostics
85
-
-`F-*`: When the issue concerns a specific (usually unstable) feature
84
+
-[`O-*`]: For platform-specific issues, specifies the **platform** (architecture or operating system). For example `O-macos`, `O-aarch64`, `O-windows`.
85
+
-[`A-*`]: The **areas** that the issue is relevant to, for example `A-linkage`, `A-patterns`, `A-diagnostics`.
86
+
-[`L-*`]: When the issue concerns a specific **lint**.
87
+
-[`F-*`]: When the issue concerns a specific (usually unstable, usually language) **feature**.
88
+
-[`-Z*`]: When the issue concerns a specific unstable `-Z` compiler flag.
86
89
-`requires-nightly`: This issue is not relevant to the stable compiler
87
90
-`requires-{incomplete,internal}-features`: This issue requires an incomplete or internal feature. The latter often means that the issue
88
91
should be closed in accordance with compiler [MCP 620](https://github.com/rust-lang/compiler-team/issues/620).
89
-
-`regression-*`: Labels for tracking issues that are regressions.
90
-
-`D-*`: Labels for diagnostics issue.
91
-
-`I-*`: Different labels about the nature (originally, importance) of a bug. For example ICE, slow code, heavy code (binary size), crashes, unsoundness.
92
-
There are also some other `I-*` labels that don't really fit into this. For triaging, focus on `I-slow`, `I-heavy`, `I-ICE`, `I-crash`,`I-unsound`.
93
-
-`P-*`: Priority labels. Applied using the [Compiler Prioritization procedure](../compiler/prioritization.md)
94
-
-`S-*`: The status of an issue, for example S-needs-repro.
95
-
-`E-*`: Calls for participation, for example to minimize an issue
92
+
-[`regression-*`]: Labels for tracking issues that are regressions.
93
+
-[`D-*`]: Labels for **diagnostic** issues.
94
+
-[`I-*`]: Different labels about the nature[^1] of a bug. For example ICE, slow code, heavy code (binary size), crashes, unsoundness.
95
+
There are also some other `I-*` labels that don't really fit into this. For triaging, focus on `I-ICE`, `I-crash`, `I-hang`, `I-slow`, `I-heavy`, `I-compiletime` and`I-unsound`.
96
+
-[`P-*`]: **Priority** labels. Applied using the [compiler prioritization procedure](../compiler/prioritization.md).
97
+
-[`S-*`]: The **status** of an issue, for example `S-needs-repro`.
98
+
-[`E-*`]: Calls for participation[^2], for example to minimize an issue.
96
99
-`E-mentor`: A mentor is available to help with the issue, which makes for good first issues.
97
100
-`E-needs-mcve`: This issue has a reproduction, but it is not minimal, it should be minimized.
98
101
-`E-needs-test`: The issue has been fixed, but no test has been added for it. After someone adds a test, it can be closed.
99
102
-`E-{easy,medium,hard}`: Someone has estimated how hard the issue is to fix. This can help with finding good first issues, but is [bound to be inaccurate](https://en.wikipedia.org/wiki/Curse_of_knowledge).
103
+
104
+
See also section [Issue Triage](https://rustc-dev-guide.rust-lang.org/contributing.html#issue-triage) in the Rust Compiler Development Guide.
[^1]: The `I` in `I-*` labels originally stood for *importance*. This makes the most sense for the `I-*-nominated` labels. For most `I-*` labels however it makes sense to interpret the `I` as *issue (kind)*.
122
+
[^2]: The `E` in `E-*` labels stands for *experience*.
0 commit comments