A guide to how rustc works and how to contribute to it.
Go to file
Who? Me?! 12292c52d4 Update compiler-debugging.md 2019-06-11 11:55:03 -05:00
ci update mdbook 2019-03-01 17:16:50 -06:00
src Update compiler-debugging.md 2019-06-11 11:55:03 -05:00
.editorconfig Added EditorConfig file for `src`. 2018-03-26 20:28:00 -05:00
.gitattributes Fix failing tidy (line endings on Windows) (#246) 2018-12-01 15:10:43 -06:00
.gitignore add outline and chapters 2018-01-16 17:35:19 -05:00
.travis.yml use nightly rust for ci 2019-04-25 20:39:32 -05:00
CODE_OF_CONDUCT.md Changed all instances of `e.g.,` to `e.g.`, and similar. 2018-02-04 21:46:26 -06:00
LICENSE-APACHE add code-of-conduct, licensing material, and a README 2018-01-16 16:36:21 -05:00
LICENSE-MIT add code-of-conduct, licensing material, and a README 2018-01-16 16:36:21 -05:00
README.md Typo + minor edits 2019-01-18 14:36:52 -06:00
book.toml Fix all the links! 2018-09-21 15:54:25 -05:00

README.md

This is a collaborative effort to build a guide that explains how rustc works. The aim of the guide is to help new contributors get oriented to rustc, as well as to help more experienced folks in figuring out some new part of the compiler that they haven't worked on before.

You can read the latest version of the guide here.

You may also find the rustdocs for the compiler itself useful.

Contributing to the guide

The guide is useful today, but it has a lot of work still go.

If you'd like to help improve the guide, we'd love to have you! You can find plenty of issues on the issue tracker. Just post a comment on the issue you would like to work on to make sure that we don't accidentally duplicate work. If you think something is missing, please open an issue about it!

In general, if you don't know how the compiler works, that is not a problem! In that case, what we will do is to schedule a bit of time for you to talk with someone who does know the code, or who wants to pair with you and figure it out. Then you can work on writing up what you learned.

In general, when writing about a particular part of the compiler's code, we recommend that you link to the relevant parts of the rustc rustdocs.

To help prevent accidentally introducing broken links, we use the mdbook-linkcheck. If installed on your machine mdbook will automatically invoke this link checker, otherwise it will emit a warning saying it couldn't be found.

> cargo install mdbook-linkcheck

You will need mdbook version >= 0.2. linkcheck will be run automatically when you run mdbook build.