Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Reference: all goals and roadmaps

This section contains the complete lists of application areas, roadmaps, and goals for 2026:

  • A goal is a specific feature or project.
  • Goals are collected into larger roadmaps that tell a more complete story. A single goal can be involved in many roadmaps.
  • Roadmaps are themselves organized into distinct application areas.

Application areas

Roadmaps

RoadmapPoint of contactWhat and why
Beyond the &Tyler MandrySmart pointers (Arc, Pin, FFI wrappers) get the same ergonomics as & and &mut — reborrowing, field access, in-place init
Building blocksEd PageStable, machine-readable Cargo plumbing commands; rebuild std on stable
Constify all the thingsOliver SchererConst generics accept structs and enums; compile-time reflection means serialize(&my_struct) works without derives
Just add asyncNiko MatsakisPatterns that work in sync Rust should work in async Rust — traits, closures, drop, scoped tasks
Rust for LinuxTomas SedovicBuild the Linux kernel with only stable language features.
Safety-Critical RustPete LeVasseurMC/DC coverage, a specification that tracks stable releases, and unsafe documentation — the evidence safety assessors need
Secure your supply chainTBDAccurate SBOMs, SemVer violation detection, explicit public/private dependencies
Unblocking dormant traitsTBDNew trait solver ships, unblocking extern types, scalable vectors, and painless trait refactoring

Goals

Just because a goal is listed on this list does not mean the goal has been accepted. The owner of the goal process makes the final decisions on which goals to include and prepares an RFC to ask approval from the teams.

Goals by size

Large goals

Large goals require the engagement of entire team(s). The teams that need to engage with the goal are highlighted in bold.

Medium goals

Medium goals require support from an individual, the team champion.

GoalPoCTeamChampion
Box notation for dyn async traitHelp WantedcompilerTBD
langNiko Matsakis
typesn/a
asm_const_ptrAlice Ryhllang-docsTBD
langTBD
libs-apin/a
libsn/a
Assumptions on BindersBoxytypesBoxy
Async Future Memory OptimisationDing Xiang FeicompilerTyler Mandry
Async statemachine optimisation@diondoktercompilerTBD
BorrowSanitizerIan McCormackcompilerRalf Jung
opsemRalf Jung
infran/a
langn/a
Cargo cross workspace cacheRoss SullivancargoEd Page
cfg(no_fp_fmt_parse)@todolang-docsTBD
langTBD
libs-apin/a
libsn/a
Crate Slicing for Faster Fresh Builds@yijunyucompilerTBD
cargon/a
typesn/a
Dictionary Passing Style Experiment@Nadrieriltypeslcnr
Ergonomic ref-counting: Share trait and move expressionsHelp WantedlangNiko Matsakis
compilern/a
lang-docsn/a
libs-apin/a
Case study for experimental language specification, with integration into project teams and processesJack HueylangJosh Triplett
typesJack Huey
specn/a
Project goal - High-Level ML optimizationsManuel DrehwaldcompilerOliver Scherer
langTC
infran/a
Improve rustc_codegen_cranelift performancebjorn3compilerTBD
cargon/a
In-place initializationAlice RyhllangTBD
Incremental Systems RethoughtAlejandra GonzálezcompilerJack Huey
C++/Rust Interop Problem Space MappingJoel MarceyopsemTBD
compilern/a
langn/a
libs-apin/a
Declarative (macro_rules!) macro improvementsJosh TriplettlangJosh Triplett
Control over Drop semanticsHelp WantedcompilerTBD
langTBD
opsemn/a
typesn/a
Implement and Maintain MC/DC Coverage Support@RenjiSanncompilerTBD
project-stable-mirTBD
infran/a
Open Enums@kupiakoscompilerTBD
langTBD
libsn/a
opsemn/a
typesn/a
Nightly support for function overloading in FFI bindings@ssbrlangTBD
compilern/a
libs-apin/a
typesn/a
Continue Experimentation with Pin ErgonomicsFrank KingcompilerOliver Scherer
langTC
typesOliver Scherer
Stabilize public/private dependenciesHelp WantedcompilerTBD
cargon/a
Reborrow traitsAapo AlasuutarilangTyler Mandry
compilern/a
typesn/a
Prepare TAIT + RTN for stabilizationHelp WantedlangTC
typeslcnr
Stabilize Rust for Linux compiler featuresTomas SedoviccompilerWesley Wiser
Sized Hierarchy and Scalable VectorsDavid WoodcompilerDavid Wood
langNiko Matsakis
libs-apiAmanieu d’Antras
typeslcnr
Stabilize MemorySanitizer and ThreadSanitizer SupportJakob KoschelbootstrapTBD
compilerTBD
project-exploit-mitigationsTBD
infran/a
Stabilize Cargo SBOM precursorHelp WantedcargoTBD
Stabilize the Try traitTyler MandrylangTBD
libsTBD
compilern/a
typesn/a
Implement Supertrait auto implDing Xiang FeilangTaylor Cramer
typesTBD
used_with_arg@todolang-docsTBD
langTBD
libs-apin/a
libsn/a
Wasm ComponentsYoshua WuytscompilerTBD
langn/a
libsn/a

