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

This section contains the complete list of all 66 goals for 2026. There are a lot of them! You may prefer to look at the roadmaps to get a higher level picture of where Rust is going.

Goals

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.

GoalPoCTeamChampion
Arbitrary Self TypesDing Xiang FeitypesJack Huey
lang-docsTC
langTyler Mandry
libs-apin/a
libsn/a
build-stdDavid WoodcargoEric Huss
compilern/a
crates-ion/a
libsn/a
Full Const GenericsBoxylangNiko Matsakis
typesBoxy
Const TraitsDeadbeeflangTC
typesOliver Scherer
compilern/a
Architectural groundwork for expansion-time evaluationTyler MandrycompilerVadim Petrochenkov
typesOliver Scherer
Field ProjectionsBenno LossinlangTyler Mandry
compilerDing Xiang Fei
typesNiko Matsakis
libs-apin/a
libsn/a
opsemMario Carneiro
Evolving the standard library API across editionsAmanieu d’AntraseditionEric Huss
libs-apiAmanieu d’Antras
compilerJane Lusby
rustdocGuillaume Gomez
langn/a
typesn/a
MIR move eliminationAmanieu d’AntrasopsemRalf Jung
compilerTBD
wg-mir-optTBD
langAmanieu d’Antras
Immobile types and guaranteed destructorsJack HueylangJack Huey
typeslcnr
Stabilize the next-generation trait solverlcnrtypeslcnr
langNiko Matsakis
Promoting Parallel Front EndSparrow Liwg-parallel-rustcVadim Petrochenkov
compilern/a
Stabilize and model Polonius AlphaRémy RakictypesJack Huey
Redesigning super let: Flexible Temporary Lifetime ExtensiondiannelangTC
compilerdianne
libsn/a
reflection and comptimeOliver SchererlangScott McMurray
compilerOliver Scherer
libs-apiJosh Triplett
typesn/a
Normative Documentation for Sound unsafe RustPete LeVasseuropsemRalf Jung
lang-docsn/a
langn/a
libs-apin/a
Stabilize concrete type specializationTyler MandrytypesJack Huey
langTyler Mandry
libsn/a
opsemn/a
Stabilize FLS Release CadencePete LeVasseurflsPete LeVasseur
specn/a

Medium goals

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

