]> git.proxmox.com Git - rustc.git/blob - src/tools/cargo/src/doc/contrib/src/issues.md
New upstream version 1.70.0+dfsg2
[rustc.git] / src / tools / cargo / src / doc / contrib / src / issues.md
1 # Issue Tracker
2
3 Cargo's issue tracker is located at
4 <https://github.com/rust-lang/cargo/issues/>. This is the primary spot where
5 we track bugs and small feature requests. See [Process] for more about our
6 process for proposing changes.
7
8 ## Filing issues
9
10 We can't fix what we don't know about, so please report problems liberally.
11 This includes problems with understanding the documentation, unhelpful error
12 messages, and unexpected behavior.
13
14 **If you think that you have identified an issue with Cargo that might
15 compromise its users' security, please do not open a public issue on GitHub.
16 Instead, we ask you to refer to Rust's [security policy].**
17
18 Opening an issue is as easy as following [this link][new-issues]. There are
19 several templates for different issue kinds, but if none of them fit your
20 issue, don't hesitate to modify one of the templates, or click the [Open a
21 blank issue] link.
22
23 The Rust tools are spread across multiple repositories in the Rust
24 organization. It may not always be clear where to file an issue. No worries!
25 If you file in the wrong tracker, someone will either transfer it to the
26 correct one or ask you to move it. Some other repositories that may be
27 relevant are:
28
29 * [`rust-lang/rust`] --- Home for the [`rustc`] compiler and [`rustdoc`].
30 * [`rust-lang/rustup`] --- Home for the [`rustup`] toolchain installer.
31 * [`rust-lang/rustfmt`] --- Home for the `rustfmt` tool, which also includes `cargo fmt`.
32 * [`rust-lang/rust-clippy`] --- Home for the `clippy` tool, which also includes `cargo clippy`.
33 * [`rust-lang/crates.io`] --- Home for the [crates.io] website.
34
35 Issues with [`cargo fix`] can be tricky to know where they should be filed,
36 since the fixes are driven by `rustc`, processed by [`rustfix`], and the
37 front-interface is implemented in Cargo. Feel free to file in the Cargo issue
38 tracker, and it will get moved to one of the other issue trackers if
39 necessary.
40
41 [Process]: process/index.md
42 [security policy]: https://www.rust-lang.org/security.html
43 [new-issues]: https://github.com/rust-lang/cargo/issues/new/choose
44 [Open a blank issue]: https://github.com/rust-lang/cargo/issues/new
45 [`rust-lang/rust`]: https://github.com/rust-lang/rust
46 [`rust-lang/rustup`]: https://github.com/rust-lang/rustup
47 [`rust-lang/rustfmt`]: https://github.com/rust-lang/rustfmt
48 [`rust-lang/rust-clippy`]: https://github.com/rust-lang/rust-clippy
49 [`rustc`]: https://doc.rust-lang.org/rustc/
50 [`rustdoc`]: https://doc.rust-lang.org/rustdoc/
51 [`rustup`]: https://rust-lang.github.io/rustup/
52 [`rust-lang/crates.io`]: https://github.com/rust-lang/crates.io
53 [crates.io]: https://crates.io/
54 [`rustfix`]: https://github.com/rust-lang/rustfix/
55 [`cargo fix`]: https://doc.rust-lang.org/cargo/commands/cargo-fix.html
56
57 ## Issue labels
58
59 [Issue labels] are very helpful to identify the types of issues and which
60 category they are related to. The Cargo team typically manages assigning
61 labels. The labels use a naming convention with short prefixes and colors to
62 indicate the kind of label:
63
64 * Yellow, **A**-prefixed labels state which **area** of the project an issue
65 relates to.
66
67 * Light purple, **C**-prefixed labels represent the **category** of an issue.
68 In particular, **[C-feature-request]** marks *proposals* for new features. If
69 an issue is **C-feature-request**, but is not **[Feature accepted]** or
70 **[I-nominated]**, then it was not thoroughly discussed, and might need some
71 additional design or perhaps should be implemented as an external subcommand
72 first. Ping @rust-lang/cargo if you want to send a PR for such issue.
73
74 * Dark purple, **Command**-prefixed labels mean the issue has to do with a
75 specific cargo command.
76
77 * Green, **E**-prefixed labels indicate the level of **experience** or
78 **effort** necessary to fix the issue. **[E-mentor]** issues also
79 have some instructions on how to get started. Generally, all of the
80 **E**-prefixed labels are issues that are ready for someone to contribute
81 to!
82
83 * Red, **I**-prefixed labels indicate the **importance** of the issue. The
84 **[I-nominated]** label indicates that an issue has been nominated for
85 prioritizing at the next triage meeting.
86
87 * Purple gray, **O**-prefixed labels are the **operating system** or platform
88 that this issue is specific to.
89
90 * Orange, **P**-prefixed labels indicate a bug's **priority**.
91
92 * **S**-prefixed labels are "status" labels, typically used for PRs, but can
93 also indicate an issue is **[S-blocked]**.
94
95 * The light orange **[relnotes]** label marks issues that should be highlighted
96 in the [Rust release notes] of the next release.
97
98 * Dark blue, **Z**-prefixed labels are for unstable, [nightly features].
99
100 [Issue labels]: https://github.com/rust-lang/cargo/labels
101 [E-easy]: https://github.com/rust-lang/cargo/labels/E-easy
102 [E-mentor]: https://github.com/rust-lang/cargo/labels/E-mentor
103 [I-nominated]: https://github.com/rust-lang/cargo/labels/I-nominated
104 [C-feature-request]: https://github.com/rust-lang/cargo/labels/C-feature-request
105 [Feature accepted]: https://github.com/rust-lang/cargo/labels/Feature%20accepted
106 [S-blocked]: https://github.com/rust-lang/cargo/labels/S-blocked
107 [Rust release notes]: https://github.com/rust-lang/rust/blob/master/RELEASES.md
108 [nightly features]: https://doc.rust-lang.org/nightly/cargo/reference/unstable.html
109 [relnotes]: https://github.com/rust-lang/cargo/issues?q=label%3Arelnotes