Small goals

Small goals are covered by standard team processes and do not require dedicated support from anyone.

Goals by champion

Champion#Goals
Amanieu d’Antras2° MIR move elimination
° Sized Hierarchy and Scalable Vectors
Boxy2° Assumptions on Binders
° Const Generics
Ralf Jung2° BorrowSanitizer
° Normative Documentation for Sound unsafe Rust
Wesley Wiser1° Stabilize Rust for Linux compiler features
Alona Enraght-Moony1° Continue resolving cargo-semver-checks blockers for merging into cargo
Boxy1° Type System Documentation
Taylor Cramer1° Implement Supertrait auto impl
David Wood1° Sized Hierarchy and Scalable Vectors
Ding Xiang Fei1° Field Projections
David Tolnay1° C++/Rust Interop Problem Space Mapping
Ed Page2° Cargo cross workspace cache
° Continue resolving cargo-semver-checks blockers for merging into cargo
Jack Huey5° Arbitrary Self Types
° Case study for experimental language specification, with integration into project teams and processes
° Expanding a-mir-formality to work better as a Rust type system spec
° Incremental Systems Rethought
° Stabilize the polonius alpha analysis
Josh Triplett3° Case study for experimental language specification, with integration into project teams and processes
° Declarative (macro_rules!) macro improvements
° reflection and comptime
lcnr5° Dictionary Passing Style Experiment
° Immobile types and guaranteed destructors
° Prepare TAIT + RTN for stabilization
° Sized Hierarchy and Scalable Vectors
° Stabilize the next-generation trait solver
Rémy Rakic1° Field Projections
Niko Matsakis6° Box notation for dyn async trait
° Const Generics
° Ergonomic ref-counting: Share trait and move expressions
° Sized Hierarchy and Scalable Vectors
° Stabilize Unsafe Fields
° Stabilize the next-generation trait solver
Oliver Scherer6° Architectural groundwork for expansion-time evaluation
° C++/Rust Interop Problem Space Mapping
° Continue Experimentation with Pin Ergonomics
° Project goal - High-Level ML optimizations
° Stabilize Const Traits
° reflection and comptime
Vadim Petrochenkov1° Architectural groundwork for expansion-time evaluation
Scott McMurray1° reflection and comptime
Tyler Mandry6° Arbitrary Self Types
° Async Future Memory Optimisation
° BorrowSanitizer
° C++/Rust Interop Problem Space Mapping
° Field Projections
° Reborrow traits
TC5° Arbitrary Self Types
° Continue Experimentation with Pin Ergonomics
° Prepare TAIT + RTN for stabilization
° Project goal - High-Level ML optimizations
° Stabilize Const Traits

Goals by team

The following table highlights the support level requested from each affected team. Each goal specifies the level of involvement needed:

  • Small: The team only needs to do routine activities (e.g., reviewing a few small PRs).
  • Medium: Dedicated support from one team member, but the rest of the team doesn’t need to be heavily involved.
  • Large: Deeper review and involvement from the entire team (e.g., design meetings, complex RFCs).

“Small” asks require someone on the team to “second” the goal. “Medium” and “Large” asks require a dedicated champion from the team.

book team

GoalLevelChampionNotes
Stabilize Unsafe FieldsSmall*1

*1: Will need approval for book changes. (from here)

bootstrap team

GoalLevelChampionNotes
Stabilize MemorySanitizer and ThreadSanitizer SupportMediumDedicated reviewer

cargo team

*1: Reviews of rust-lang/rfcs#3874 and rust-lang/rfcs#3875 and many implementation patches (from here)

*2: Design and code reviews (from here)

*3: Feedback on integration with the cargo polyfill toolchain (from here)

*4: Alignment on direction, possible integration help and review. (from here)

*5: Discussion and moral support (from here)

*6: PR reviews for Cargo changes; design discussions (from here)

*7: Code reviews and maybe a design discussion or two (from here)