GoalPoCTeamChampion
Box notation for dyn async traitNiko MatsakiscompilerSantiago Pastorino
langNiko Matsakis
typesJack Huey
Assumptions on BindersBoxytypesBoxy
Async Future Memory OptimisationDing Xiang FeicompilerTyler Mandry
Async statemachine optimisationDion DoktercompilerEric Holk
BorrowSanitizerIan McCormackcompilerRalf Jung
opsemRalf Jung
infran/a
langTyler Mandry
Cargo cross workspace cacheRoss SullivancargoEd Page
Dictionary Passing Style Experiment@Nadrieriltypeslcnr
Ergonomic ref-countingHelp 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 performancebjorn3compilerbjorn3
cargon/a
In-place initializationAlice RyhllangAlice Ryhl
Incremental Systems RethoughtAlejandra GonzálezcompilerJack Huey
Declarative (macro_rules!) macro improvementsJosh TriplettlangJosh Triplett
Control over Drop semanticsJayan SunilcompilerOliver Scherer
lang@Nadrieril
opsemCrystal Durham
typesn/a
Implement and Maintain MC/DC Coverage SupportDorian PéroncompilerDavid Wood
infran/a
Implement Verifiable Mirroring PrototypewalterhpearcecargoArlo Siemsen
infraMark Rousskov
rustupDirkjan Ochtman
crates-ioAdam Harvey
Open EnumsAlyssa HaroldsencompilerMads Marquart
langScott McMurray
libsn/a
opsemConnor Horman
typesn/a
Nightly support for function overloading in FFI bindingsDevin JeanpierrelangTyler Mandry
compilern/a
libs-apin/a
typesn/a
Continue Experimentation with Pin ErgonomicsFrank KingcompilerOliver Scherer
langTC
typesOliver Scherer
Stabilize public/private dependenciesHelp WantedcompilerVadim Petrochenkov
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 KoschelcompilerRamon de C Valle
project-exploit-mitigationsRamon de C Valle
bootstrapn/a
infran/a
Stabilize Cargo SBOM precursorHelp WantedcargoWeihang Lo
Stabilize the Try traitTyler MandrylangTyler Mandry
libs-apiAmanieu d’Antras
compilern/a
typesn/a
Implement Supertrait auto implDing Xiang FeilangTaylor Cramer
typesn/a
Explicit tail calls & loop_matchFolkert de VrieslangScott McMurray
compilern/a
Wasm ComponentsYoshua WuytscompilerWesley Wiser
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#Goal
Amanieu d’Antras4Evolving the standard library API across editions
MIR move elimination
Sized Hierarchy and Scalable Vectors
Stabilize the Try trait
Boxy2Assumptions on Binders
Full Const Generics
Crystal Durham1Control over Drop semantics
Alice Ryhl1In-place initialization
Guillaume Gomez1Evolving the standard library API across editions
Adam Harvey1Implement Verifiable Mirroring Prototype
Mark Rousskov1Implement Verifiable Mirroring Prototype
@Nadrieril1Control over Drop semantics
Pete LeVasseur1Stabilize FLS Release Cadence
Ralf Jung3BorrowSanitizer
MIR move elimination
Normative Documentation for Sound unsafe Rust
Wesley Wiser2Stabilize Rust for Linux compiler features
Wasm Components
Alona Enraght-Moony1Continue resolving cargo-semver-checks blockers for merging into cargo
Arlo Siemsen1Implement Verifiable Mirroring Prototype
bjorn31Improve rustc_codegen_cranelift performance
Boxy1Type System Documentation
Connor Horman1Open Enums
Taylor Cramer1Implement Supertrait auto impl
David Wood3AArch64 Pointer Authentication using aarch64-unknown-linux-pauthtest target on Linux ELF platforms
Implement and Maintain MC/DC Coverage Support
Sized Hierarchy and Scalable Vectors
dianne1Redesigning super let: Flexible Temporary Lifetime Extension
Mario Carneiro1Field Projections
Ding Xiang Fei1Field Projections
Dirkjan Ochtman1Implement Verifiable Mirroring Prototype
David Tolnay1C++/Rust Interop Problem Space Mapping
Eric Holk1Async statemachine optimisation
Eric Huss2Evolving the standard library API across editions
build-std
Ed Page2Cargo cross workspace cache
Continue resolving cargo-semver-checks blockers for merging into cargo
Jack Huey8Arbitrary Self Types
Box notation for dyn async trait
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
Immobile types and guaranteed destructors
Incremental Systems Rethought
Stabilize and model Polonius Alpha
Stabilize concrete type specialization
Josh Triplett3Case study for experimental language specification, with integration into project teams and processes
Declarative (macro_rules!) macro improvements
reflection and comptime
lcnr5Dictionary Passing Style Experiment
Immobile types and guaranteed destructors
Prepare TAIT + RTN for stabilization
Sized Hierarchy and Scalable Vectors
Stabilize the next-generation trait solver
Mads Marquart1Open Enums
Niko Matsakis7Box notation for dyn async trait
Ergonomic ref-counting
Field Projections
Full Const Generics
Sized Hierarchy and Scalable Vectors
Stabilize Unsafe Fields
Stabilize the next-generation trait solver
Oliver Scherer7Architectural groundwork for expansion-time evaluation
C++/Rust Interop Problem Space Mapping
Const Traits
Continue Experimentation with Pin Ergonomics
Control over Drop semantics
Project goal - High-Level ML optimizations
reflection and comptime
Vadim Petrochenkov3Architectural groundwork for expansion-time evaluation
Promoting Parallel Front End
Stabilize public/private dependencies
Ramon de C Valle1Stabilize MemorySanitizer and ThreadSanitizer Support
Scott McMurray3Explicit tail calls & loop_match
Open Enums
reflection and comptime
Santiago Pastorino1Box notation for dyn async trait
Tyler Mandry9Arbitrary Self Types
Async Future Memory Optimisation
BorrowSanitizer
C++/Rust Interop Problem Space Mapping
Field Projections
Nightly support for function overloading in FFI bindings
Reborrow traits
Stabilize concrete type specialization
Stabilize the Try trait
TC6Arbitrary Self Types
Const Traits
Continue Experimentation with Pin Ergonomics
Prepare TAIT + RTN for stabilization
Project goal - High-Level ML optimizations
Redesigning super let: Flexible Temporary Lifetime Extension
Weihang Lo1Stabilize Cargo SBOM precursor
Jane Lusby1Evolving the standard library API across editions

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

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: Support needed for registry field design and resolver consistency. (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: 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)

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

clippy team

