Skip to content

Commit dd921e9

Browse files
authored
Merge pull request #744 from fmease/tweak-issue-triaging
Tweak and update subsection Labels of Issue Triaging
2 parents f588fcd + 359e718 commit dd921e9

File tree

1 file changed

+39
-14
lines changed

1 file changed

+39
-14
lines changed

src/release/issue-triaging.md

+39-14
Original file line numberDiff line numberDiff line change
@@ -75,25 +75,50 @@ Triaging them the same way as `needs-triage` is also useful.
7575
There are many different labels that can be applied to issues.
7676

7777
- `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.
8283
- 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 target-specific issues, specifies the compile target[^1] or compile target family (most notably the platform, i.e., the architecture or operating system). For example `O-macos`, `O-aarch64`, `O-windows`, `O-windows-msvc`.
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.
8689
- `requires-nightly`: This issue is not relevant to the stable compiler
8790
- `requires-{incomplete,internal}-features`: This issue requires an incomplete or internal feature. The latter often means that the issue
8891
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[^2] 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[^3], for example to minimize an issue.
9699
- `E-mentor`: A mentor is available to help with the issue, which makes for good first issues.
97100
- `E-needs-mcve`: This issue has a reproduction, but it is not minimal, it should be minimized.
101+
- `E-needs-bisection`: This issue needs a bisection, for example using [cargo-bisect-rustc](https://github.com/rust-lang/cargo-bisect-rustc).
98102
- `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.
99103
- `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).
104+
105+
See also section [Issue Triage](https://rustc-dev-guide.rust-lang.org/contributing.html#issue-triage) in the Rust Compiler Development Guide.
106+
107+
[`T-*`]: https://github.com/rust-lang/rust/labels?q=T-
108+
[`WG-*`]: https://github.com/rust-lang/rust/labels?q=WG-
109+
[`PG-*`]: https://github.com/rust-lang/rust/labels?q=PG-
110+
[`C-*`]: https://github.com/rust-lang/rust/labels?q=C-
111+
[`O-*`]: https://github.com/rust-lang/rust/labels?q=O-
112+
[`A-*`]: https://github.com/rust-lang/rust/labels?q=A-
113+
[`L-*`]: https://github.com/rust-lang/rust/labels?q=L-
114+
[`F-*`]: https://github.com/rust-lang/rust/labels?q=F-
115+
[`-Z*`]: https://github.com/rust-lang/rust/labels?q=-Z
116+
[`regression-*`]: https://github.com/rust-lang/rust/labels?q=regression-
117+
[`D-*`]: https://github.com/rust-lang/rust/labels?q=D-
118+
[`I-*`]: https://github.com/rust-lang/rust/labels?q=I-
119+
[`P-*`]: https://github.com/rust-lang/rust/labels?q=P-
120+
[`S-*`]: https://github.com/rust-lang/rust/labels?q=S-
121+
[`E-*`]: https://github.com/rust-lang/rust/labels?q=E-
122+
[^1]: The `O` in `O-*` labels originally stood for *operating system (OS)*.
123+
[^2]: 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)*.
124+
[^3]: The `E` in `E-*` labels stands for *experience*.

0 commit comments

Comments
 (0)