Skip to content

initial draft for 2026 project goals#3935

Open
nikomatsakis wants to merge 8 commits intorust-lang:masterfrom
nikomatsakis:rust-project-goals-2026
Open

initial draft for 2026 project goals#3935
nikomatsakis wants to merge 8 commits intorust-lang:masterfrom
nikomatsakis:rust-project-goals-2026

Conversation

@nikomatsakis
Copy link
Copy Markdown
Contributor

@nikomatsakis nikomatsakis commented Mar 25, 2026

View all comments

Establish the initial round of Rust Project Goals for 2026 along with a set of current roadmaps, which describe multi-year development arcs.

New Rust Project Goals may be added over the course of the year but only if all required resources (champions, funding, etc) are already known.

Important

When responding to RFCs, try to use inline review comments (it is possible to leave an inline review comment for the entire file at the top) instead of direct comments for normal comments and keep normal comments for procedural matters like starting FCPs.

This keeps the discussion more organized.

Rendered

Note

Concerns (0 active)

Managed by @rustbot—see help for details.

@nikomatsakis
Copy link
Copy Markdown
Contributor Author

nikomatsakis commented Mar 25, 2026

FCP Process

Per our usual process, to be accepted, we require checkboxes from the leads of every team with a "team ask". Checkboxes from other members are encouraged but not required.

book

bootstrap

  • @Mark-Simulacrum (required, lead)
  • albertlarsan68 (optional)
  • clubby789 (optional)
  • jieyouxu (optional)
  • Kobzol (optional)
  • Zalathar (optional)

cargo

  • @ehuss (required, lead)
  • 0xPoe (optional)
  • arlosi (optional)
  • Eh2406 (optional)
  • epage (optional)
  • joshtriplett (optional)
  • Muscraft (optional)
  • weihanglo (optional)

clippy

  • @flip1995 (required, lead)
  • @Manishearth (required, lead)
  • ada4a (optional)
  • Alexendoo (optional)
  • blyxyas (optional)
  • Centri3 (optional)
  • dswij (optional)
  • Jarcho (optional)
  • llogiq (optional)
  • matthiaskrgr (optional)
  • samueltardieu (optional)
  • y21 (optional)

compiler

  • @davidtwco (required, lead)
  • @wesleywiser (required, lead)
  • adwinwhite (optional)
  • alexcrichton (optional)
  • Amanieu (optional)
  • antoyo (optional)
  • apiraino (optional)
  • b-naber (optional)
  • bjorn3 (optional)
  • BoxyUwU (optional)
  • camelid (optional)
  • chenyukang (optional)
  • ChrisDenton (optional)
  • cjgillot (optional)
  • cuviper (optional)
  • dianne (optional)
  • dianqk (optional)
  • dingxiangfei2009 (optional)
  • durin42 (optional)
  • eholk (optional)
  • Enselic (optional)
  • est31 (optional)
  • estebank (optional)
  • fee1-dead (optional)
  • flodiebold (optional)
  • fmease (optional)
  • GuillaumeGomez (optional)
  • jackh726 (optional)
  • jdonszelmann (optional)
  • jieyouxu (optional)
  • JohnTitor (optional)
  • JonathanBrouwer (optional)
  • jswrenn (optional)
  • Kivooeo (optional)
  • Kobzol (optional)
  • lcnr (optional)
  • lqd (optional)
  • lukas-code (optional)
  • m-ou-se (optional)
  • madsmtm (optional)
  • Mark-Simulacrum (optional)
  • mati865 (optional)
  • matthewjasper (optional)
  • Nadrieril (optional)
  • nagisa (optional)
  • nikic (optional)
  • nikomatsakis (optional)
  • nnethercote (optional)
  • Noratrieb (optional)
  • oli-obk (optional)
  • petrochenkov (optional)
  • RalfJung (optional)
  • rcvalle (optional)
  • saethlin (optional)
  • scottmcm (optional)
  • SparrowLii (optional)
  • spastorino (optional)
  • TaKO8Ki (optional)
  • tgross35 (optional)
  • the8472 (optional)
  • tiif (optional)
  • tmandry (optional)
  • tmiasko (optional)
  • Urgau (optional)
  • WaffleLapkin (optional)
  • workingjubilee (optional)
  • yaahc (optional)
  • Zalathar (optional)
  • ZuseZ4 (optional)

crate-maintainers

  • Amanieu (optional)
  • Byron (optional)
  • ChrisDenton (optional)
  • JohnTitor (optional)
  • jongiddy (optional)
  • joshtriplett (optional)
  • Kobzol (optional)
  • KodrAus (optional)
  • lcnr (optional)
  • madsmtm (optional)
  • NobodyXu (optional)
  • tgross35 (optional)
  • the8472 (optional)
  • thomcc (optional)
  • workingjubilee (optional)

crates-io

  • @jtgeibel (required, lead)
  • @Turbo87 (required, lead)
  • carols10cents (optional)
  • eth3lbert (optional)
  • LawnGnome (optional)
  • mdtro (optional)

edition

fls

  • @PLeVasseur (required, lead)
  • AlexCeleste (optional)
  • kirtchev-adacore (optional)
  • traviscross (optional)
  • tshepang (optional)

infra

  • @jdno (required, lead)
  • @shepmaster (required, lead)
  • emilyalbini (optional)
  • jieyouxu (optional)
  • Kobzol (optional)
  • marcoieni (optional)
  • Mark-Simulacrum (optional)
  • ubiratansoares (optional)