*8: In case we end up pursuing JITing as a way to improve performance that will eventually need native integration with cargo run. For now we’re just prototyping, and so the occasional vibe check should be sufficient (from here)

clippy team

*1: Will need approval for clippy support. (from here)

*2: Review our initial batch of lints to ensure they provide an example of adapting the existing lint guidelines to Cargo (from here)

*3: Initial onboarding support for SCRC contributors; guidance on lint design (from here)

compiler team

GoalLevelChampionNotes
Architectural groundwork for expansion-time evaluationLargeVadim Petrochenkov*1
Redesigning super let: Flexible Temporary Lifetime ExtensionMedium
Stabilize public/private dependenciesMedium*2
MIR move eliminationMediumRFC decision
Crate Slicing for Faster Fresh BuildsMedium*3
Async statemachine optimisationMedium*4
BorrowSanitizerMediumRalf Jung*5
Open EnumsMediumImplementation reviews
reflection and comptimeMediumOliver SchererStandard reviews
Stabilize Rust for Linux compiler featuresMediumWesley WiserReviews, RfL meetings
Field ProjectionsMediumDing Xiang Fei*6
Improve rustc_codegen_cranelift performanceMedium*7
Stabilize MemorySanitizer and ThreadSanitizer SupportMediumReviews, stabilization
Control over Drop semanticsMediumImplementation reviews
Async Future Memory OptimisationMediumTyler Mandry
Sized Hierarchy and Scalable VectorsMediumDavid Wood*8
Wasm ComponentsMedium*9
Project goal - High-Level ML optimizationsMediumOliver Scherer*10
Implement and Maintain MC/DC Coverage SupportMedium*11
Evolving the standard library API across editionsMedium*12
Incremental Systems RethoughtMediumJack Huey
Continue Experimentation with Pin ErgonomicsMediumOliver SchererReviews
Box notation for dyn async traitMediumImplementation review
Const GenericsSmallCode reviews
Stabilize the Try traitSmall
Stabilize Cargo’s linting systemSmall*13
C++/Rust Interop Problem Space MappingSmallOliver SchererReviews
Ergonomic ref-counting: Share trait and move expressionsSmallReviews
Stabilize Const TraitsSmallCode reviews
Promoting Parallel Front EndSmallCode Reviews
Implement Open Rust Namespace SupportSmall*14
Stabilize cargo-scriptSmall*15
build-stdSmall*16
Reborrow traitsSmall*17
Nightly support for function overloading in FFI bindingsSmall*18
Stabilize concrete type specializationSmall
Stabilizing f16Small

*1: Significant refactoring of the resolver, reviews from Vadim Petrochenkov (from here)

*2: An implementer, design discussions, PR review (from here)

*3: Collaborate on stub rlib design and deferred compilation pass; consult on soundness and rustc internals (from here)

*4: Most will be review work, but pushing optimisations to the max will possibly touch on some controversial points that need discussion (from here)

*5: Champion: Ralf Jung. Design discussions, PR review, and upstream integration. (from here)

*6: Reviews of big changes needed; also looking for implementation help (from here)

*7: Depending on what ways we end up pursuing, we might need no rustc side changes at all or medium sized changes. (from here)

*8: Standard reviews for stabilization and SVE work (from here)

*9: Targets are small but async fn is not (from here)

*10: My changes should be contained to few places in the compiler. Potentially one frontend macro/intrinsic, and otherwise almost exclusively in the backend. (from here)

*11: Review of implementation PRs; guidance on architecture to avoid previous maintenance issues; input on Stable MIR extension feasibility (from here)

*12: Design discussions and implementation review. (from here)

*13: Review our initial batch of lints to ensure they provide an example of adapting the existing lint guidelines to Cargo (from here)

*14: Design discussions, PR review (from here)

*15: Reviewing any further compiler changes (from here)

*16: Reviews of rust-lang/rfcs#3874 and rust-lang/rfcs#3875 and any implementation patches (from here)

*17: Standard reviews for trait implementation PRs (from here)

*18: Most complexity is in the type system (from here)

crate-maintainers team

GoalLevelChampionNotes
libc 1.0 release readinessSmall

crates-io team

GoalLevelChampionNotes
build-stdSmall*1

*1: Reviews of rust-lang/rfcs#3874 and rust-lang/rfcs#3875 and any implementation patches (from here)

edition team

*1: Review the feasibility of this proposal as well as the specific API changes. (from here)

fls team

GoalLevelChampionNotes
Stabilize FLS Release CadenceLarge*1