*1: Initial onboarding support for SCRC contributors; guidance on lint design (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: Will need approval for clippy support. (from here)

compiler team

GoalLevelChampionNotes
Architectural groundwork for expansion-time evaluationLargeVadim Petrochenkov*1
BorrowSanitizerMediumRalf Jung*2
Project goal - High-Level ML optimizationsMediumOliver Scherer*3
Stabilize MemorySanitizer and ThreadSanitizer SupportMediumRamon de C ValleReviews, stabilization
Incremental Systems RethoughtMediumJack Huey
Evolving the standard library API across editionsMediumJane Lusby*4
Open EnumsMediumMads MarquartImplementation reviews
Control over Drop semanticsMediumOliver Scherer*5
Async Future Memory OptimisationMediumTyler Mandry
Redesigning super let: Flexible Temporary Lifetime ExtensionMediumdianne
Box notation for dyn async traitMediumSantiago PastorinoImplementation review
Field ProjectionsMediumDing Xiang Fei*6
Implement and Maintain MC/DC Coverage SupportMediumDavid Wood*7
Stabilize public/private dependenciesMediumVadim Petrochenkov*8
MIR move eliminationMediumRFC decision
Stabilize Rust for Linux compiler featuresMediumWesley WiserReviews, RfL meetings
Wasm ComponentsMediumWesley Wiser*9
Improve rustc_codegen_cranelift performanceMediumbjorn3*10
Async statemachine optimisationMediumEric Holk*11
reflection and comptimeMediumOliver SchererStandard reviews
Sized Hierarchy and Scalable VectorsMediumDavid Wood*12
Continue Experimentation with Pin ErgonomicsMediumOliver SchererReviews
C++/Rust Interop Problem Space MappingSmallOliver SchererReviews
Stabilize the Try traitSmall
Explicit tail calls & loop_matchSmall*13
build-stdSmall*14
Stabilizing f16Small
Nightly support for function overloading in FFI bindingsSmall*15
Const TraitsSmallCode reviews
Reborrow traitsSmall*16
Stabilize cargo-scriptSmall*17
AArch64 Pointer Authentication using aarch64-unknown-linux-pauthtest target on Linux ELF platformsSmallDavid Wood*18
Promoting Parallel Front EndSmallCode Reviews
Implement Open Rust Namespace SupportSmall*19
Ergonomic ref-countingSmallReviews
Stabilize Cargo’s linting systemSmall*20

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

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

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

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

*5: Implementation reviews (Oliver Scherer will review Proposal 2) (from here)

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

*7: Review of implementation PRs; guidance on architecture to avoid previous maintenance issues (from here)

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

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

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

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

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

*13: We expect to only need normal reviews. (from here)

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

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

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

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

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

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

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

crate-maintainers team

GoalLevelChampionNotes
libc 1.0 release readinessSmall

crates-io team

GoalLevelChampionNotes
build-stdSmall*1
Implement Verifiable Mirroring PrototypeSmallAdam Harvey*2

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

*2: Primarily focused on potential future logging/bandwidth savings. (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 CadenceLargePete LeVasseur*1

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

infra team

*1: Critical for setting up the signing pipeline and Azure deployment. (from here)

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

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

lang team

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

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

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

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

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

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

*6: Design meeting, experiment (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: Stabilization decision for user facing changes (from here)

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

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

*11: Some architectures cannot support guaranteed tail calls. Our current list of limitations is:

- wasm32/wasm64 need the tail-call target feature to be enabled
- powerpc (when elf1 is used) cannot tail call functions in other objects

Hence, rust code using guaranteed tail calls is not as portable as standard rust code. We need T-lang feedback on how to resolve this.

The all-hands is well-timed to figure out a solution. (from here)

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

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

*14: Design meeting Experiment (from here)

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

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

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

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

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

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

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

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

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

*24: Stabilization discussions (from here)

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

*26: Most of the plans / design was already approved, only minor sign-offs required (from here)

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

lang-docs team

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

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

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

*5: Will need approval for documentation changes. (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: 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: Reviews of RFC and API surface area (from here)

opsem team

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

*2: Doc changes if necessary (from here)

*3: Problem statement review (from here)

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

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

project-exploit-mitigations team

GoalLevelChampionNotes
Stabilize MemorySanitizer and ThreadSanitizer SupportMediumRamon de C ValleDedicated reviewer

rustdoc team

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

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

*3: Discussion and moral support (from here)

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

rustfmt team

GoalLevelChampionNotes
Stabilize Unsafe FieldsSmall*1

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

rustup team

*1: Required for integrating the prototype into the primary toolchain installer. (from here)

spec team

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

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

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

*4: Will need approval for reference changes. (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: Stabilization decision, ongoing review work (from here)

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

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

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

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

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

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

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

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

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

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

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

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

*14: r? types when touching the type system. Expect that anything beyond “simple” types changes may be rejected or de-prioritized. [^types-small] (from here)

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

*16: Discussion and moral support (from here)

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

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

*19: We expect to only need normal reviews (from here)

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

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

wg-mir-opt team

GoalLevelChampionNotes
MIR move eliminationMediumDesign meeting

wg-parallel-rustc team

GoalLevelChampionNotes
Promoting Parallel Front EndLargeVadim Petrochenkov*1

*1: Discussion and Implementation (from here)