lang

  • @nikomatsakis (required, lead)
  • @tmandry (required, lead)
  • joshtriplett (optional)
  • scottmcm (optional)
  • traviscross (optional)

lang-docs

leadership-council

libs

  • @Amanieu (required, lead)
  • cuviper (optional)
  • joshtriplett (optional)
  • the8472 (optional)
  • thomcc (optional)

libs-api

  • Amanieu (optional)
  • BurntSushi (optional)
  • dtolnay (optional)
  • joshtriplett (optional)
  • the8472 (optional)

opsem

  • @JakobDegen (required, lead)
  • @RalfJung (required, lead)
  • CAD97 (optional)
  • digama0 (optional)
  • saethlin (optional)

project-exploit-mitigations

  • @rcvalle (required, lead)
  • 1c3t3a (optional)
  • cuviper (optional)
  • jakos-sec (optional)

rustdoc

  • @GuillaumeGomez (required, lead)
  • aDotInTheVoid (optional)
  • camelid (optional)
  • fmease (optional)
  • lolbinarycat (optional)
  • Manishearth (optional)
  • notriddle (optional)
  • Urgau (optional)
  • yotamofek (optional)

rustfmt

rustup

  • @rami3l (required, lead)
  • ChrisDenton (optional)
  • djc (optional)
  • FranciscoTGouveia (optional)

spec

  • @nikomatsakis (required, lead)
  • ehuss (optional)
  • JoelMarcey (optional)
  • joshtriplett (optional)
  • traviscross (optional)

style

  • @calebcartwright (required, lead)
  • joshtriplett (optional)
  • traviscross (optional)

testing-devex

  • @calebcartwright (required, lead)
  • epage (optional)
  • Muscraft (optional)
  • thomcc (optional)
  • weihanglo (optional)

types

  • @jackh726 (required, lead)
  • @lcnr (required, lead)
  • BoxyUwU (optional)
  • lqd (optional)
  • nikomatsakis (optional)
  • oli-obk (optional)
  • spastorino (optional)

wg-mir-opt

  • @oli-obk (required, lead)
  • dianqk (optional)
  • eddyb (optional)
  • JakobDegen (optional)
  • vertexclique (optional)
  • wesleywiser (optional)

wg-parallel-rustc

  • @cjgillot (required, lead)
  • bjorn3 (optional)
  • Kobzol (optional)
  • nnethercote (optional)
  • SparrowLii (optional)

| | | [lang][] | [Tyler Mandry][] |
| | | [compiler][] | *n/a* |
| | | [libs][] | *n/a* |
| | | [opsem][] | *n/a* |
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's still unclear to us what the opsem ask even is here. This doesn't sound like a goal that has opsem aspects.

| [Continue resolving `cargo-semver-checks` blockers for merging into cargo](https://rust-lang.github.io/rust-project-goals/2026/cargo-semver-checks.html) | [Predrag Gruevski][] | [cargo][] | *n/a* |
| | | [rustdoc][] | *n/a* |
| [Improving Unsafe Code Documentation in the Rust Standard Library](https://rust-lang.github.io/rust-project-goals/2026/improve-std-unsafe.html) | @hxuhack | [libs][] | *n/a* |
| | | [opsem][] | *n/a* |
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The opsem ask was unclear to us here, this seems to be mostly about library documentation. Without a libs champion, is this goal even happening?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The asks are all Small, so the goal doesn't need champions

| [C++/Rust Interop Problem Space Mapping](https://rust-lang.github.io/rust-project-goals/2026/interop-problem-map.html) | [teor][] | [compiler][] | *n/a* |
| | | [lang][] | *n/a* |
| | | [libs-api][] | *n/a* |
| | | [opsem][] | *n/a* |
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We haven't found someone who's able to dedicate substantial amounts of time for this. The usual kind of opsem questions/feedback we handle on Zulip are fine of course.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's alright because the ask is Small.


Finally, the [Sized trait hierarchy](https://rust-lang.github.io/rust-project-goals/2026/scalable-vectors.html) work will stabilize a richer set of sizing traits, which unblocks [extern types](https://github.com/rust-lang/rfcs/pull/1861) — another long-requested feature. Today, `?Sized` conflates "unsized but has metadata" with "truly sizeless." The new hierarchy distinguishes these cases. This same work is also laying the foundation for scalable vector support (Arm SVE), where vector sizes depend on the CPU rather than being fixed at compile time.

## Going "beyond the `&`" with better integration for custom pointer types
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is missing several of the goals listed under the roadmap: https://rust-lang.github.io/rust-project-goals/2026/roadmap-beyond-the-ampersand.html#how-we-get-there

  • Reborrow traits
  • In-place init
  • Supertrait auto impl

Of the above I'd say the Reborrow traits are 100% this, while the other two are more tangentially related.

nxsaken and others added 2 commits April 7, 2026 10:18
Co-authored-by: lcnr <rust@lcnr.de>
Co-authored-by: Tyler Mandry <tmandry@gmail.com>
Co-authored-by: Nurzhan Saken <nurzhan.sakenov@gmail.com>
Copy link
Copy Markdown

@nxsaken nxsaken left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Co-authored-by: Nurzhan Saken <nurzhan.sakenov@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants