- 👋 Introduction
- ⏳ 2026 goal process
- 1. Overview
- 2. Proposed goals
- 3. Goals not accepted
- ⚙️ 2025H2 goal process
- 4. Overview
- 5. Goals
❱
- 5.1. Reborrow traits
- 5.2. build-std
- 5.3. Stabilize cargo-script
- 5.4. Ergonomic ref-counting: RFC decision and preview
- 5.5. Evolving trait hierarchies
- 5.6. Design a language feature to solve Field Projections
- 5.7. In-place initialization
- 5.8. Next-generation trait solver
- 5.9. Promoting Parallel Front End
- 5.10. Continue Experimentation with Pin Ergonomics
- 5.11. Stabilizable Polonius support on nightly
- 5.12. Production-ready cranelift backend
- 5.13. Relink don't Rebuild
- 5.1. Develop the capabilities to keep the FLS up to date
- 5.2. Getting Rust for Linux into stable Rust: compiler features
- 5.3. Getting Rust for Linux into stable Rust: language features
- 5.4. Borrow checking in a-mir-formality
- 5.5. Prototype Cargo build analysis
- 5.6. Rework Cargo Build Dir Layout
- 5.7. Prototype a new set of Cargo "plumbing" commands
- 5.8. Continue resolving `cargo-semver-checks` blockers for merging into cargo
- 5.9. Emit Retags in Codegen
- 5.10. Comprehensive niche checks for Rust
- 5.11. Const Generics
- 5.12. Finish the std::offload module
- 5.13. Run more tests for GCC backend in the Rust's CI
- 5.14. C++/Rust Interop Problem Space Mapping
- 5.15. Finish the libtest json output experiment
- 5.16. MIR move elimination
- 5.17. Implement Open API Namespace Support
- 5.18. Stabilize public/private dependencies
- 5.19. Expand the Rust Reference to specify more aspects of the Rust language
- 5.20. reflection and comptime
- 5.21. Rust Vision Document
- 5.22. rustc-perf improvements
- 5.23. Stabilize rustdoc `doc_cfg` feature
- 5.24. Add a team charter for rustdoc team
- 5.25. SVE and SME on AArch64
- 5.26. Rust Stabilization of MemorySanitizer and ThreadSanitizer Support
- 5.27. Type System Documentation
- 5.28. Unsafe Fields
- 6. Goals not accepted
❱
- 6.1. Delegation
- 7. Reports
❱
- 7.1. November Blog Post
- 7.2. October Blog Post
- 7.3. September Blog Post
- 7.4. bootstrap Team Reports
❱
- 7.4.1. Recent updates
- 7.5. cargo Team Reports
❱
- 7.5.1. Recent updates
- 7.6. compiler Team Reports
❱
- 7.6.1. Recent updates
- 7.7. crates-io Team Reports
❱
- 7.7.1. Recent updates
- 7.8. infra Team Reports
❱
- 7.8.1. Recent updates
- 7.9. lang Team Reports
❱
- 7.9.1. Recent updates
- 7.10. lang-docs Team Reports
❱
- 7.10.1. Recent updates
- 7.11. libs Team Reports
❱
- 7.11.1. Recent updates
- 7.12. opsem Team Reports
❱
- 7.12.1. Recent updates
- 7.13. rustdoc Team Reports
❱
- 7.13.1. Recent updates
- 7.14. spec Team Reports
❱
- 7.14.1. Recent updates
- 7.15. types Team Reports
❱
- 7.15.1. Recent updates
- 📖 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
16. Archived goal lists
❱
- 16.1. 2025H1
❱
- 16.1.1. Goals
❱
- 16.1.1.1. Organize Rust All-Hands 2025
- 16.1.1.2. SVE and SME on AArch64
- 16.1.1.3. Bring the Async Rust experience closer to parity with sync Rust
- 16.1.1.4. Stabilize tooling needed by Rust for Linux
- 16.1.1.1. Expose experimental LLVM features for GPU offloading
- 16.1.1.2. Scalable Polonius support on nightly
- 16.1.1.3. Use annotate-snippets for rustc diagnostic output
- 16.1.1.4. build-std
- 16.1.1.5. Prototype a new set of Cargo "plumbing" commands
- 16.1.1.6. Stabilize cargo-script
- 16.1.1.7. Continue resolving `cargo-semver-checks` blockers for merging into cargo
- 16.1.1.8. Making compiletest more maintainable: reworking directive handling
- 16.1.1.9. Prepare const traits for stabilization
- 16.1.1.10. Externally Implementable Items
- 16.1.1.11. Experiment with ergonomic ref-counting
- 16.1.1.12. Model coherence in a-mir-formality
- 16.1.1.13. Improve state machine codegen
- 16.1.1.14. Finish the libtest json output experiment
- 16.1.1.15. Declarative (`macro_rules!`) macro improvements
- 16.1.1.16. Metrics Initiative
- 16.1.1.17. "Stabilizable" prototype for expanded const generics
- 16.1.1.18. Next-generation trait solver
- 16.1.1.19. Null and enum-discriminant runtime checks in debug builds
- 16.1.1.20. Implement Open API Namespace Support
- 16.1.1.21. Optimizing Clippy & linting
- 16.1.1.22. Promoting Parallel Front End
- 16.1.1.23. rustc-perf improvements
- 16.1.1.24. Stabilize public/private dependencies
- 16.1.1.25. Extend pubgrub to match cargo's dependency resolution
- 16.1.1.26. Implement restrictions, prepare for stabilization
- 16.1.1.27. Rust Vision Document
- 16.1.1.28. Research: How to achieve safety when linking separately compiled code
- 16.1.1.29. Evaluate approaches for seamless interop between C++ and Rust
- 16.1.1.30. Nightly support for ergonomic SIMD multiversioning
- 16.1.1.31. Publish first rust-lang-owned release of "FLS"
- 16.1.1.32. Run the 2025H1 project goal program
- 16.1.1.33. Publish first version of StableMIR on crates.io
- 16.1.1.34. Instrument the Rust standard library with safety contracts
- 16.1.1.35. Unsafe Fields
- 16.1.1.36. Secure quorum-based cryptographic verification and mirroring for crates.io
- 16.1.2. Goals not accepted
❱
- 16.1.2.1. Field Projections
- 16.1.2.2. Rust Specification Testing
- 16.2. 2024H2
❱
- 16.2.1. Goals
❱
- 16.2.1.1. Rust 2024 Edition
- 16.2.1.2. Bring the Async Rust experience closer to parity with sync Rust
- 16.2.1.3. Resolve the biggest blockers to Linux building on stable Rust
- 16.2.1.1. Associated type position impl trait
- 16.2.1.2. Patterns of empty types
- 16.2.1.3. Scalable Polonius support on nightly
- 16.2.1.4. Assemble project goal slate
- 16.2.1.5. Expose experimental LLVM features for automatic differentiation and GPU offloading
- 16.2.1.6. Testing infra + contributors for a-mir-formality
- 16.2.1.7. Use annotate-snippets for rustc diagnostic output
- 16.2.1.8. Stabilize cargo-script
- 16.2.1.9. Begin resolving `cargo-semver-checks` blockers for merging into cargo
- 16.2.1.10. Const traits
- 16.2.1.11. Stabilize doc_cfg
- 16.2.1.12. Ergonomic ref-counting
- 16.2.1.13. Implement "merged doctests" to save doctest time
- 16.2.1.14. "Stabilizable" prototype for expanded const generics
- 16.2.1.15. Next-generation trait solver
- 16.2.1.16. Optimizing Clippy & linting
- 16.2.1.17. Stabilize parallel front end
- 16.2.1.18. Extend pubgrub to match cargo's dependency resolution
- 16.2.1.19. Make Rustdoc Search easier to learn
- 16.2.1.20. Explore sandboxed build scripts
- 16.2.1.21. Survey tools suitability for Std safety verification
- 16.2.1.22. User-wide build cache
- 16.2.1.23. Provided reasons for yanked crates
- 16.2.2. Goals not accepted
❱
- 16.2.2.1. Contracts and Invariants
- 16.2.2.2. Experiment with relaxing the Orphan Rule
- 16.2.2.3. Seamless C support
- 16.2.2.4. Reduce clones and unwraps, support partial borrows
- 16.2.2.5. Faster build experience
- 16.2.3. General notes
- ❓ How to
- 17. Propose a new goal
❱
- 17.1. Template for new goals
- 18. Report status on active goal
- 🔧 Running the goals program
- 19. The goals team
- 20. Running the program
❱
- 20.1. Team coordination
- 20.2. Call for proposals
- 20.3. Preparing the RFC
- 20.4. Merging the RFC
- 20.5. Authoring monthly updates
- 20.6. Sample texts
❱
- 20.6.1. Sample: Call for Proposal blog post
- 20.6.2. Sample: Text for the main README
- 20.6.3. Sample: Starting RFC text
- 20.6.4. Sample: Goals page
- 21. Technical reference
❱
- 21.1. Overall setup
- 21.2. Mdbook plugin details
- 21.3. cargo rpg command reference
❱
- 21.3.1. rfc, export RFC text
- 21.3.2. fcp, create the FCP merge comment
- 21.3.3. issues, creating tracking issues
- 21.3.4. updates, create monthly blog post summary