|  | 
|  | 1 | +Thank you for your interest in contributing to the Rust Reference! | 
|  | 2 | + | 
|  | 3 | +There are a few ways of helping with the reference: critiquing the reference, | 
|  | 4 | +editing the reference, fixing incorrect information, adding examples and | 
|  | 5 | +glossary entries, and documenting new or otherwise undocumented features in | 
|  | 6 | +Rust. | 
|  | 7 | + | 
|  | 8 | +For awhile, the Reference was basically ignored, and Rust continued gaining | 
|  | 9 | +new features or changing old ones. It was also basically the introduction | 
|  | 10 | +document before the first edition of the Rust book, and constantly in flux from | 
|  | 11 | +the huge churn of the language design before v1.0.0. So there's a lot that's | 
|  | 12 | +wrong, too teachy for people who should have basic understanding of Rust, or | 
|  | 13 | +is too shallow for the Reference. As such, we | 
|  | 14 | +have the warning saying there's work that needs to be done. Eventually, we plan | 
|  | 15 | +to make sure everything is well documented enough that we can remove the | 
|  | 16 | +warning. | 
|  | 17 | + | 
|  | 18 | +## Critiquing the Reference | 
|  | 19 | + | 
|  | 20 | +This is the easiest way to contribute. Basically, as you read the reference, if | 
|  | 21 | +you find something confusing, incorrect, or missing, then you can file an issue | 
|  | 22 | +against the reference explaining your concerns. | 
|  | 23 | + | 
|  | 24 | +## Editing the Reference | 
|  | 25 | + | 
|  | 26 | +Typos and incorrect links get through from time to time. Should you find them, | 
|  | 27 | +we welcome PRs to fix them. Additionally, larger editing jobs that help remove | 
|  | 28 | +the number of parentheticals, remove comma splices, italicize term definitions | 
|  | 29 | +and other similar tasks are helpful. | 
|  | 30 | + | 
|  | 31 | +## Adding Examples and Glossary Entries | 
|  | 32 | + | 
|  | 33 | +Examples are great. Many people will only read examples and ignore the prose. | 
|  | 34 | +Ideally, every facet of every feature will have an example. | 
|  | 35 | + | 
|  | 36 | +Likewise, the reference has a glossary. It doesn't need to explain every facet | 
|  | 37 | +of every feature nor contain every definition, but it does need to be expanded | 
|  | 38 | +upon. Ideally entries in the glossary link to the associated documentation. | 
|  | 39 | + | 
|  | 40 | +## Adding Documentation | 
|  | 41 | + | 
|  | 42 | +There are a lot of features that are not documented at all or are documented | 
|  | 43 | +poorly. This is the hardest, but definitely most valuable. Pick something from | 
|  | 44 | +["Document all features"][9] or a [missing feature] tag, and write about it. | 
|  | 45 | + | 
|  | 46 | +While writing, you may find it handy to have a [playpen] open to test out what | 
|  | 47 | +you are documenting. | 
|  | 48 | + | 
|  | 49 | +Feel free to take information from the standard library and Rustonomicon as | 
|  | 50 | +appropriate. | 
|  | 51 | + | 
|  | 52 | +Note that we don't write documentation for purely library features such as | 
|  | 53 | +threads and IO and we don't write about Rust in the future. Documentation is | 
|  | 54 | +written as if the current stable release of Rust is the last release. If you | 
|  | 55 | +want to write about Rust in the future, you want [the Unstable book][unstable]. | 
|  | 56 | + | 
|  | 57 | +[9]: https://github.com/rust-lang-nursery/reference/issues/9 | 
|  | 58 | +[missing feature]: https://github.com/rust-lang-nursery/reference/issues?q=is%3Aissue+is%3Aopen+label%3A%22Missing+Feature%22 | 
|  | 59 | +[playpen]: https://play.rust-lang.org/ | 
|  | 60 | +[unstable]: https://doc.rust-lang.org/nightly/unstable-book/ | 
0 commit comments