- 👋 Introduction
- ⚙️ 2025H2 goal process
- 1. Overview
- 2. Goals
❱
- 2.1. Reborrow traits
- 2.2. build-std
- 2.3. Stabilize cargo-script
- 2.4. Ergonomic ref-counting: RFC decision and preview
- 2.5. Evolving trait hierarchies
- 2.6. Design a language feature to solve Field Projections
- 2.7. In-place initialization
- 2.8. Next-generation trait solver
- 2.9. Promoting Parallel Front End
- 2.10. Continue Experimentation with Pin Ergonomics
- 2.11. Stabilizable Polonius support on nightly
- 2.12. Production-ready cranelift backend
- 2.13. Relink don't Rebuild
- 2.1. Develop the capabilities to keep the FLS up to date
- 2.2. Getting Rust for Linux into stable Rust: compiler features
- 2.3. Getting Rust for Linux into stable Rust: language features
- 2.4. Borrow checking in a-mir-formality
- 2.5. Prototype Cargo build analysis
- 2.6. Rework Cargo Build Dir Layout
- 2.7. Prototype a new set of Cargo "plumbing" commands
- 2.8. Continue resolving `cargo-semver-checks` blockers for merging into cargo
- 2.9. Emit Retags in Codegen
- 2.10. Comprehensive niche checks for Rust
- 2.11. Const Generics
- 2.12. Finish the std::offload module
- 2.13. Run more tests for GCC backend in the Rust's CI
- 2.14. C++/Rust Interop Problem Space Mapping
- 2.15. Finish the libtest json output experiment
- 2.16. MIR move elimination
- 2.17. Implement Open API Namespace Support
- 2.18. Stabilize public/private dependencies
- 2.19. Expand the Rust Reference to specify more aspects of the Rust language
- 2.20. reflection and comptime
- 2.21. Rust Vision Document
- 2.22. rustc-perf improvements
- 2.23. Stabilize rustdoc `doc_cfg` feature
- 2.24. Add a team charter for rustdoc team
- 2.25. SVE and SME on AArch64
- 2.26. Rust Stabilization of MemorySanitizer and ThreadSanitizer Support
- 2.27. Type System Documentation
- 2.28. Unsafe Fields
- 3. Goals not accepted
❱
- 3.1. Delegation
- 4. Reports
❱
- 4.1. October Blog Post
- 4.2. September Blog Post
- 4.3. bootstrap Team Reports
❱
- 4.3.1. October 2025
- 4.3.2. September 2025
- 4.4. cargo Team Reports
❱
- 4.4.1. October 2025
- 4.4.2. September 2025
- 4.5. compiler Team Reports
❱
- 4.5.1. October 2025
- 4.5.2. September 2025
- 4.6. crates-io Team Reports
❱
- 4.6.1. October 2025
- 4.6.2. September 2025
- 4.7. infra Team Reports
❱
- 4.7.1. October 2025
- 4.7.2. September 2025
- 4.8. lang Team Reports
❱
- 4.8.1. October 2025
- 4.8.2. September 2025
- 4.9. lang-docs Team Reports
❱
- 4.9.1. October 2025
- 4.9.2. September 2025
- 4.10. libs Team Reports
❱
- 4.10.1. October 2025
- 4.10.2. September 2025
- 4.11. opsem Team Reports
❱
- 4.11.1. October 2025
- 4.11.2. September 2025
- 4.12. rustdoc Team Reports
❱
- 4.12.1. October 2025
- 4.12.2. September 2025
- 4.13. spec Team Reports
❱
- 4.13.1. October 2025
- 4.13.2. September 2025
- 4.14. types Team Reports
❱
- 4.14.1. October 2025
- 4.14.2. September 2025
- ⏳ 2026H1 goal process
5. Not yet started
- 📖 Learn about
- 6. Goal motivations
- 7. Flagship goals
- 8. Invited goals
- 9. Point of contact
- 10. Team asks
- 11. Task owners
- 12. Design axioms
- 13. RFC
14. Archived goal lists
❱
- 14.1. 2025H1
❱
- 14.1.1. Goals
❱
- 14.1.1.1. Organize Rust All-Hands 2025
- 14.1.1.2. SVE and SME on AArch64
- 14.1.1.3. Bring the Async Rust experience closer to parity with sync Rust
- 14.1.1.4. Stabilize tooling needed by Rust for Linux
- 14.1.1.1. Expose experimental LLVM features for GPU offloading
- 14.1.1.2. Scalable Polonius support on nightly
- 14.1.1.3. Use annotate-snippets for rustc diagnostic output
- 14.1.1.4. build-std
- 14.1.1.5. Prototype a new set of Cargo "plumbing" commands
- 14.1.1.6. Stabilize cargo-script
- 14.1.1.7. Continue resolving `cargo-semver-checks` blockers for merging into cargo
- 14.1.1.8. Making compiletest more maintainable: reworking directive handling
- 14.1.1.9. Prepare const traits for stabilization
- 14.1.1.10. Externally Implementable Items
- 14.1.1.11. Experiment with ergonomic ref-counting
- 14.1.1.12. Model coherence in a-mir-formality
- 14.1.1.13. Improve state machine codegen
- 14.1.1.14. Finish the libtest json output experiment
- 14.1.1.15. Declarative (`macro_rules!`) macro improvements
- 14.1.1.16. Metrics Initiative
- 14.1.1.17. "Stabilizable" prototype for expanded const generics
- 14.1.1.18. Next-generation trait solver
- 14.1.1.19. Null and enum-discriminant runtime checks in debug builds
- 14.1.1.20. Implement Open API Namespace Support
- 14.1.1.21. Optimizing Clippy & linting
- 14.1.1.22. Promoting Parallel Front End
- 14.1.1.23. rustc-perf improvements
- 14.1.1.24. Stabilize public/private dependencies
- 14.1.1.25. Extend pubgrub to match cargo's dependency resolution
- 14.1.1.26. Implement restrictions, prepare for stabilization
- 14.1.1.27. Rust Vision Document
- 14.1.1.28. Research: How to achieve safety when linking separately compiled code
- 14.1.1.29. Evaluate approaches for seamless interop between C++ and Rust
- 14.1.1.30. Nightly support for ergonomic SIMD multiversioning
- 14.1.1.31. Publish first rust-lang-owned release of "FLS"
- 14.1.1.32. Run the 2025H1 project goal program
- 14.1.1.33. Publish first version of StableMIR on crates.io
- 14.1.1.34. Instrument the Rust standard library with safety contracts
- 14.1.1.35. Unsafe Fields
- 14.1.1.36. Secure quorum-based cryptographic verification and mirroring for crates.io
- 14.1.2. Goals not accepted
❱
- 14.1.2.1. Field Projections
- 14.1.2.2. Rust Specification Testing
- 14.2. 2024H2
❱
- 14.2.1. Goals
❱
- 14.2.1.1. Rust 2024 Edition
- 14.2.1.2. Bring the Async Rust experience closer to parity with sync Rust
- 14.2.1.3. Resolve the biggest blockers to Linux building on stable Rust
- 14.2.1.1. Associated type position impl trait
- 14.2.1.2. Patterns of empty types
- 14.2.1.3. Scalable Polonius support on nightly
- 14.2.1.4. Assemble project goal slate
- 14.2.1.5. Expose experimental LLVM features for automatic differentiation and GPU offloading
- 14.2.1.6. Testing infra + contributors for a-mir-formality
- 14.2.1.7. Use annotate-snippets for rustc diagnostic output
- 14.2.1.8. Stabilize cargo-script
- 14.2.1.9. Begin resolving `cargo-semver-checks` blockers for merging into cargo
- 14.2.1.10. Const traits
- 14.2.1.11. Stabilize doc_cfg
- 14.2.1.12. Ergonomic ref-counting
- 14.2.1.13. Implement "merged doctests" to save doctest time
- 14.2.1.14. "Stabilizable" prototype for expanded const generics
- 14.2.1.15. Next-generation trait solver
- 14.2.1.16. Optimizing Clippy & linting
- 14.2.1.17. Stabilize parallel front end
- 14.2.1.18. Extend pubgrub to match cargo's dependency resolution
- 14.2.1.19. Make Rustdoc Search easier to learn
- 14.2.1.20. Explore sandboxed build scripts
- 14.2.1.21. Survey tools suitability for Std safety verification
- 14.2.1.22. User-wide build cache
- 14.2.1.23. Provided reasons for yanked crates
- 14.2.2. Goals not accepted
❱
- 14.2.2.1. Contracts and Invariants
- 14.2.2.2. Experiment with relaxing the Orphan Rule
- 14.2.2.3. Seamless C support
- 14.2.2.4. Reduce clones and unwraps, support partial borrows
- 14.2.2.5. Faster build experience
- 14.2.3. General notes
- ❓ 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. Merging the RFC
- 18.5. Authoring monthly updates
- 18.6. Sample texts
❱
- 18.6.1. Sample: Call for Proposal blog post
- 18.6.2. Sample: Text for the main README
- 18.6.3. Sample: Starting RFC text
- 18.6.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