Looking for contributors
The goals below are looking for a contributor to do the implementation work. The goal summaries include details of the expected time commitment and work duration. If you might be interested in helping with a goal, please join the rust-lang Zulip and post a message in the #project-goals/2026-workshop channel: tell us a bit about yourself, and mention us (the goals team) in that message, like Hello @T-goals!. You could also write to the goals team at goals-team@rust-lang.org! We would love to help you learn more about it.
Field Projections
Benno Lossin (point of contact), Ding Xiang Fei, Niko Matsakis, Oli Scherer, Tyler Mandry, Ding Xiang Fei (compiler champion), Tyler Mandry (lang champion), Mario Carneiro (opsem champion), Niko Matsakis (types champion)
We aim to explore and refine the virtual places approach for field projections, document its design and interactions in the beyond-refs wiki, implement it as an experiment in the compiler, and prepare RFCs based on the findings.
This is a continuing goal, see the goal document of the previous period for historical information.
| Task | Experience level | Time investment |
|---|---|---|
| Fix a bug in rustdoc (context) | Familiarity with rustdoc and procedural macros |
Finish the libtest json output experiment
Ed Page (point of contact)
Finish the libtest json experiment.
| Task | Experience level | Time investment |
|---|---|---|
| Experiment with test harness features | TBD | TBD |
| Experiment with moving test reporting to Cargo | TBD | TBD |
| Prepare an RFC | TBD | TBD |
Implement Open Rust Namespace Support
Ed Page (point of contact)
Navigate the cross-team design work to get RFC #3243 implemented.
Needs contributor: This goal needs contributors to help complete the implementations in Cargo, rustc, and crates.io. The work spans multiple repositories and involves cross-team coordination.
| Task | Experience level | Time investment |
|---|---|---|
| Implement the RFC (Cargo) | TBD | TBD |
| Implement the RFC (rustc) | TBD | TBD |
| Implement the RFC (crates.io) | TBD | TBD |
Prepare TAIT + RTN for stabilization
TC (point of contact), Niko Matsakis, TC (lang champion), lcnr (types champion)
Prepare TAIT (type alias impl trait) and return type notation (RTN) for stabilization together, giving Rust a coherent story for naming and bounding previously unnameable and unboundable types. TAIT lets users name opaque types like closures, async blocks, and complex iterators without boxing. RTN enables bounds like T::method(..): Send, solving the “Send bound” problem and unblocking widespread use of async fn in traits. This goal also extends RTN to async closures via a new RFC. Full stabilization is blocked on the next-gen trait solver work and is intended to happen late this year.
Needs contributor: The majority of the impl work for TAIT and RTN has been done however the syntactic design for RTN and async closures is incomplete. We’re seeking someone willing to help work on the RFC and explore the design space as well as to finalize impl details.
| Task | Experience level | Time investment |
|---|---|---|
| Explore designs for return type notation | TBD | TBD |
| Explore designs for async closures | TBD | TBD |
| Work on the RFC | TBD | TBD |
| Finalize the implementation | TBD | TBD |
Prototype a new set of Cargo “plumbing” commands
Ed Page (point of contact)
- Refactor Cargo to allow hacks in proposed cargo-plumbing commands to be removed (crate-ci/cargo-plumbing#82).
- Round out proposed commands (issues)
- Finalize the message formats (cargo-plumbing#18)
Needs contributor: This goal needs contributors to refactor Cargo internals, implement remaining plumbing commands, optimize performance, and iterate on output schemas. The work is primarily in rust-lang/cargo and crate-ci/cargo-plumbing.
| Task | Experience level | Time investment |
|---|---|---|
| Refactor cargo | TBD | TBD |
| Implement remaining plumbing commands | TBD | TBD |
| Optimize cargo | TBD | TBD |
| Iterate on schemas and plan schema evolution | TBD | TBD |
Reborrow traits
Aapo Alasuutari (point of contact), Tyler Mandry (lang champion), Oli Scherer (types champion)
Bring the Reborrow and CoerceShared trait to nightly Rust, enabling iteration based on user feedback. Begin work on nontrivial cases where more than one lifetime is being reborrowed or coerced into shared
| Task | Experience level | Time investment |
|---|---|---|
| Help with borrow checking (context) | If you’re an expert on the internals of borrowck and have a good idea of how to teach borrowck about &mut T reborrows happening at arbitrary depths during a Reborrow, then please come talk to me! | |
| Help with rmeta / caching (context) | If you’re an expert on rmeta / caching, then I’d again love your help on how to avoid/cache the Reborrow recursion result. |
Stabilize Cargo SBOM precursor
Sergey Davidoff (point of contact), Weihang Lo (cargo champion)
Progress towards an MVP version of Cargo SBOM support by resolving known issues in Cargo’s SBOM precursor feature and finalizing the RFC.
Needs contributor: This goal needs contributors to help with testing, resolving known issues in Cargo’s SBOM precursor, and converting downstream tooling like cargo-cyclonedx. The work is primarily in the rust-lang/cargo repository.
| Task | Experience level | Time investment |
|---|---|---|
| Test Cargo’s SBOM precursor | TBD | TBD |
| Resolve issues in the SBOM precursor | TBD | TBD |
| Convert cargo-cyclonedx to use the SBOM precursor | TBD | TBD |
Stabilize public/private dependencies
Ed Page (point of contact), Vadim Petrochenkov (compiler champion)
Implement and stabilize the MVP of public dependencies described in RFC #3516. Public dependencies allow crates to declare dependencies whose types are meant to be exposed in the public API.
Needs contributor: This goal needs a contributor to work with the compiler team on identifying and implementing the minimal lint subset needed for stabilization. The work spans rustc (lint implementation) and Cargo (dependency metadata).
| Task | Experience level | Time investment |
|---|---|---|
| Find a minimal stabilizable subset of the lint’s functionality (with compiler) | TBD | TBD |
| Complete the tasks related to the lint’s stabilization | TBD | TBD |