1. 👋 Introduction
  2. ⚙️ 2025H1 goal process
  3. 1. Overview
  4. 2. Goals
    ❱
    1. 2.1. Bring the Async Rust experience closer to parity with sync Rust
    2. 2.2. Organize Rust All-Hands 2025
    3. 2.3. Stabilize tooling needed by Rust for Linux
    4. 2.1. "Stabilizable" prototype for expanded const generics
    5. 2.2. Continue resolving `cargo-semver-checks` blockers for merging into cargo
    6. 2.3. Declarative (`macro_rules!`) macro improvements
    7. 2.4. Evaluate approaches for seamless interop between C++ and Rust
    8. 2.5. Experiment with ergonomic ref-counting
    9. 2.6. Expose experimental LLVM features for GPU offloading
    10. 2.7. Extend pubgrub to match cargo's dependency resolution
    11. 2.8. Externally Implementable Items
    12. 2.9. Finish the libtest json output experiment
    13. 2.10. Implement Open API Namespace Support
    14. 2.11. Implement restrictions, prepare for stabilization
    15. 2.12. Improve state machine codegen
    16. 2.13. Instrument the Rust standard library with safety contracts
    17. 2.14. Making compiletest more maintainable: reworking directive handling
    18. 2.15. Metrics Initiative
    19. 2.16. Model coherence in a-mir-formality
    20. 2.17. Next-generation trait solver
    21. 2.18. Nightly support for ergonomic SIMD multiversioning
    22. 2.19. Null and enum-discriminant runtime checks in debug builds
    23. 2.20. Optimizing Clippy & linting
    24. 2.21. Prepare const traits for stabilization
    25. 2.22. Promoting Parallel Front End
    26. 2.23. Prototype a new set of Cargo "plumbing" commands
    27. 2.24. Publish first rust-lang-owned release of "FLS"
    28. 2.25. Publish first version of StableMIR on crates.io
    29. 2.26. Research: How to achieve safety when linking separately compiled code
    30. 2.27. Run the 2025H1 project goal program
    31. 2.28. Rust Vision Document
    32. 2.29. SVE and SME on AArch64
    33. 2.30. Scalable Polonius support on nightly
    34. 2.31. Secure quorum-based cryptographic verification and mirroring for crates.io
    35. 2.32. Stabilize public/private dependencies
    36. 2.33. Unsafe Fields
    37. 2.34. Use annotate-snippets for rustc diagnostic output
    38. 2.35. build-std
    39. 2.36. rustc-perf improvements
  5. 3. Goals not accepted
    ❱
    1. 3.1. Field Projections
    2. 3.2. Rust Specification Testing
  6. ⏳ 2025H2 goal process
  7. 4. Not yet started
  8. 📖 Learn about
  9. 5. Goal motivations
  10. 6. Flagship goals
  11. 7. Invited goals
  12. 8. Point of contact
  13. 9. Team asks
  14. 10. Task owners
  15. 11. Design axioms
  16. 12. RFC
  17. 13. Archived goal lists
    ❱
    1. 13.1. 2024H2
      ❱
      1. 13.1.1. Goals
        ❱
        1. 13.1.1.1. Bring the Async Rust experience closer to parity with sync Rust
        2. 13.1.1.2. Resolve the biggest blockers to Linux building on stable Rust
        3. 13.1.1.3. Rust 2024 Edition
        4. 13.1.1.1. "Stabilizable" prototype for expanded const generics
        5. 13.1.1.2. Assemble project goal slate
        6. 13.1.1.3. Associated type position impl trait
        7. 13.1.1.4. Begin resolving `cargo-semver-checks` blockers for merging into cargo
        8. 13.1.1.5. Const traits
        9. 13.1.1.6. Ergonomic ref-counting
        10. 13.1.1.7. Explore sandboxed build scripts
        11. 13.1.1.8. Expose experimental LLVM features for automatic differentiation and GPU offloading
        12. 13.1.1.9. Extend pubgrub to match cargo's dependency resolution
        13. 13.1.1.10. Implement "merged doctests" to save doctest time
        14. 13.1.1.11. Make Rustdoc Search easier to learn
        15. 13.1.1.12. Next-generation trait solver
        16. 13.1.1.13. Optimizing Clippy & linting
        17. 13.1.1.14. Patterns of empty types
        18. 13.1.1.15. Provided reasons for yanked crates
        19. 13.1.1.16. Scalable Polonius support on nightly
        20. 13.1.1.17. Stabilize cargo-script
        21. 13.1.1.18. Stabilize doc_cfg
        22. 13.1.1.19. Stabilize parallel front end
        23. 13.1.1.20. Survey tools suitability for Std safety verification
        24. 13.1.1.21. Testing infra + contributors for a-mir-formality
        25. 13.1.1.22. Use annotate-snippets for rustc diagnostic output
        26. 13.1.1.23. User-wide build cache
      2. 13.1.2. Goals not accepted
        ❱
        1. 13.1.2.1. Contracts and Invariants
        2. 13.1.2.2. Experiment with relaxing the Orphan Rule
        3. 13.1.2.3. Faster build experience
        4. 13.1.2.4. Reduce clones and unwraps, support partial borrows
        5. 13.1.2.5. Seamless C support
      3. 13.1.3. General notes
  18. ❓ How to
  19. 14. Propose a new goal
    ❱
    1. 14.1. Template for new goals
  20. 15. Report status on active goal
  21. 🔧 Running the goals program
  22. 16. The goals team
  23. 17. Running the program
    ❱
    1. 17.1. Team coordination
    2. 17.2. Call for proposals
    3. 17.3. Preparing the RFC
    4. 17.4. Merging the RFC
    5. 17.5. Authoring monthly updates
    6. 17.6. Sample texts
      ❱
      1. 17.6.1. Sample: Call for Proposal blog post
      2. 17.6.2. Sample: Text for the main README
      3. 17.6.3. Sample: Starting RFC text
      4. 17.6.4. Sample: Goals page
  24. 18. Technical reference
    ❱
    1. 18.1. Overall setup
    2. 18.2. Mdbook plugin details
    3. 18.3. cargo rpg command reference
      ❱
      1. 18.3.1. rfc, export RFC text
      2. 18.3.2. fcp, create the FCP merge comment
      3. 18.3.3. issues, creating tracking issues
      4. 18.3.4. updates, create monthly blog post summary

Rust Project Goals

Technical reference