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
**Please ask questions!** A lot of people report feeling that they are "wasting
39
-
expert's time", but nobody on `t-compiler` feels this way. Contributors are
40
-
important to us.
40
+
expert's time", but nobody on `t-compiler` feels this way.
41
+
Contributors are important to us.
41
42
42
43
Also, if you feel comfortable, prefer public topics, as this means others can
43
-
see the questions and answers, and perhaps even integrate them back into this
44
-
guide :)
44
+
see the questions and answers, and perhaps even integrate them back into this guide :)
45
45
46
-
**Tip**: If you're not a native English speaker and feel unsure about writing, try using a translator to help. But avoid using LLM tools that generate long, complex words. In daily teamwork, **simple and clear words** are best for easy understanding. Even small typos or grammar mistakes can make you seem more human, and people connect better with humans.
46
+
**Tip**: If you're not a native English speaker and feel unsure about writing, try using a translator to help.
47
+
But avoid using LLM tools that generate long, complex words.
48
+
In daily teamwork, **simple and clear words** are best for easy understanding.
49
+
Even small typos or grammar mistakes can make you seem more human, and people connect better with humans.
47
50
48
51
### Experts
49
52
50
-
Not all `t-compiler` members are experts on all parts of `rustc`; it's a
51
-
pretty large project. To find out who could have some expertise on
53
+
Not all `t-compiler` members are experts on all parts of `rustc`;
54
+
it's a pretty large project.
55
+
To find out who could have some expertise on
52
56
different parts of the compiler, [consult triagebot assign groups][map].
53
-
The sections that start with `[assign*` in `triagebot.toml` file.
57
+
The sections that start with `[assign*` in `triagebot.toml` file.
54
58
But also, feel free to ask questions even if you can't figure out who to ping.
55
59
56
60
Another way to find experts for a given part of the compiler is to see who has made recent commits.
57
61
For example, to find people who have recently worked on name resolution since the 1.68.2 release,
58
-
you could run `git shortlog -n 1.68.2.. compiler/rustc_resolve/`. Ignore any commits starting with
62
+
you could run `git shortlog -n 1.68.2..
63
+
compiler/rustc_resolve/`.
64
+
Ignore any commits starting with
59
65
"Rollup merge" or commits by `@bors` (see [CI contribution procedures](./contributing.md#ci) for
60
66
more information about these commits).
61
67
@@ -64,8 +70,7 @@ more information about these commits).
64
70
### Etiquette
65
71
66
72
We do ask that you be mindful to include as much useful information as you can
67
-
in your question, but we recognize this can be hard if you are unfamiliar with
68
-
contributing to Rust.
73
+
in your question, but we recognize this can be hard if you are unfamiliar with contributing to Rust.
69
74
70
75
Just pinging someone without providing any context can be a bit annoying and
71
76
just create noise, so we ask that you be mindful of the fact that the
@@ -74,13 +79,16 @@ just create noise, so we ask that you be mindful of the fact that the
74
79
## What should I work on?
75
80
76
81
The Rust project is quite large and it can be difficult to know which parts of the project need
77
-
help, or are a good starting place for beginners. Here are some suggested starting places.
82
+
help, or are a good starting place for beginners.
83
+
Here are some suggested starting places.
78
84
79
85
### Easy or mentored issues
80
86
81
87
If you're looking for somewhere to start, check out the following [issue
82
-
search][help-wanted-search]. See the [Triage] for an explanation of these labels. You can also try
83
-
filtering the search to areas you're interested in. For example:
88
+
search][help-wanted-search].
89
+
See the [Triage] for an explanation of these labels.
90
+
You can also try filtering the search to areas you're interested in.
91
+
For example:
84
92
85
93
-`repo:rust-lang/rust-clippy` will only show clippy issues
86
94
-`label:T-compiler` will only show issues related to the compiler
@@ -94,8 +102,9 @@ See below for how to find work that isn't labelled.
94
102
95
103
### Recurring work
96
104
97
-
Some work is too large to be done by a single person. In this case, it's common to have "Tracking
98
-
issues" to co-ordinate the work between contributors. Here are some example tracking issues where
105
+
Some work is too large to be done by a single person.
106
+
In this case, it's common to have "Tracking issues" to co-ordinate the work between contributors.
107
+
Here are some example tracking issues where
99
108
it's easy to pick up work without a large time commitment:
100
109
101
110
-*Add recurring work items here.*
@@ -105,8 +114,8 @@ If you find more recurring work, please feel free to add it here!
105
114
### Clippy issues
106
115
107
116
The [Clippy] project has spent a long time making its contribution process as friendly to newcomers
108
-
as possible. Consider working on it first to get familiar with the process and the compiler
109
-
internals.
117
+
as possible.
118
+
Consider working on it first to get familiar with the process and the compiler internals.
110
119
111
120
See [the Clippy contribution guide][clippy-contributing] for instructions on getting started.
112
121
@@ -116,27 +125,31 @@ See [the Clippy contribution guide][clippy-contributing] for instructions on get
116
125
### Diagnostic issues
117
126
118
127
Many diagnostic issues are self-contained and don't need detailed background knowledge of the
119
-
compiler. You can see a list of diagnostic issues [here][diagnostic-issues].
128
+
compiler.
129
+
You can see a list of diagnostic issues [here][diagnostic-issues].
Issues that have been resolved but do not have a regression test are marked with the `E-needs-test` label. Writing unit tests is a low-risk, lower-priority task that offers new contributors a great opportunity to familiarize themselves with the testing infrastructure and contribution workflow.
151
+
Issues that have been resolved but do not have a regression test are marked with the `E-needs-test` label.
152
+
Writing unit tests is a low-risk, lower-priority task that offers new contributors a great opportunity to familiarize themselves with the testing infrastructure and contribution workflow.
140
153
141
154
### Contributing to std (standard library)
142
155
@@ -147,28 +160,28 @@ See [std-dev-guide](https://std-dev-guide.rust-lang.org/).
147
160
There are a bunch of other projects that you can contribute to outside of the
148
161
`rust-lang/rust` repo, including `cargo`, `miri`, `rustup`, and many others.
149
162
150
-
These repos might have their own contributing guidelines and procedures. Many
151
-
of them are owned by working groups. For more info, see the documentation in those repos' READMEs.
163
+
These repos might have their own contributing guidelines and procedures.
164
+
Many of them are owned by working groups.
165
+
For more info, see the documentation in those repos' READMEs.
152
166
153
167
### Other ways to contribute
154
168
155
169
There are a bunch of other ways you can contribute, especially if you don't
156
170
feel comfortable jumping straight into the large `rust-lang/rust` codebase.
157
171
158
-
The following tasks are doable without much background knowledge but are
159
-
incredibly helpful:
172
+
The following tasks are doable without much background knowledge but are incredibly helpful:
160
173
161
174
-[Writing documentation][wd]: if you are feeling a bit more intrepid, you could try
162
-
to read a part of the code and write doc comments for it. This will help you
163
-
to learn some part of the compiler while also producing a useful artifact!
175
+
to read a part of the code and write doc comments for it.
176
+
This will help you to learn some part of the compiler while also producing a useful artifact!
164
177
-[Triaging issues][triage]: categorizing, replicating, and minimizing issues is very helpful to the Rust maintainers.
165
178
-[Working groups][wg]: there are a bunch of working groups on a wide variety
166
179
of rust-related things.
167
180
- Answer questions on [users.rust-lang.org][users], or on [Stack Overflow][so].
168
181
- Participate in the [RFC process](https://github.com/rust-lang/rfcs).
169
182
- Find a [requested community library][community-library], build it, and publish
170
-
it to [Crates.io](http://crates.io). Easier said than done, but very, very
0 commit comments