*1: Core work of authoring and releasing FLS versions on schedule (from here)

infra team

*1: I will work with Jakub Beránek to add more bootstrap options to build and configure MLIR (an LLVM subproject) (from here)

*2: CI support for MC/DC testing (from here)

lang team

GoalLevelChampionNotes
Redesigning super let: Flexible Temporary Lifetime ExtensionLarge*1
Immobile types and guaranteed destructorsLarge*2
Const GenericsLargeNiko Matsakis*3
reflection and comptimeLargeScott McMurray*4
Field ProjectionsLargeTyler Mandry*5
Stabilize Const TraitsLargeTC*6
In-place initializationMedium*7
Prepare TAIT + RTN for stabilizationMediumTC*8
Open EnumsMedium*9
Stabilize the next-generation trait solverMediumNiko Matsakis*10
Arbitrary Self TypesMediumTyler Mandry*11
used_with_argMedium*12
Stabilize the Try traitMedium
Ergonomic ref-counting: Share trait and move expressionsMediumNiko Matsakis
cfg(no_fp_fmt_parse)Medium*13
Control over Drop semanticsMedium*14
Reborrow traitsMediumTyler Mandry*15
Sized Hierarchy and Scalable VectorsMediumNiko Matsakis*16
Case study for experimental language specification, with integration into project teams and processesMediumJosh Triplett
asm_const_ptrMedium*17
Nightly support for function overloading in FFI bindingsMedium*18
Stabilize concrete type specializationMedium*19
Project goal - High-Level ML optimizationsMediumTC*20
Declarative (macro_rules!) macro improvementsMediumJosh Triplett*21
Implement Supertrait auto implMediumTaylor Cramer*22
Continue Experimentation with Pin ErgonomicsMediumTCDesign meeting?
Box notation for dyn async traitMediumNiko MatsakisRFC decision
MIR move eliminationSmallAmanieu d’AntrasRFC decision
BorrowSanitizerSmallTyler Mandry*23
Stabilize Unsafe FieldsSmallNiko Matsakis*24
C++/Rust Interop Problem Space MappingSmallTyler MandryReviews
Stabilize cargo-scriptSmall*25
Wasm ComponentsSmall*26
Normative Documentation for Sound unsafe RustSmall*27
Evolving the standard library API across editionsSmall*28
Stabilizing f16Small*29

*1: Would need a design meeting and RFC review. (from here)

*2: Design session needed to work through design (from here)

*3: Stabilization decisions, directional alignment (from here)

*4: Design meeting, experiment (from here)

*5: Aiming for two design meetings; large language feature (from here)

*6: Semantics, syntax, and stabilization decisions (from here)

*7: Review and accept a design space RFC (from here)

*8: RFC review, design discussions (from here)

*9: Champion and (ideally) a lang meeting (from here)

*10: Stabilization decision for user facing changes (from here)

*11: Reviews, Lang/RfL meetings (from here)

*12: Reviews, Lang/RfL meetings (from here)

*13: Reviews, Lang/RfL meetings (from here)

*14: Vibe check and RFC review (from here)

*15: Continued experiment support, design feedback (from here)

