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

The Rust project is currently working towards a slate of 4 project goals, with 0 of them designated as Roadmap Goals. This post provides selected updates on our progress towards these goals (or, in some cases, lack thereof). The full details for any particular goal are available in its associated tracking issue on the rust-project-goals repository.

Roadmap goals

Goals looking for help


Other goal updates

Progress
Point of contact

David Wood

Champions

cargo (Eric Huss), compiler (David Wood), libs (Amanieu d'Antras)

Task owners

Adam Gemmell, David Wood

3 detailed updates available.

Comment by [David Wood][] posted on 2026-04-14:

rust-lang/rfcs#3874 has finished FCP and is due to be merged any day now. I'm working on resolving the remaining open comments on rust-lang/rfcs#3875 and then intend to nudge the reviewers to have a look and check their boxes or leave concerns.

Adam Gemmell has opened rust-lang/cargo#16675 with an early sketch of some of the core changes that build-std would require and is working with the Cargo team to address feedback and work out how to proceed with the implementation.

Comment by [David Wood][] posted on 2026-03-17:

Update this cycle is the same as last time - rust-lang/rfcs#3874 and rust-lang/rfcs#3875 are progressing, with feedback being addressed and checkboxes checked, and we're still working out what the implementation would look like.

Comment by [David Wood][] posted on 2026-02-17:

No major updates this cycle - we're still working through feedback on rust-lang/rfcs#3874 and rust-lang/rfcs#3875 and prototyping the implementation to be prepared.

C++/Rust Interop Problem Space Mapping (rust-lang/rust-project-goals#388)
Progress
Point of contact

Joel Marcey

Champions

compiler (Oliver Scherer), lang (Tyler Mandry), libs (David Tolnay)

Task owners

Joel Marcey

3 detailed updates available.

Comment by [teor][] posted on 2026-03-30:

Key developments: What has happened since the last time.

In the last month, I've:

  • met with the lang team, Crubit team, and cxx author, and Joel and Mara have met with the C++ standards working group
  • expanded the some draft high-level problem statement summaries, and added code examples
  • added 6 new interop use cases
  • added more relationships between problems/use cases and existing project goals & unstable compiler features
  • prepared for the Rust All Hands, and started mentoring for Outreachy

Specifically, the last month we've identified and prioritised two high-priority use cases for more detailed work:

And I analysed the problems / use cases we've collected so far, with priorities, responsible language, and a split into semantics or tooling changes.

Blockers: List any Rust teams you are waiting on and what you are waiting for.

Nothing at the moment, everyone has been extremely helpful, and I'm getting good feedback on use cases, problems, priorities, and Rust language experiments.

Help wanted: Are there places where you are looking for contribution or feedback from the broader community?

Suggestions for more interop use cases or problems would be very welcome, just open a discussion in t-lang/interop and I'll turn it into a ticket. Or go ahead and open a use case or problem ticket directly.

Next step is continuing to work on overloading and build systems in more detail. If you have specific Rust/C/C++ build system blockers, please open a chat or ticket.

I'll post an update here every few weeks, you can follow more detailed weekly updates on Zulip.

Comment by [teor][] posted on 2026-02-27:

Hi, I'm the new contractor on the interop problem space mapping project goal.

Key developments: What has happened since the last time. It's perfectly ok to list "nothing" if that's the truth, we know people get busy.

In the last week and a half, I've:

Blockers: List any Rust teams you are waiting on and what you are waiting for.

Nothing at the moment, still working through the high level mapping of the problem space.

Help wanted: Are there places where you are looking for contribution or feedback from the broader community?

Suggestions for more interop use cases would be very welcome, just open a discussion in t-lang/interop and I'll turn it into a ticket. Or go ahead and open a use case ticket directly.

Next step is prioritising a few of the use cases, then working on related problem statements in more detail.

I'll post an update here every few weeks, you can follow more detailed weekly updates on Zulip.

Comment by [Joel Marcey][] posted on 2026-01-31:

The effort to fill the contracting role to support this project goal is in the process winding down. The interview and discussion process is nearly complete. We expect to make a final decision for the role in early February.

reflection and comptime (rust-lang/rust-project-goals#406)
Progress
Point of contact

Oliver Scherer

Champions

compiler (Oliver Scherer), lang (Scott McMurray), libs (Josh Triplett)

Task owners

oli-obk

4 detailed updates available.

Comment by [Oliver Scherer][] posted on 2026-04-22:

Help wanted

  • add more information to adts (e.g. doc comments, attributes, ...), whatever else is usually used by crates like bevy-reflect
  • need to make struct field reflection respect privacy
Comment by [Oliver Scherer][] posted on 2026-04-22:

No changes since last time.

I'm writing a document for the lang team meeting on reflection next week

Comment by [Oliver Scherer][] posted on 2026-03-19:
  • I added support for getting reflection information of any type, not just 'static ones
    • https://github.com/rust-lang/rust/pull/152381
  • @9SonSteroids added a function pointer MVP and trait object support
    • https://github.com/rust-lang/rust/pull/152173
    • https://github.com/rust-lang/rust/pull/152003
  • Asuna added basic struct/enum/union support
    • https://github.com/rust-lang/rust/pull/151142
Comment by [Oliver Scherer][] posted on 2026-02-09:
  • @BD103 added slices, arrays and raw pointer support
    • https://github.com/rust-lang/rust/pull/151019
    • https://github.com/rust-lang/rust/pull/151031
    • https://github.com/rust-lang/rust/pull/151118
    • https://github.com/rust-lang/rust/pull/151119
  • Asuna added all of our primitives
    • https://github.com/rust-lang/rust/pull/151123
  • Jamie Hill-Daniel gave us references
    • https://github.com/rust-lang/rust/pull/151222
  • @izagawd made it possible to extract some info from dyn Trait
    • https://github.com/rust-lang/rust/pull/151239

There is ongoing work for Adts and function pointers, both of which will land as MVPs and will need some work to make them respect semver or generally become useful in practice

Removing the 'static bound from try_as_dyn turned out to have many warts, so I'm limiting it to a much smaller subset and will have borrowck emit the 'static requirement if the other rules do not apply (instead of having an unconditional 'static requirement)

SVE and SME on AArch64 (rust-lang/rust-project-goals#270)
Progress
Point of contact

David Wood

Champions

compiler (David Wood), lang (Niko Matsakis), libs (Amanieu d'Antras)

Task owners

David Wood

4 detailed updates available.

Comment by [David Wood][] posted on 2026-04-14:

For the scalable vector half of the goal, we've landed a bunch of compiler fixes - rust-lang/rust#153286, rust-lang/rust#153608, rust-lang/rust#154850, rust-lang/rust#154950, rust-lang/rust#155106 and rust-lang/rust#155243 - and opened our stdarch patch with intrinsics - rust-lang/stdarch#2071. That patch should be passing CI tomorrow once nightly updates to fix an unrelated spurious CI failure. We've got a handful of follow-ups to do afterwards, listed on rust-lang/rust#145052.

For the sized hierarchy half of the goal, Rémy Rakic and I had two design meetings with the language team (2026/03/18 and 2026/03/25) discussing the syntax/naming and migration strategy respectively.

On syntax, the language team preferred introducing an "only bounds" syntax to control opting-out of default bounds and opting-in to alternative bounds in a family of traits (described in an alternative in the RFC), but there was an open question of whether that syntax should apply to an individual bound or all of the bounds - Niko Matsakis is investigating that.

On naming, the language team also preferred the name SizeOfVal over MetaSized, and didn't like Pointee but had no better alternatives. Rémy Rakic prepared rust-lang/rust#154374 to do that renaming and started a discussion with the library team to confirm they were happy with the name, because changing it involves an amount of churn. The library team wanted to know what other traits in the hierarchy might later be introduced, as that would help inform the naming of the currently proposed traits, so Rémy Rakic wrote up a document with that information. We're holding off on doing any name changes until we find some consensus between libs and lang - who is responsible for these traits' names is a bit unclear.

On migration, the language team were largely happy with our proposed approach, and we realised that the approach proposed by lcnr for associated types might also work for our other migrations. Rémy Rakic has had meetings with lcnr to better understand that approach and to work out the next steps for implementing it.

Comment by [David Wood][] posted on 2026-03-17:

On the scalable vector half of the goal, I've got a branch with rust-lang/stdarch#1509 rebased, though without the intrinsic-test tool having been updated - that ended up being tricky and we've agreed to do it as a follow-up. We've opened rust-lang/rust#153286 with the compiler fixes that the stdarch patch requires, which should land soon (rust-lang/rust#153653 was opened and landed in the interim).

On the sized hierarchy half of the goal, Rémy Rakic has been updating our RFC such that we can discuss it in design meetings with the language team on the 18th and 25th - we'll update rust-lang/rfcs#3729 later today. We've split out the const Sized parts as a future possibility (though one we are committed to pursuing) as that has more open design questions, and we've discussed the proposed syntax and approach to migration - which are what we intend to focus on in the design meetings. He's also been working out how we can start implementing our migration strategy and help resolve blockers in other areas.

Comment by [David Wood][] posted on 2026-02-17:

Progress has been slow since the last update because I've been busy, but I've been working on a rebase of rust-lang/stdarch#1509, which has bitrot quite a bit. Rémy Rakic is joining me to work on the Sized Hierarchy parts of the goal.