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
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
Rust for Linux in stable: compiler featuresTomas SedoviccompilerWesley Wiser
Rust for Linux in stable: language featuresTomas Sedoviclang-docsTC
langJosh Triplett
libs-apin/a
libsn/a
Box notation for dyn async traitNiko MatsakiscompilerTBD
langNiko Matsakis
Assumptions on BindersBoxytypesTBD
Async Future Memory OptimisationDing Xiang FeicompilerTBD
Async statemachine optimisation@diondoktercompilerTBD
BorrowSanitizerIan McCormackcompilerRalf Jung
opsemRalf Jung
infran/a
langn/a
Crate Slicing for Faster Fresh Builds@yijunyucargoTBD
compilerTBD
langn/a
rust-analyzern/a
typesn/a
Ergonomic ref-counting: Share trait and move expressionsNiko MatsakislangNiko Matsakis
compilern/a
lang-docsn/a
libs-apin/a
Case study for experimental language specification, with integration into project teams and processesJack HueylangTBD
typesTBD
specn/a
Project goal - High-Level ML optimizationsManuel DrehwaldcompilerOliver Scherer
langTC
infran/a
In-place initializationAlice RyhllangTBD
Incremental Systems RethoughtAlejandra GonzálezcompilerTBD
C++/Rust Interop Problem Space MappingJon BaumanopsemTBD
compilern/a
langn/a
libs-apin/a
Experiment and RFC for #[manually_drop]Help WantedlangTBD
compilern/a
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
typesTBD
libs-apin/a
Continue Experimentation with Pin ErgonomicsFrank KingcompilerOliver Scherer
langTC
Reborrow traitsAapo AlasuutarilangTyler Mandry
compilern/a
typesn/a
Sized Hierarchy and Scalable VectorsDavid WoodlangNiko Matsakis
libs-apiAmanieu d’Antras
typeslcnr
compilern/a
Stabilize MemorySanitizer and ThreadSanitizer SupportJakob KoschelbootstrapTBD
compilerTBD
project-exploit-mitigationsTBD
infran/a
Stabilize Cargo SBOM precursorHelp WantedcargoTBD
Implement Supertrait auto implTyler MandrylangTBD

Smaller/vibes goals

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

Goals by champion

Champion#Goals
1° Stabilize Return Type Notation
Amanieu d’Antras2° MIR move elimination
° Sized Hierarchy and Scalable Vectors
Boxy1° Reborrow traits
Ralf Jung2° BorrowSanitizer
° Normative Documentation for Sound unsafe Rust
Wesley Wiser1° Rust for Linux in stable: compiler features
Alona Enraght-Moony1° Continue resolving cargo-semver-checks blockers for merging into cargo
Boxy1° Type System Documentation
David Wood1° Sized Hierarchy and Scalable Vectors
David Tolnay1° C++/Rust Interop Problem Space Mapping
Ed Page1° Continue resolving cargo-semver-checks blockers for merging into cargo
Josh Triplett2° Rust for Linux in stable: language features
° reflection and comptime
lcnr2° 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 Return Type Notation
° Stabilize the next-generation trait solver
Oliver Scherer4° C++/Rust Interop Problem Space Mapping
° Continue Experimentation with Pin Ergonomics
° Project goal - High-Level ML optimizations
° reflection and comptime
Scott McMurray1° reflection and comptime
Tyler Mandry4° BorrowSanitizer
° C++/Rust Interop Problem Space Mapping
° Field Projections
° Reborrow traits
TC3° Continue Experimentation with Pin Ergonomics
° Project goal - High-Level ML optimizations
° Rust for Linux in stable: language features

Goals by team

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

  • Vibes: The team doesn’t need to do anything, but the goal author wants to know they support the idea.
  • 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).

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

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: Discussion on cargo integration options (from here)

*3: Discussion and moral support (from here)

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

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

clippy team

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

compiler team

*1: 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)

*2: Consultation on approach feasibility and soundness concerns (from here)

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

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

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

*6: Is this Small or Medium? Does it need a champion? (from here)

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

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

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

*10: New targets will need review and approval (from here)

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

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

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

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

*15: May escalate to medium depending on how the feature design turns out. (from here)

*16: Reviewing any further compiler changes (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
Stabilize Const TraitsLarge*1
Const GenericsLargeNiko Matsakis*2
Field ProjectionsLargeTyler Mandry*3
Immobile types and guaranteed destructorsLarge*4
reflection and comptimeLargeScott McMurray*5
Redesigning super let: Flexible Temporary Lifetime ExtensionLarge*6
Stabilize Return Type NotationLargeNiko MatsakisStabilization decision
Project goal - High-Level ML optimizationsMediumTC*7
Open EnumsMedium*8
Reborrow traitsMediumTyler Mandry*9
Case study for experimental language specification, with integration into project teams and processesMediumChampion Josh Triplett
Implement Supertrait auto implMedium*10
Stabilize the next-generation trait solverMediumNiko Matsakis*11
Experiment and RFC for #[manually_drop]Medium*12
Continue Experimentation with Pin ErgonomicsMediumTCDesign meeting?
Sized Hierarchy and Scalable VectorsMediumNiko Matsakis*13
Rust for Linux in stable: language featuresMediumJosh Triplett*14
Ergonomic ref-counting: Share trait and move expressionsMediumNiko Matsakis
Nightly support for function overloading in FFI bindingsMedium*15
Box notation for dyn async traitMediumNiko MatsakisRFC decision
In-place initializationMedium
Crate Slicing for Faster Fresh BuildsSmall*16
Wasm ComponentsSmall*17
Normative Documentation for Sound unsafe RustSmall*18
MIR move eliminationSmallAmanieu d’AntrasRFC decision
Evolving the standard library API across editionsSmall*19
C++/Rust Interop Problem Space MappingSmallTyler MandryReviews
Stabilize cargo-scriptSmall*20
BorrowSanitizerVibesTyler Mandry*21

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

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

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

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

*5: Design meeting, experiment (from here)

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

*7: 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)

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

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

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

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

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

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

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

*15: Design meeting Experiment (from here)

*16: Discussion on review of research methodology and findings (from here)

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

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

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

*20: Stabilization discussions (from here)

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

lang-docs team

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

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

*3: Thoughts on 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: Threading support will need review (from here)

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

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

*4: 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)

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: PR reviews for core/std public documentation; feedback on approach. (from here)

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

*5: 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)

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: 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)

rust-analyzer team

GoalLevelChampionNotes
Crate Slicing for Faster Fresh BuildsSmall*1

*1: Discussion on rust-analyzer integration potential (from here)

rustdoc team

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

*2: Discussion and moral support (from here)

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

spec team

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

*2: Vibes on how this may align with other efforts to specify Rust. (from here)

*3: General vibes for integration of a-mir-formality with reference (from here)

testing-devex team

GoalLevelChampionNotes
Finish the libtest json output experimentSmall*1

*1: Design discussions and review (from here)

types team

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

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

*3: Stabilization decision, solver work (from here)

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

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

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

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

*8: Consultation on trait coherence requirements for slicing (from here)

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

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

*11: Discussion and moral support (from here)

wg-mir-opt team

GoalLevelChampionNotes
MIR move eliminationMediumDesign meeting