👋 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.
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.
Invited goals
10.
Point of contact
11.
Task owners
12.
Design axioms
13.
RFC
❓ How to
14.
Propose a new goal
❱
14.1.
Template for new goals
15.
Report status on active goal
🔧 Running the goals program
16.
The goals team
17.
Running the program
❱
17.1.
Sample: Call for Proposal blog post
17.2.
Sample: Text for the main README
17.3.
Sample: Starting RFC text
17.4.
Sample: Goals page
18.
Overall setup
19.
Mdbook plugin details
20.
Commands you can run
❱
20.1.
issues, creating tracking issues
20.2.
updates, create monthly blog post summary
Light
Rust
Coal
Navy
Ayu
Rust Project Goals
RFC
The RFC proposing the goal program has been opened. See
RFC #3614
.