- Notifications
You must be signed in to change notification settings - Fork564
A guide to how rustc works and how to contribute to it.
License
Apache-2.0, MIT licenses found
Licenses found
rust-lang/rustc-dev-guide
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
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 outsome new part of the compiler that they haven't worked on before.
You may also find therustc API docs useful.
Note that these are not intended as a guide; it's recommended that you searchfor the docs you're looking for instead of reading them top to bottom.
For documentation on developing the standard library, seestd-dev-guide.
The guide is useful today, but it has a lot of work still to go.
If you'd like to help improve the guide, we'd love to have you!You can find plenty of issues on theissuetracker.Just post a comment on the issue you would like to work on to make sure that we don'taccidentally 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 aproblem! In that case, what we will do is to schedule a bit of timefor you to talk with someone whodoes know the code, or who wantsto 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, werecommend that you link to the relevant parts of therustc API docs.
The guide has a much lower bar for what it takes for a PR to be merged.Check out the forge documentation forour policy.
To build a local static HTML site, installmdbook with:
cargo install mdbook mdbook-linkcheck2 mdbook-mermaidand execute the following command in the root of the repository:
mdbook build --openThe build files are found in thebook/html directory.
We usemdbook-linkcheck2 to validate URLs included in our documentation.Link checking isnot run by default locally, though it is in CI.To enable it locally, set the environment variableENABLE_LINKCHECK=1 like in thefollowing example.
ENABLE_LINKCHECK=1 mdbook serveThis repository is linked torust-lang/rust as ajosh subtree.You can use therustc-josh-sync tool to perform synchronization.
You can find a guide on how to perform the synchronizationhere.
About
A guide to how rustc works and how to contribute to it.
Topics
Resources
License
Apache-2.0, MIT licenses found
Licenses found
Code of conduct
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.