1 This is a collaborate effort to build a guide that explains how rustc
2 works. The aim of the guide is to help new contributors get oriented
3 to rustc, as well as to help more experienced folks in figuring out
4 some new part of the compiler that they haven't worked on before.
6 [You can read the latest version of the guide here.](https://rust-lang-nursery.github.io/rustc-guide/)
8 You may also find the rustdocs [for the compiler itself][rustdocs] useful.
10 [rustdocs]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc/
12 The guide can be useful today, but it has a lot of work still go.
14 ### Contributing to the guide
16 If you'd like to help improve the guide, we'd love to have you! You can find
17 plenty of issues on the [issue
18 tracker](https://github.com/rust-lang-nursery/rustc-guide/issue). Just post a
19 comment on the issue you would like to work on to make sure that we don't
20 accidentally duplicate work. If you think something is missing, please open an
23 **In general, if you don't know how the compiler works, that is not a
24 problem!** In that case, what we will do is to schedule a bit of time
25 for you to talk with someone who **does** know the code, or who wants
26 to pair with you and figure it out. Then you can work on writing up
29 In general, when writing about a particular part of the compiler's code, we
30 recommend that you link to the relevant parts of the [rustc
33 To help prevent accidentally introducing broken links, we use the
34 `mdbook-linkcheck`. If installed on your machine `mdbook` will automatically
35 invoke this link checker, otherwise it will emit a warning saying it couldn't
39 > cargo install mdbook-linkcheck
42 You will need `mdbook` version `>= 0.2`. `linkcheck` will be run automatically
43 when you run `mdbook build`.