*16: RFC decision for [rfcs#3838], stabilization sign-off (from here)

*17: Reviews, Lang/RfL meetings (from here)

*18: Design meeting Experiment (from here)

*19: Resolve design concerns like #[override] and review stabilization (from here)

*20: Discussions to understand which parts of gpu programming and std::offload are problematic wrt. stabilization, from a lang perspective. Non-blocking, since we are not rushing stabilization. (from here)

*21: This is a stabilization, but we have previously explored the design in detail, and it’s simple and straightforward. It should be able to take place asynchronously. Nonetheless, I can upgrade this to “Large” if people believe it rises to that level. (from here)

*22: Team aligned already on the shape of the feature (from here)

*23: Champion: Tyler Mandry. General support and guidance. (from here)

*24: Will need approval for stabilization. (from here)

*25: Stabilization discussions (from here)

*26: Experimentation with native Wasm features will need approval. May become “medium” if we are somehow really successful. (from here)

*27: Feedback on language semantics questions as needed (from here)

*28: Review of the feature and lang implications. (from here)

*29: occasionally being fast-tracked would be nice (from here)

lang-docs team

*1: Reviews, Lang/RfL meetings (from here)

*2: Reviews, Lang/RfL meetings (from here)

*3: Reviews, Lang/RfL meetings (from here)

*4: Reviews, Lang/RfL meetings (from here)

*5: Standard PR reviews for Rust Reference (from here)

*6: General discussion of shape of integration of a-mir-formality into reference (from here)

leadership-council team

GoalLevelChampionNotes
Establish a User Research TeamSmall*1

*1: Org decision to establish team, ongoing coordination (from here)

libs team

*1: Since super let affects the standard library, the library team should be on-board with any new directions it takes. Additionally, library team review may be required for changes to pin!’s implementation. (from here)

*2: Will need approval for documentation changes. (from here)

*3: Small reviews of library PRs (implementing FP for core & std types) (from here)

*4: Reviews of rust-lang/rfcs#3874 and rust-lang/rfcs#3875 and any implementation patches (from here)

*5: Threading support will need review (from here)

libs-api team

*1: Determine what API changes should be made across editions. (from here)

*2: Review RFC; review and approve stdarch SVE APIs (from here)

*3: Reviews of RFC and API surface area (from here)

*4: Would like to know if they have use cases for overloading in standard Rust, or if there are certain approaches they would like better. May be involved if experiment involves library surface area (e.g. Fn traits) (from here)

*5: PR reviews for core/std public documentation; feedback on approach. (from here)

opsem team

*1: Review unsafe patterns, establish safety contracts, guide documentation (from here)

*2: Problem statement review (from here)

*3: Doc changes if necessary (from here)

*4: Review pull requests; answer questions on Zulip when there are different opinions about specific rules (from here)

*5: Small reviews of RFC and/or compiler PRs (from here)

project-exploit-mitigations team

GoalLevelChampionNotes
Stabilize MemorySanitizer and ThreadSanitizer SupportMediumDedicated reviewer

project-stable-mir team

GoalLevelChampionNotes
Implement and Maintain MC/DC Coverage SupportMedium*1

*1: Consultation on extending Stable MIR with syntactic structure; review of any proposed API additions (if this approach is chosen) (from here)

rustdoc team

*1: Figure out how such API changes should be presented in the API docs. (from here)

*2: Will need approval for rustdoc support. (from here)

*3: Discussion and moral support (from here)

*4: Design decision and PR review (from here)

rustfmt team

GoalLevelChampionNotes
Stabilize Unsafe FieldsSmall*1

*1: Will need approval for rustfmt support. (from here)

spec team

*1: Alignment on release cadence goal (from here)

*2: Will need approval for reference changes. (from here)

*3: General discussion on how this may align with other efforts to specify Rust. (from here)

*4: General discussion of integration of a-mir-formality with reference (from here)

style team

GoalLevelChampionNotes
Stabilize Unsafe FieldsSmall*1

*1: Will need approval for style guide changes. (from here)

testing-devex team

GoalLevelChampionNotes
Finish the libtest json output experimentSmall*1

*1: Design discussions and review (from here)

types team

*1: Involved in implementation + review (from here)

*2: a-mir-formality modeling, design alignment (from here)

*3: Stabilization decision, ongoing review work (from here)

*4: Review of type-system stabilization/implementation (from here)

*5: Implementation design and sign-off (from here)

*6: Review future extensions for plausibility, soundness, and stabilization (from here)

*7: Design review, stabilization decision, reviews from Jack Huey and Matthew Jasper (from here)

*8: implementation/reviews/deciding on a design (from here)

*9: Stabilization report review, TAIT interactions (from here)

*10: Collaborating on a-mir-formality on the borrow checker integration; small reviews of RFC and/or compiler PRs (from here)

*11: Type System implementation and stabilization sign-off (from here)

*12: Evaluate potential changes to (experimental) reference in routine team decisions (from here)

*13: Support for the restricted solver mode in the new solver (from here)

*14: Want to ensure that the feature “fits within the lines” of a simple desugaring, still some possible type-system impl work (from here)

*15: Discussion and moral support (from here)

*16: Consultation on trait coherence requirements for deferred type-checking (from here)

*17: General discussion on any additional type-system changes (from here)

*18: Review work on the type system is expected to be trivial and feature-gated (from here)

*19: No dedicated reviewer needed/given, but tracking issue should note the needed for dedicated types review prior to stabilization (from here)

*20: Members may have comments/thoughts on direction and priorities; Review work for a-mir-formality (from here)

*21: Review of any changes to HIR ty lowering or method resolution (from here)

*22: May have changes to dyn-compatibility rules (from here)

wg-mir-opt team

GoalLevelChampionNotes
MIR move eliminationMediumDesign meeting

wg-parallel-rustc team

GoalLevelChampionNotes
Promoting Parallel Front EndLarge*1

*1: Discussion and Implementation (from here)