👋 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.
Finish the libtest json output experiment
6.10.
Implement Open API Namespace Support
6.11.
Implement restrictions, prepare for stabilization
6.12.
Improve state machine codegen
6.13.
Instrument the Rust standard library with safety contracts
6.14.
Making compiletest more maintainable: reworking directive handling
6.15.
Metrics Initiative
6.16.
Model coherence in a-mir-formality
6.17.
Next-generation trait solver
6.18.
Nightly support for ergonomic SIMD multiversioning
6.19.
Null and enum-discriminant runtime checks in debug builds
6.20.
Optimizing Clippy & linting
6.21.
Prepare const traits for stabilization
6.22.
Promoting Parallel Front End
6.23.
Prototype a new set of Cargo "plumbing" commands
6.24.
Publish first rust-lang-owned release of "FLS"
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 Vision Document
6.29.
SVE and SME on AArch64
6.30.
Scalable Polonius support on nightly
6.31.
Secure quorum-based cryptographic verification and mirroring for crates.io
6.32.
Stabilize public/private dependencies
6.33.
Unsafe Fields
6.34.
Use annotate-snippets for rustc diagnostic output
6.35.
build-std
6.36.
rustc-perf improvements
7.
Goals not accepted
❱
7.1.
Field Projections
7.2.
Rust Specification Testing
📖 Learn about
8.
Goal motivations
9.
Flagship goals
10.
Invited goals
11.
Point of contact
12.
Team asks
13.
Task owners
14.
Design axioms
15.
RFC
❓ How to
16.
Propose a new goal
❱
16.1.
Template for new goals
17.
Report status on active goal
🔧 Running the goals program
18.
The goals team
19.
Running the program
❱
19.1.
Team coordination
19.2.
Call for proposals
19.3.
Preparing the RFC
19.4.
Authoring monthly updates
19.5.
Sample texts
❱
19.5.1.
Sample: Call for Proposal blog post
19.5.2.
Sample: Text for the main README
19.5.3.
Sample: Starting RFC text
19.5.4.
Sample: Goals page
20.
Technical reference
❱
20.1.
Overall setup
20.2.
Mdbook plugin details
20.3.
cargo rpg command reference
❱
20.3.1.
rfc, export RFC text
20.3.2.
fcp, create the FCP merge comment
20.3.3.
issues, creating tracking issues
20.3.4.
updates, create monthly blog post summary
Light
Rust
Coal
Navy
Ayu
Rust Project Goals
Sample texts