- 👋 Introduction
- ⚙️ 2025H1 goal process
- 1. Overview
- 2. Goals
❱
- 2.1. Organize Rust All-Hands 2025
- 2.2. SVE and SME on AArch64
- 2.3. Bring the Async Rust experience closer to parity with sync Rust
- 2.4. Stabilize tooling needed by Rust for Linux
- 2.1. Expose experimental LLVM features for GPU offloading
- 2.2. Scalable Polonius support on nightly
- 2.3. Use annotate-snippets for rustc diagnostic output
- 2.4. build-std
- 2.5. Prototype a new set of Cargo "plumbing" commands
- 2.6. Stabilize cargo-script
- 2.7. Continue resolving `cargo-semver-checks` blockers for merging into cargo
- 2.8. Making compiletest more maintainable: reworking directive handling
- 2.9. Prepare const traits for stabilization
- 2.10. Externally Implementable Items
- 2.11. Experiment with ergonomic ref-counting
- 2.12. Model coherence in a-mir-formality
- 2.13. Improve state machine codegen
- 2.14. Finish the libtest json output experiment
- 2.15. Declarative (`macro_rules!`) macro improvements
- 2.16. Metrics Initiative
- 2.17. "Stabilizable" prototype for expanded const generics
- 2.18. Next-generation trait solver
- 2.19. Null and enum-discriminant runtime checks in debug builds
- 2.20. Implement Open API Namespace Support
- 2.21. Optimizing Clippy & linting
- 2.22. Promoting Parallel Front End
- 2.23. rustc-perf improvements
- 2.24. Stabilize public/private dependencies
- 2.25. Extend pubgrub to match cargo's dependency resolution
- 2.26. Implement restrictions, prepare for stabilization
- 2.27. Rust Vision Document
- 2.28. Research: How to achieve safety when linking separately compiled code
- 2.29. Evaluate approaches for seamless interop between C++ and Rust
- 2.30. Nightly support for ergonomic SIMD multiversioning
- 2.31. Publish first rust-lang-owned release of "FLS"
- 2.32. Run the 2025H1 project goal program
- 2.33. Publish first version of StableMIR on crates.io
- 2.34. Instrument the Rust standard library with safety contracts
- 2.35. Unsafe Fields
- 2.36. Secure quorum-based cryptographic verification and mirroring for crates.io
- 3. Goals not accepted
❱
- 3.1. Field Projections
- 3.2. Rust Specification Testing
- ⏳ 2025H2 goal process
- 4. Overview
- 5. Proposed goals
❱
- 5.1. Nightly support for Autoreborrow 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.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. Relink don't Rebuild
- 5.22. Rust Vision Document
- 5.23. rustc-perf improvements
- 5.24. Stabilize rustdoc `doc_cfg` feature
- 5.25. Add a team charter for rustdoc team
- 5.26. SVE and SME on AArch64
- 5.27. Rust Stabilization of MemorySanitizer and ThreadSanitizer Support
- 5.28. Type System Documentation
- 5.29. Unsafe Fields
- 6. Goals not accepted
❱
- 6.1. Delegation
- 📖 Learn about
- 7. Goal motivations
- 8. Flagship goals
- 9. Invited goals
- 10. Point of contact
- 11. Team asks
- 12. Task owners
- 13. Design axioms
- 14. RFC
15. Archived goal lists
❱
- 15.1. 2024H2
❱
- 15.1.1. Goals
❱
- 15.1.1.1. Rust 2024 Edition
- 15.1.1.2. Bring the Async Rust experience closer to parity with sync Rust
- 15.1.1.3. Resolve the biggest blockers to Linux building on stable Rust
- 15.1.1.1. Associated type position impl trait
- 15.1.1.2. Patterns of empty types
- 15.1.1.3. Scalable Polonius support on nightly
- 15.1.1.4. Assemble project goal slate
- 15.1.1.5. Expose experimental LLVM features for automatic differentiation and GPU offloading
- 15.1.1.6. Testing infra + contributors for a-mir-formality
- 15.1.1.7. Use annotate-snippets for rustc diagnostic output
- 15.1.1.8. Stabilize cargo-script
- 15.1.1.9. Begin resolving `cargo-semver-checks` blockers for merging into cargo
- 15.1.1.10. Const traits
- 15.1.1.11. Stabilize doc_cfg
- 15.1.1.12. Ergonomic ref-counting
- 15.1.1.13. Implement "merged doctests" to save doctest time
- 15.1.1.14. "Stabilizable" prototype for expanded const generics
- 15.1.1.15. Next-generation trait solver
- 15.1.1.16. Optimizing Clippy & linting
- 15.1.1.17. Stabilize parallel front end
- 15.1.1.18. Extend pubgrub to match cargo's dependency resolution
- 15.1.1.19. Make Rustdoc Search easier to learn
- 15.1.1.20. Explore sandboxed build scripts
- 15.1.1.21. Survey tools suitability for Std safety verification
- 15.1.1.22. User-wide build cache
- 15.1.1.23. Provided reasons for yanked crates
- 15.1.2. Goals not accepted
❱
- 15.1.2.1. Contracts and Invariants
- 15.1.2.2. Experiment with relaxing the Orphan Rule
- 15.1.2.3. Seamless C support
- 15.1.2.4. Reduce clones and unwraps, support partial borrows
- 15.1.2.5. Faster build experience
- 15.1.3. General notes
- ❓ 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. Merging the RFC
- 19.5. Authoring monthly updates
- 19.6. Sample texts
❱
- 19.6.1. Sample: Call for Proposal blog post
- 19.6.2. Sample: Text for the main README
- 19.6.3. Sample: Starting RFC text
- 19.6.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