A home for compiler team planning documents, meeting minutes, and other such things. If you're interested in learning about how rustc works -- as well as advice on building the compiler, preparing a PR, and other similar topics -- check out the rustc-guide.
- Where to find us: We are primarily present on Zulip, though some of us also monitor Discord.
- Want to attend a meeting or follow along? See the "meeting calendar" section below.
- Looking for technical information about how the compiler works? Check out the rustc-guide.
Unless otherwise noted, all our meetings are open to the public and held on Zulip. There are two main team-wide meetings that we hold as a regular basis. There are also a variety of working group meetings. The team-wide meetings are as follows:
- Triage meeting: We have a weekly triage meeting to discuss and track regressions and urgent changes. This meeting is held on Zulip and open to anyone.
- Steering meeting: We have a steering meeting every three weeks to track and plan our larger goals. This meeting is held on Zulip and open to anyone.
Our meeting calendar is publicly available from the following links:
- CalDav Link -- use this if you use Google Calendar
- ICS file, for use outside from google calendar -- you probably want this otherwise
- Minutes from steering meetings: The compiler steering meeting is where we do high-level discussion. These minutes summarize our conversations.
Much of the ongoing work and initiatives from the compiler team are performed by working groups. Working groups are a great way for new contributors to get involved as they provide a stream of tasks all focused around one area and have designated channels for help and advice. All of the active working groups are listed below:
Name | Leads | Short Description | Start Date | Status | Zulip Stream | Regular meetings | Labels |
---|---|---|---|---|---|---|---|
Async-await Implementation | @nikomatsakis and @cramertj | Implementing async-await | February 2019 | Active | #t-compiler/wg-async-await | N/A | A-async-await |
LLVM | Preliminarily @nagisa | Working with LLVM upstream to represent Rust in its development | N/A | Incubating | N/A | N/A | A-LLVM |
Meta | @nikomatsakis, @davidtwco and @spastorino | How compiler team organizes itself | February 2019 | Active | #t-compiler/wg-meta | N/A | N/A |
Non-lexical lifetimes (NLL) | @nikomatsakis and @pnkfelix | Implementing non-lexical lifetimes | June 2017 | Winding down | #t-compiler/wg-nll | Weekly, in Zulip (optional) | A-NLL, NLL-* |
Traits | @nikomatsakis | Improving the trait-system design + implementation | February 2019 | Active | #t-compiler/wg-traits | Weekly, in Zulip (optional) | A-traits |
Self-Profile | @michaelwoerister and @wesleywiser | Improving the -Z self-profile feature |
March 2019 | Active | #t-compiler/wg-self-profile | N/A | N/A |
RLS 2.0 | @matklad | Experimenting with a new compiler architecture tailored for IDEs | February 2019 | Active | #t-compiler/wg-rls2.0 | N/A | N/A |
Parallel-rustc | @Zoxc and @michaelwoerister | Making parallel compilation the default for rustc | February 2019 | Active | #t-compiler/wg-parallel-rustc | N/A | A-parallel-queries |
Profile-Guided Optimization | @michaelwoerister | Implementing profile-guided optimization for rustc | February 2019 | Active | #t-compiler/wg-profile-guided-optimization | N/A | N/A |
rfc-2229 | @blitzerr and @nikomatsakis | Make a closure capture individual fields of the variable rather than the entire composite variable | March 2019 | Active | #t-compiler/wg-rfc-2229 | N/A | N/A |
The procedures directory contains descriptions of various rustc procedures.
All interactions on this repository (whether on issues, PRs, or elsewhere) are governed by the Rust Code of Conduct.
Further, all content on this repository is subject to the standard Rust licensing.