@@ -19,19 +19,17 @@ Writing tests and documentation is how many people get started and is
19
19
really useful. There are links to these kind of issues too. Likewise
20
20
finding bugs and filing issues in any of the projects linked here is
21
21
very much appreciated. As a reminder, all contributors are expected to
22
- follow our [ Code of Conduct] ( https://www.rust-lang.org/conduct.html ) .
22
+ follow our [ Code of Conduct] [ coc ] .
23
+
24
+ [ coc ] : https://www.rust-lang.org/conduct.html
23
25
24
26
## Finding Something to Work On
25
27
26
28
#### Issues
27
29
28
- If you're looking for
29
- [ issues] ( https://github.com/rust-lang/rust/issues ) on the Rust repo
30
- and want something easy-ish to start with, look for the
31
- [ E-easy] ( https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AE-easy )
32
- or
33
- [ E-mentor] ( https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AE-easy+label%3AE-mentor )
34
- labels.
30
+ If you're looking for [ issues] [ rust_issues ] on the Rust repo
31
+ and want something easy-ish to start with, look for the [ E-easy] [ e_easy_issues ]
32
+ or [ E-mentor] [ e_mentor_issues ] labels.
35
33
36
34
Contributors with sufficient permissions on the Rust repo can help by
37
35
adding labels to triage issues:
@@ -53,50 +51,63 @@ I-nominated label.
53
51
- ** Purple** metabug labels mark lists of bugs collected by other
54
52
categories.
55
53
54
+ [ rust_issues ] : https://github.com/rust-lang/rust/issues
55
+ [ e_easy_issues ] : https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AE-easy
56
+ [ e_mentor_issues ] : https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AE-easy+label%3AE-mentor
57
+
56
58
#### The Rust compiler
57
59
58
- The compiler is part of the [ main repo] ( https://github.com/rust-lang ) ,
59
- which also includes the standard library crates and a whole bunch of
60
- supporting code. For questions about the compiler, there is the
61
- [ #rustc] ( irc://moznet/rustc ) IRC channel. Compiler errors (ICE for
62
- 'internal compiler errors') can be searched for in issues using the
63
- [ I-ICE] ( https://github.com/rust-lang/rust/labels/I-ICE ) label. These
64
- are usually good bugs to start with because it's easy to know when
65
- you've fixed them, and they're often relatively self-contained. If
66
- you're interested in parsing, macros, syntactic stuff, the
67
- [ parsing] ( https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AA-parser )
68
- label and the
69
- [ macro] ( https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AA-parser+label%3AA-macros )
70
- label are a good places to start.
60
+ The compiler is part of the [ main repo] [ main_repo ] , which also
61
+ includes the standard library crates and a whole bunch of supporting
62
+ code. For questions about the compiler, there is the
63
+ [ #rustc] [ rustc_irc ] IRC channel. Compiler errors (ICE for 'internal
64
+ compiler errors') can be searched for in issues using the
65
+ [ I-ICE] [ i_ice_issues ] label. These are usually good bugs to start with
66
+ because it's easy to know when you've fixed them, and they're often
67
+ relatively self-contained. If you're interested in parsing, macros,
68
+ syntactic stuff, the [ parsing] [ parsing_issues ] label and the
69
+ [ macro] [ macro_issues ] label are a good places to start.
70
+
71
+ [ main_repo ] : https://github.com/rust-lang
72
+ [ rust_irc ] : irc://moznet/rustc
73
+ [ i_ice_issues ] : https://github.com/rust-lang/rust/labels/I-ICE
74
+ [ parsing_issues ] : https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AA-parser
75
+ [ macro_issues ] : https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AA-parser+label%3AA-macros
71
76
72
77
#### Standard Libraries
73
78
74
- [ Libstd] ( https://github.com/rust-lang/rust/tree/master/src/libstd ) ,
75
- [ libcollections] ( https://github.com/rust-lang/rust/tree/master/src/libcollections ) ,
76
- [ liballoc] ( https://github.com/rust-lang/rust/tree/master/src/liballoc )
77
- and
78
- [ libcore] ( https://github.com/rust-lang/rust/tree/master/src/libcore )
79
- are the main library crates. These all appear to users as if they are
80
- part of libstd, the standard library. These tend to be very
81
- fundamental libraries - built-in types, low level IO and concurrency,
82
- allocation, essential collections, and so forth. You should join
83
- [ #rust-libs] ( irc://moznet/rust-libs ) if you are interested in contributing
84
- to the Rust libraries.
79
+ [ Libstd] [ libstd ] , [ libcollections] [ libcollections ] ,
80
+ [ liballoc] [ liballoc ] and [ libcore] [ libcore ] are the main library
81
+ crates. These all appear to users as if they are part of libstd, the
82
+ standard library. These tend to be very fundamental libraries -
83
+ built-in types, low level IO and concurrency, allocation, essential
84
+ collections, and so forth. You should join [ #rust-libs] [ libs_irc ] if
85
+ you are interested in contributing to the Rust libraries.
86
+
87
+ [ libstd ] : https://github.com/rust-lang/rust/tree/master/src/libstd
88
+ [ libcollections ] : https://github.com/rust-lang/rust/tree/master/src/libcollections
89
+ [ liballoc ] : https://github.com/rust-lang/rust/tree/master/src/liballoc
90
+ [ libcore ] : https://github.com/rust-lang/rust/tree/master/src/libcore
91
+ [ libs_irc ] : irc://moznet/rust-libs
85
92
86
93
#### Cargo
87
94
88
- [ Cargo] ( https://github.com/rust-lang/cargo/issues ) is Rust's package manager.
95
+ [ Cargo] [ cargo_issues ] is Rust's package manager.
96
+
97
+ [ cargo_issues ] : https://github.com/rust-lang/cargo/issues
89
98
90
99
#### Tests
91
100
92
101
Contributing tests is extremely valuable to the Rust project. For the
93
102
compiler and standard libraries, there are unit tests (usually)
94
103
embedded in the source code and regression tests in the
95
- [ src/tests] ( https://github.com/rust-lang/rust/tree/master/src/test )
96
- directory. There is a list of issues which have (probably) been fixed,
97
- but still need a test. Nearly any other project will be extremely
98
- welcoming of new tests too. Writing test cases is a great way to
99
- begin to understand a new project and get started contributing.
104
+ [ src/tests] [ tests ] directory. There is a list of issues which have
105
+ (probably) been fixed, but still need a test. Nearly any other project
106
+ will be extremely welcoming of new tests too. Writing test cases is a
107
+ great way to begin to understand a new project and get started
108
+ contributing.
109
+
110
+ [ test ] : https://github.com/rust-lang/rust/tree/master/src/test
100
111
101
112
#### Checking Older Bugs
102
113
@@ -105,9 +116,10 @@ fixed. And sometimes, the original bug may go stale because something
105
116
has changed in the meantime. It can be helpful to go through older bug
106
117
reports and make sure that they are still valid. Load up an older
107
118
issue, double check that it's still true, and leave a comment letting
108
- us know if it is or is not. The [ least recently
109
- updated] ( https://github.com/rust-lang/rust/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-asc )
110
- sort is good for finding issues like this.
119
+ us know if it is or is not. The [ least recently updated] [ lru_issues ]
120
+ sort is good for finding issues like this.
121
+
122
+ [ lru_issues ] : https://github.com/rust-lang/rust/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-asc
111
123
112
124
#### Documentation
113
125
@@ -117,16 +129,17 @@ projects. Many aspects of the docs don't require super-deep knowledge,
117
129
especially if they're aimed at newcomers. It's also a great way to
118
130
learn more about the language or specific libraries.
119
131
120
- - [ The
121
- Book] ( https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AA-book )
122
- The main guide to learning Rust.
123
- - [ Rust
124
- Documentation] ( https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AA-docs )
125
- - [ Rust by Example] ( https://github.com/rust-lang/rust-by-example/issues )
126
- - [ Rust for C++
127
- Programmers] ( https://github.com/nrc/r4cppp/issues ) A tutorial aimed
132
+ - [ The Book] [ rustbook_issues ] The main guide to learning Rust.
133
+ - [ Rust Documentation] [ rustdoc_issues ]
134
+ - [ Rust by Example] [ rust_by_example_issues ]
135
+ - [ Rust for C++ Programmers] [ rust_for_cpp_issues ] A tutorial aimed
128
136
at experienced C++ programmers coming to Rust.
129
137
138
+ [ rustbook_issues ] : https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AA-book
139
+ [ rustdoc_issues ] : https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AA-docs
140
+ [ rust_by_example_issues ] : https://github.com/rust-lang/rust-by-example/issues
141
+ [ rust_for_cpp_issues ] : https://github.com/nrc/r4cppp/issues
142
+
130
143
#### Tools
131
144
132
145
Tools play a huge part in the success of a language. Rust has some
@@ -144,15 +157,21 @@ management, but we need much more.
144
157
145
158
#### Other Contributions
146
159
147
- Try [ Github Trending] ( https://github.com/trending?l=rust ) for
148
- currently active Rust projects. There are a number of other ways to
149
- contribute to Rust that don't deal directly with the Rust repository.
150
-
151
- - Answer questions in [ #rust] ( irc://moznet/rust ) , on the [ Rust
152
- Forum] ( https://users.rust-lang.org/ ) or on [ Stack
153
- Overflow] ( http://stackoverflow.com/questions/tagged/rust ) .
154
- - Participate in the [ RFC process] ( https://github.com/rust-lang/rfcs ) .
155
- - Find a [ requested community
156
- library] ( https://github.com/rust-lang/rfcs/labels/A-community-library )
157
- , build it, and publish it to [ Crates.io] ( http://crates.io ) . Easier
158
- said than done, but very, very valuable!
160
+ Try [ Github Trending] [ trending ] for currently active Rust projects.
161
+ There are a number of other ways to contribute to Rust that don't deal
162
+ directly with the Rust repository.
163
+
164
+ - Answer questions in [ #rust] [ rust_irc ] , on the [ Rust Forum] [ forum ] or
165
+ on [ Stack Overflow] [ stack_overflow ] .
166
+ - Participate in the [ RFC process] [ rfcs ] .
167
+ - Find a [ requested community library] [ requested ] , build it, and
168
+ publish it to [ Crates.io] [ crates ] . Easier said than done,
169
+ but very, very valuable!
170
+
171
+ [ trending ] : https://github.com/trending?l=rust
172
+ [ rust_irc ] : irc://moznet/rust
173
+ [ forum ] : https://users.rust-lang.org/
174
+ [ stack_overflow ] : http://stackoverflow.com/questions/tagged/rust
175
+ [ rfcs ] : https://github.com/rust-lang/rfcs
176
+ [ requested ] : https://github.com/rust-lang/rfcs/labels/A-community-library
177
+ [ crates ] : http://crates.io
0 commit comments