Skip to content

Latest commit

 

History

History
48 lines (43 loc) · 6.83 KB

working-areas.md

File metadata and controls

48 lines (43 loc) · 6.83 KB

Working Areas

Much of the ongoing work and initiatives from the compiler team are performed by groups of people interested in specific areas of work. These groups of 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. Here is a list of areas where work is being carried on:

Name Status Short Description Zulip Stream
Async-await Implementation Active Implementing async-await #wg-async
Diagnostics Active Use crates.io crates for diagnostics rendering and make emitting diagnostics nicer. #t-compiler/diagnostics
LLVM Active Working with LLVM upstream to represent Rust in its development #t-compiler/llvm
MIR Optimizations Active Write MIR optimizations and refactor the MIR to be more optimizable. #t-compiler/mir-opts
Parallel-rustc Paused Making parallel compilation the default for rustc #t-compiler/parallel-rustc
Polonius Active Exploring the integration of the "NLL 2.0"-like "Polonius analysis" into rustc #t-types/polonius
RLS 2.0 Active Experimenting with a new compiler architecture tailored for IDEs #t-compiler/rust-analyzer
Rustc Dev Guide Active Make the compiler easier to learn by ensuring that rustc-dev-guide is "complete" #t-compiler/rustc-dev-guide

For historical record here's a list of Working Groups that are not active anymore (either because they reached their goals or because work stalled):

Name Status Short Description Zulip Stream
Meta Paused How compiler team organizes itself #z-archived-t-compiler/wg-meta
Non-Lexical Lifetimes (NLL) Retired Implementing non-lexical lifetimes #z-archived-t-compiler/wg-nll
Polymorphization Active Implement an analysis to detect when functions can remain polymorphic during code generation. #z-archived-t-compiler/wg-polymorphization
Prioritization Active Triaging bugs, mainly deciding if bugs are critical (potential release blockers) or not. #t-compiler/prioritization
Profile-Guided Optimization Retired Implementing profile-guided optimization for rustc #z-archived-t-compiler/wg-profile-guided-optimization
RFC 2229 Retired Make a closure capture individual fields of the variable rather than the entire composite variable #z-archived-t-compiler/wg-rfc-2229
Rustc pipelining Retired Enable Cargo to invoke rustc in a pipelined fashion, speeding up crate graph compiles. #z-archived-t-compiler/wg-pipelining
Self-Profile Active Improving the -Z self-profile feature #z-archived-t-compiler/wg-self-profile
Traits Active Improving the trait-system design + implementation #z-archived-t-compiler/wg-traits