👋 Introduction
⚙️ 2024H2 goal process
1.
Overview
2.
Goals
❱
2.1.
Bring the Async Rust experience closer to parity with sync Rust
2.2.
Resolve the biggest blockers to Linux building on stable Rust
2.3.
Rust 2024 Edition
2.1.
"Stabilizable" prototype for expanded const generics
2.2.
Assemble project goal slate
2.3.
Associated type position impl trait
2.4.
Begin resolving `cargo-semver-checks` blockers for merging into cargo
2.5.
Const traits
2.6.
Ergonomic ref-counting
2.7.
Explore sandboxed build scripts
2.8.
Expose experimental LLVM features for automatic differentiation and GPU offloading
2.9.
Extend pubgrub to match cargo's dependency resolution
2.10.
Implement "merged doctests" to save doctest time
2.11.
Make Rustdoc Search easier to learn
2.12.
Next-generation trait solver
2.13.
Optimizing Clippy & linting
2.14.
Patterns of empty types
2.15.
Provided reasons for yanked crates
2.16.
Scalable Polonius support on nightly
2.17.
Stabilize cargo-script
2.18.
Stabilize doc_cfg
2.19.
Stabilize parallel front end
2.20.
Survey tools suitability for Std safety verification
2.21.
Testing infra + contributors for a-mir-formality
2.22.
Use annotate-snippets for rustc diagnostic output
2.23.
User-wide build cache
3.
Goals not accepted
❱
3.1.
Contracts and Invariants
3.2.
Experiment with relaxing the Orphan Rule
3.3.
Faster build experience
3.4.
Reduce clones and unwraps, support partial borrows
3.5.
Seamless C support
4.
General notes
⏳ 2025H1 goal process
5.
Overview
6.
Proposed goals
❱
6.1.
Bring the Async Rust experience closer to parity with sync Rust
6.2.
Organize Rust All-Hands 2025
6.3.
Stabilize tooling needed by Rust for Linux
6.1.
"Stabilizable" prototype for expanded const generics
6.2.
Continue resolving `cargo-semver-checks` blockers for merging into cargo
6.3.
Declarative (`macro_rules!`) macro improvements
6.4.
Evaluate approaches for seamless interop between C++ and Rust
6.5.
Experiment with ergonomic ref-counting
6.6.
Expose experimental LLVM features for GPU offloading
6.7.
Extend pubgrub to match cargo's dependency resolution
6.8.
Externally Implementable Items
6.9.
Field Projections
6.10.
Finish the libtest json output experiment
6.11.
Implement Open API Namespace Support
6.12.
Implement restrictions, prepare for stabilization
6.13.
Improve state machine codegen
6.14.
Instrument the Rust standard library with safety contracts
6.15.
Integration of the FLS into the Rust Project
6.16.
Making compiletest more maintainable: reworking directive handling
6.17.
Metrics Initiative
6.18.
Model coherence in a-mir-formality
6.19.
Next-generation trait solver
6.20.
Nightly support for ergonomic SIMD multiversioning
6.21.
Null and enum-discriminant runtime checks in debug builds
6.22.
Optimizing Clippy & linting
6.23.
Promoting Parallel Front End
6.24.
Prototype a new set of Cargo "plumbing" commands
6.25.
Publish first version of StableMIR on crates.io
6.26.
Research: How to achieve safety when linking separately compiled code
6.27.
Run the 2025H1 project goal program
6.28.
Rust Specification Testing
6.29.
Rust Vision Document
6.30.
SVE and SME on AArch64
6.31.
Scalable Polonius support on nightly
6.32.
Secure quorum-based cryptographic verification and mirroring for crates.io
6.33.
Stabilize public/private dependencies
6.34.
Unsafe Fields
6.35.
Use annotate-snippets for rustc diagnostic output
6.36.
build-std
6.37.
rustc-perf improvements
7.
Goals not accepted
📖 Learn about
8.
Goal motivations
9.
Flagship goals
10.
Invited goals
11.
Point of contact
12.
Task owners
13.
Design axioms
14.
RFC
❓ How to
15.
Propose a new goal
❱
15.1.
Template for new goals
16.
Report status on active goal
🔧 Running the goals program
17.
The goals team
18.
Running the program
❱
18.1.
Team coordination
18.2.
Call for proposals
18.3.
Preparing the RFC
18.4.
Authoring monthly updates
18.5.
Sample texts
❱
18.5.1.
Sample: Call for Proposal blog post
18.5.2.
Sample: Text for the main README
18.5.3.
Sample: Starting RFC text
18.5.4.
Sample: Goals page
19.
Technical reference
❱
19.1.
Overall setup
19.2.
Mdbook plugin details
19.3.
cargo rpg command reference
❱
19.3.1.
rfc, export RFC text
19.3.2.
fcp, create the FCP merge comment
19.3.3.
issues, creating tracking issues
19.3.4.
updates, create monthly blog post summary
Light
Rust
Coal
Navy
Ayu
Rust Project Goals
Technical reference