--- title: "Design meeting 2024-12-04: Project goals 2025H1" tags: ["T-lang", "design-meeting", "minutes"] date: 2024-12-04 discussion: https://rust-lang.zulipchat.com/#narrow/channel/410673-t-lang.2Fmeetings/topic/Design.20meeting.202024-12-04 url: https://hackmd.io/_QP347NqT4OY-LFXitDoqg --- # Design meeting: 2024-12-04, project goals ## Meta This is a draft of the roadmap RFC. It is generated from the [rust-project-goals website](https://rust-lang.github.io/rust-project-goals/2025h1/index.html). The goals for this meeting are to [review the project goals](https://rust-lang.github.io/rust-project-goals/2025h1/goals.html), particularly those targeting lang, and to answer the following questions * how do we feel about the scope of lang asks * are there goals missing that we should be soliciting * what do we think would make for good flagship goals this time around I've put some preliminary thoughts on these in the text below as well. ## Summary This is a draft for the eventual RFC proposing the 2025H1 goals. ## Motivation The 2025H1 goal slate consists of 26 project goals, of which we have selected (TBD) as **flagship goals**. Flagship goals represent the goals expected to have the broadest overall impact. ### How the goal process works > **Note:** Boilerplate content unchanged from 2024h2 **Project goals** are proposed bottom-up by an **owner**, somebody who is willing to commit resources (time, money, leadership) to seeing the work get done. The owner identifies the problem they want to address and sketches the solution of how they want to do so. They also identify the support they will need from the Rust teams (typically things like review bandwidth or feedback on RFCs). Teams then read the goals and provide feedback. If the goal is approved, teams are committing to support the owner in their work. Project goals can vary in scope from an internal refactoring that affects only one team to a larger cross-cutting initiative. No matter its scope, accepting a goal should never be interpreted as a promise that the team will make any future decision (e.g., accepting an RFC that has yet to be written). Rather, it is a promise that the team are aligned on the contents of the goal thus far (including the design axioms and other notes) and will prioritize giving feedback and support as needed. Of the proposed goals, a small subset are selected by the roadmap owner as **flagship goals**. Flagship goals are chosen for their high impact (many Rust users will be impacted) and their shovel-ready nature (the org is well-aligned around a concrete plan). Flagship goals are the ones that will feature most prominently in our public messaging and which should be prioritized by Rust teams where needed. ### Rust’s mission > **Note:** Boilerplate content unchanged from 2024h2 Our goals are selected to further Rust's mission of **empowering everyone to build reliable and efficient software**. Rust targets programs that prioritize * reliability and robustness; * performance, memory usage, and resource consumption; and * long-term maintenance and extensibility. We consider "any two out of the three" as the right heuristic for projects where Rust is a strong contender or possibly the best option. ### Axioms for selecting goals > **Note:** Boilerplate content unchanged from 2024h2 We believe that... * **Rust must deliver on its promise of peak performance and high reliability.** Rust’s maximum advantage is in applications that require peak performance or low-level systems capabilities. We must continue to innovate and support those areas above all. * **Rust's goals require high productivity and ergonomics.** Being attentive to ergonomics broadens Rust impact by making it more appealing for projects that value reliability and maintenance but which don't have strict performance requirements. * **Slow and steady wins the race.** For this first round of goals, we want a small set that can be completed without undue stress. As the Rust open source org continues to grow, the set of goals can grow in size. ## Guide-level explanation [guide-level-explanation]: #guide-level-explanation ### Flagship goals One of the purposes of this meeting is to get input around potential flagship goals. Some thoughts on candidates: * C++ or other interop * Async (generators, etc) * Macro-rules-based macros * RFL stabilization continues * ATPIT / TAIT? (Oli is back.) * Pattern types? * Let chains? * Rust All Hands 2025? * ...? Please add further thoughts. #### Why these particular flagship goals? (TBD--typically one paragraph per goal) ### Project goals The slate of additional project goals are as follows. These goals all have identified owners who will drive the work forward as well as a viable work plan. The goals include asks from the listed Rust teams, which are cataloged in the [reference-level explanation](#reference-level-explanation) section below. Some goals here do not yet have an owner (look for the ![Help wanted][] badge). Teams have reserved some capacity to pursue these goals but until an appropriate owner is found they are only considered provisionally accepted. If you are interested in serving as the owner for one of these orphaned goals, reach out to the mentor listed in the goal to discuss. | Goal | Owner | Progress | | --- | --- | --- | | ["Stabilizable" prototype for expanded const generics](https://rust-lang.github.io/rust-project-goals/2025h1/min_generic_const_arguments.html) | [Boxy][] | <a href='https://github.com/rust-lang/rust-project-goals/issues/100' alt='Tracking issue'><div class='tracking-issue-progress' id='2025h1:rust-lang:rust-project-goals:100'></div></a> | | ["Stabilize" the project goal program](https://rust-lang.github.io/rust-project-goals/2025h1/stabilize-project-goal-program.html) | nikomatsakis | (no tracking issue) | | [Bring the Async Rust experience closer to parity with sync Rust](https://rust-lang.github.io/rust-project-goals/2025h1/async.html) | [Tyler Mandry][] | (no tracking issue) | | [Continue resolving `cargo-semver-checks` blockers for merging into cargo](https://rust-lang.github.io/rust-project-goals/2025h1/cargo-semver-checks.html) | [Predrag Gruevski][] | (no tracking issue) | | [Declarative (`macro_rules!`) macro improvements](https://rust-lang.github.io/rust-project-goals/2025h1/macro-improvements.html) | [Josh Triplett][] | (no tracking issue) | | [Enable incremental Rust adoption in C++ codebases](https://rust-lang.github.io/rust-project-goals/2025h1/incremental-rust-cpp.html) | [Jon Bauman][] and [Tyler Mandry][] | (no tracking issue) | | [Expose experimental LLVM features for GPU offloading](https://rust-lang.github.io/rust-project-goals/2025h1/GPU-Offload.html) | [Manuel Drehwald][] | <a href='https://github.com/rust-lang/rust-project-goals/issues/109' alt='Tracking issue'><div class='tracking-issue-progress' id='2025h1:rust-lang:rust-project-goals:109'></div></a> | | [Finish the libtest json output experiment](https://rust-lang.github.io/rust-project-goals/2025h1/libtest-json.html) | [Ed Page][] | (no tracking issue) | | [Implement Open API Namespace Support](https://rust-lang.github.io/rust-project-goals/2025h1/open-namespaces.html) | ![Help wanted][] | (no tracking issue) | | [Implement restrictions, prepare for stabilization](https://rust-lang.github.io/rust-project-goals/2025h1/restrictions.html) | [Jacob Pratt][] | (no tracking issue) | | [Improve rustc codegen](https://rust-lang.github.io/rust-project-goals/2025h1/improve-rustc-codegen.html) | [Folkert de Vries][], [bjorn3][] | (no tracking issue) | | [Integration of the FLS into the Rust Project](https://rust-lang.github.io/rust-project-goals/2025h1/spec-fls-integration.html) | Joel Marcey | (no tracking issue) | | [Making compiletest more maintainable: reworking directive handling](https://rust-lang.github.io/rust-project-goals/2025h1/compiletest-directive-rework.html) | [[Jieyou Xu][]] | (no tracking issue) | | [Metrics Initiative](https://rust-lang.github.io/rust-project-goals/2025h1/metrics-initiative.html) | yaahc, estebank | (no tracking issue) | | [Next-generation trait solver](https://rust-lang.github.io/rust-project-goals/2025h1/next-solver.html) | [lcnr][] | <a href='https://github.com/rust-lang/rust-project-goals/issues/113' alt='Tracking issue'><div class='tracking-issue-progress' id='2025h1:rust-lang:rust-project-goals:113'></div></a> | | [Optimizing Clippy & linting](https://rust-lang.github.io/rust-project-goals/2025h1/optimize-clippy-linting-2.html) | [Alejandra González][] | <a href='https://github.com/rust-lang/rust-project-goals/issues/114' alt='Tracking issue'><div class='tracking-issue-progress' id='2025h1:rust-lang:rust-project-goals:114'></div></a> | | [Research: How to achieve safety when linking separately compiled code](https://rust-lang.github.io/rust-project-goals/2025h1/safe-linking.html) | [Mara Bos](https://github.com/m-ou-se) and [Jonathan Dönszelman](https://github.com/jdonszelmann) | (no tracking issue) | | [Rust All-Hands 2025!](https://rust-lang.github.io/rust-project-goals/2025h1/all-hands.html) | Mara | (no tracking issue) | | [Rust Specification Testing](https://rust-lang.github.io/rust-project-goals/2025h1/spec-testing.html) | Connor Horman | (no tracking issue) | | [Rust Vision Document](https://rust-lang.github.io/rust-project-goals/2025h1/rust-vision-doc.html) | vision team led by [Niko Matsakis][] | (no tracking issue) | | [SVE and SME on AArch64](https://rust-lang.github.io/rust-project-goals/2025h1/arm-sve-sme.html) | Rust team at Arm | (no tracking issue) | | [Scalable Polonius support on nightly](https://rust-lang.github.io/rust-project-goals/2025h1/Polonius.html) | [Rémy Rakic][] | (no tracking issue) | | [Stabilize public/private dependencies](https://rust-lang.github.io/rust-project-goals/2025h1/pub-priv.html) | ![Help wanted][] | (no tracking issue) | | [Unsafe Fields](https://rust-lang.github.io/rust-project-goals/2025h1/unsafe-fields.html) | [Jack Wrenn][] | (no tracking issue) | | [build-std](https://rust-lang.github.io/rust-project-goals/2025h1/build-std.html) | Rust team at Arm | (no tracking issue) | | [rustc-perf improvements](https://rust-lang.github.io/rust-project-goals/2025h1/perf-improvements.html) | Rust team at Arm, [Jakub Beránek][] | (no tracking issue) | # Reference-level explanation [reference-level-explanation]: #reference-level-explanation The following table highlights the asks from each affected team. The "owner" in the column is the person expecting to do the design/implementation work that the team will be approving. ### bootstrap team | Goal | Owner | Notes | | --- | --- | --- | | *Discussion and moral support* | | | | ↳ [Experimental prototype[^1]](https://rust-lang.github.io/rust-project-goals/2025h1/compiletest-directive-rework.html#ownership-and-team-asks) | [[Jieyou Xu][]] | | | ↳ [[`compiletest`] changes w/ experience from prototype](https://rust-lang.github.io/rust-project-goals/2025h1/compiletest-directive-rework.html#ownership-and-team-asks) | [[Jieyou Xu][]] | | | *General discussion and moral support* | | | | ↳ [Making compiletest more maintainable: reworking directive handling](https://rust-lang.github.io/rust-project-goals/2025h1/compiletest-directive-rework.html#ownership-and-team-asks) | [[Jieyou Xu][]] | | | *Inside Rust blog post for project outcome* | | | | ↳ [Making compiletest more maintainable: reworking directive handling](https://rust-lang.github.io/rust-project-goals/2025h1/compiletest-directive-rework.html#ownership-and-team-asks) | [[Jieyou Xu][]] | | | *Review RFC* | | | | ↳ [Determine precise test structure](https://rust-lang.github.io/rust-project-goals/2025h1/spec-testing.html#ownership-and-team-asks) | Connor Horman | | | *Standard reviews* | | | | ↳ [Experimental prototype[^1]](https://rust-lang.github.io/rust-project-goals/2025h1/compiletest-directive-rework.html#ownership-and-team-asks) | [[Jieyou Xu][]] | Probably mostly [bootstrap] or whoever is more interested in reviewing [`compiletest`] changes | | ↳ [[`compiletest`] changes w/ experience from prototype](https://rust-lang.github.io/rust-project-goals/2025h1/compiletest-directive-rework.html#ownership-and-team-asks) | [[Jieyou Xu][]] | Probably mostly [bootstrap] or whoever is more interested in reviewing [`compiletest`] changes | ### cargo team | Goal | Owner | Notes | | --- | --- | --- | | *Discussion and moral support* | | | | ↳ [Continue resolving `cargo-semver-checks` blockers for merging into cargo](https://rust-lang.github.io/rust-project-goals/2025h1/cargo-semver-checks.html#ownership-and-team-asks) | [Predrag Gruevski][] | | | ↳ [Stabilize public/private dependencies](https://rust-lang.github.io/rust-project-goals/2025h1/pub-priv.html#ownership-and-team-asks) | ![Help wanted][] | | | ↳ [build-std](https://rust-lang.github.io/rust-project-goals/2025h1/build-std.html#ownership-and-team-asks) | Rust team at Arm | | | ↳ [Implement Open API Namespace Support](https://rust-lang.github.io/rust-project-goals/2025h1/open-namespaces.html#ownership-and-team-asks) | ![Help wanted][] | | | *Standard reviews* | | | | ↳ [Stabilise MVP of build-std](https://rust-lang.github.io/rust-project-goals/2025h1/build-std.html#ownership-and-team-asks) | [Adam Gemmell][] | | ### clippy team | Goal | Owner | Notes | | --- | --- | --- | | *Standard reviews* | | | | ↳ [Optimization work](https://rust-lang.github.io/rust-project-goals/2025h1/optimize-clippy-linting-2.html#ownership-and-team-asks) | [Alejandra González][] | | ### compiler team | Goal | Owner | Notes | | --- | --- | --- | | *Code reviews* | | | | ↳ [Stabilize restrictions](https://rust-lang.github.io/rust-project-goals/2025h1/restrictions.html#ownership-and-team-asks) | [Jacob Pratt][] | | | *Consultations for desired test behaviors* | | | | ↳ [Making compiletest more maintainable: reworking directive handling](https://rust-lang.github.io/rust-project-goals/2025h1/compiletest-directive-rework.html#ownership-and-team-asks) | [[Jieyou Xu][]] | Test infra consumers | | *Design meeting* | | | | ↳ [Enable incremental Rust adoption in C++ codebases](https://rust-lang.github.io/rust-project-goals/2025h1/incremental-rust-cpp.html#ownership-and-team-asks) | [Jon Bauman][] and [Tyler Mandry][] | 2 meetings expected; ideal audience is lang team with compiler team reps | | *Discussion and moral support* | | | | ↳ [Improve rustc codegen](https://rust-lang.github.io/rust-project-goals/2025h1/improve-rustc-codegen.html#ownership-and-team-asks) | [Folkert de Vries][], [bjorn3][] | | | ↳ [Stabilize public/private dependencies](https://rust-lang.github.io/rust-project-goals/2025h1/pub-priv.html#ownership-and-team-asks) | ![Help wanted][] | | | ↳ [Experimental prototype[^1]](https://rust-lang.github.io/rust-project-goals/2025h1/compiletest-directive-rework.html#ownership-and-team-asks) | [[Jieyou Xu][]] | | | ↳ [[`compiletest`] changes w/ experience from prototype](https://rust-lang.github.io/rust-project-goals/2025h1/compiletest-directive-rework.html#ownership-and-team-asks) | [[Jieyou Xu][]] | | | ↳ [Enable incremental Rust adoption in C++ codebases](https://rust-lang.github.io/rust-project-goals/2025h1/incremental-rust-cpp.html#ownership-and-team-asks) | [Jon Bauman][] and [Tyler Mandry][] | | | ↳ [Implement Open API Namespace Support](https://rust-lang.github.io/rust-project-goals/2025h1/open-namespaces.html#ownership-and-team-asks) | ![Help wanted][] | | | *Discussions and moral support* | | | | ↳ [SVE and SME on AArch64](https://rust-lang.github.io/rust-project-goals/2025h1/arm-sve-sme.html#ownership-and-team-asks) | Rust team at Arm | | | *General discussion and moral support* | | | | ↳ [Making compiletest more maintainable: reworking directive handling](https://rust-lang.github.io/rust-project-goals/2025h1/compiletest-directive-rework.html#ownership-and-team-asks) | [[Jieyou Xu][]] | | | *Inside Rust blog post for project outcome* | | | | ↳ [Making compiletest more maintainable: reworking directive handling](https://rust-lang.github.io/rust-project-goals/2025h1/compiletest-directive-rework.html#ownership-and-team-asks) | [[Jieyou Xu][]] | | | *Review RFC* | | | | ↳ [Determine precise test structure](https://rust-lang.github.io/rust-project-goals/2025h1/spec-testing.html#ownership-and-team-asks) | Connor Horman | | | *Reviews* | | | | ↳ [Return type notation](https://rust-lang.github.io/rust-project-goals/2025h1/async.html#ownership-and-team-asks) | [Niko Matsakis][] | | | ↳ [Implementable trait aliases](https://rust-lang.github.io/rust-project-goals/2025h1/async.html#ownership-and-team-asks) | [Tyler Mandry][] | | | *Reviews/feedback* | | | | ↳ [Experimental implementation](https://rust-lang.github.io/rust-project-goals/2025h1/safe-linking.html#ownership-and-team-asks) | Msc student | | | *Standard reviews* | | | | ↳ [Expose experimental LLVM features for GPU offloading](https://rust-lang.github.io/rust-project-goals/2025h1/GPU-Offload.html#ownership-and-team-asks) | [Manuel Drehwald][] | | | ↳ [Nightly experiment: improved state machine codegen](https://rust-lang.github.io/rust-project-goals/2025h1/improve-rustc-codegen.html#ownership-and-team-asks) | [Folkert de Vries][], [bjorn3][] | | | ↳ [Stabilize Unsafe Fields](https://rust-lang.github.io/rust-project-goals/2025h1/unsafe-fields.html#ownership-and-team-asks) | [Jack Wrenn][] | | | ↳ [Experimental prototype[^1]](https://rust-lang.github.io/rust-project-goals/2025h1/compiletest-directive-rework.html#ownership-and-team-asks) | [[Jieyou Xu][]] | Probably mostly [bootstrap] or whoever is more interested in reviewing [`compiletest`] changes | | ↳ [[`compiletest`] changes w/ experience from prototype](https://rust-lang.github.io/rust-project-goals/2025h1/compiletest-directive-rework.html#ownership-and-team-asks) | [[Jieyou Xu][]] | Probably mostly [bootstrap] or whoever is more interested in reviewing [`compiletest`] changes | | *Update performance regression policy* | | | | ↳ [rustc-perf improvements](https://rust-lang.github.io/rust-project-goals/2025h1/perf-improvements.html#ownership-and-team-asks) | Rust team at Arm, [Jakub Beránek][] | | ### infra team | Goal | Owner | Notes | | --- | --- | --- | | *Deploy rustc-perf improvements* | | | | ↳ [rustc-perf improvements](https://rust-lang.github.io/rust-project-goals/2025h1/perf-improvements.html#ownership-and-team-asks) | Rust team at Arm, [Jakub Beránek][] | | | *Discussion and moral support* | | | | ↳ [rustc-perf improvements](https://rust-lang.github.io/rust-project-goals/2025h1/perf-improvements.html#ownership-and-team-asks) | Rust team at Arm, [Jakub Beránek][] | | | *Inside Rust blog post announcing improvements* | | | | ↳ [rustc-perf improvements](https://rust-lang.github.io/rust-project-goals/2025h1/perf-improvements.html#ownership-and-team-asks) | Rust team at Arm, [Jakub Beránek][] | | | *Set-up testing infrastructure* | | | | ↳ [rustc-perf improvements](https://rust-lang.github.io/rust-project-goals/2025h1/perf-improvements.html#ownership-and-team-asks) | Rust team at Arm, [Jakub Beránek][] | | | *Standard reviews* | | | | ↳ [Improve rustc-perf](https://rust-lang.github.io/rust-project-goals/2025h1/perf-improvements.html#ownership-and-team-asks) | Rust team at Arm, [Jakub Beránek][] | | ### lang team | Goal | Owner | Notes | | --- | --- | --- | | *Design decisions* | | | | ↳ [Stabilize restrictions](https://rust-lang.github.io/rust-project-goals/2025h1/restrictions.html#ownership-and-team-asks) | [Jacob Pratt][] | for unresolved questions, including syntax | | *Design meeting* | | | | ↳ [Trait for generators (https://rust-lang.github.io/rust-project-goals/2025h1/sync)](async.html#ownership-and-team-asks) | [Tyler Mandry][] | 2 meetings expected | | ↳ [Trait for async iteration](https://rust-lang.github.io/rust-project-goals/2025h1/async.html#ownership-and-team-asks) | [Tyler Mandry][] | 2 meetings expected | | ↳ [Design and iteration for macro fragment fields](https://rust-lang.github.io/rust-project-goals/2025h1/macro-improvements.html#ownership-and-team-asks) | [Josh Triplett][] | | | ↳ [Stabilize Unsafe Fields](https://rust-lang.github.io/rust-project-goals/2025h1/unsafe-fields.html#ownership-and-team-asks) | [Jack Wrenn][] | | | ↳ [Enable incremental Rust adoption in C++ codebases](https://rust-lang.github.io/rust-project-goals/2025h1/incremental-rust-cpp.html#ownership-and-team-asks) | [Jon Bauman][] and [Tyler Mandry][] | 2 meetings expected; ideal audience is lang team with compiler team reps | | *Discussion and moral support* | | | | ↳ [Implement restrictions, prepare for stabilization](https://rust-lang.github.io/rust-project-goals/2025h1/restrictions.html#ownership-and-team-asks) | [Jacob Pratt][] | | | ↳ ["Stabilizable" prototype for expanded const generics](https://rust-lang.github.io/rust-project-goals/2025h1/min_generic_const_arguments.html#ownership-and-team-asks) | [Boxy][] | | | ↳ [Declarative (`macro_rules!`) macro improvements](https://rust-lang.github.io/rust-project-goals/2025h1/macro-improvements.html#ownership-and-team-asks) | [Josh Triplett][] | | | ↳ [Design for macro metavariable constructs](https://rust-lang.github.io/rust-project-goals/2025h1/macro-improvements.html#ownership-and-team-asks) | [Josh Triplett][] | | | ↳ [Unsafe Fields](https://rust-lang.github.io/rust-project-goals/2025h1/unsafe-fields.html#ownership-and-team-asks) | [Jack Wrenn][] | [Zulip] | | ↳ [Enable incremental Rust adoption in C++ codebases](https://rust-lang.github.io/rust-project-goals/2025h1/incremental-rust-cpp.html#ownership-and-team-asks) | [Jon Bauman][] and [Tyler Mandry][] | | | *Discussions and moral support* | | | | ↳ [SVE and SME on AArch64](https://rust-lang.github.io/rust-project-goals/2025h1/arm-sve-sme.html#ownership-and-team-asks) | Rust team at Arm | | | *Feedback on conclusions* | | | | ↳ [Research: How to achieve safety when linking separately compiled code](https://rust-lang.github.io/rust-project-goals/2025h1/safe-linking.html#ownership-and-team-asks) | [Mara Bos](https://github.com/m-ou-se) and [Jonathan Dönszelman](https://github.com/jdonszelmann) | also the Rust community (users) | | *Input and discussion on concept of safety* | | | | ↳ [Research: How to achieve safety when linking separately compiled code](https://rust-lang.github.io/rust-project-goals/2025h1/safe-linking.html#ownership-and-team-asks) | [Mara Bos](https://github.com/m-ou-se) and [Jonathan Dönszelman](https://github.com/jdonszelmann) | | | *Inside Rust blog post inviting feedback* | | | | ↳ [Implement restrictions, prepare for stabilization](https://rust-lang.github.io/rust-project-goals/2025h1/restrictions.html#ownership-and-team-asks) | [Jacob Pratt][] | feedback on syntax if no team consensus | | *Inside Rust blog post on additional capabilities* | | | | ↳ [Declarative (https://rust-lang.github.io/rust-project-goals/2025h1/`macro_rules!`) macro improvements](macro-improvements.html#ownership-and-team-asks) | [Josh Triplett][] | | | *Inside Rust blog post on attribute/derive macros* | | | | ↳ [Declarative (https://rust-lang.github.io/rust-project-goals/2025h1/`macro_rules!`) macro improvements](macro-improvements.html#ownership-and-team-asks) | [Josh Triplett][] | | | *Lang-team experiment* | | | | ↳ [Expose experimental LLVM features for GPU offloading](https://rust-lang.github.io/rust-project-goals/2025h1/GPU-Offload.html#ownership-and-team-asks) | [Manuel Drehwald][] | (approved) | | ↳ [Nightly experiment: improved state machine codegen](https://rust-lang.github.io/rust-project-goals/2025h1/improve-rustc-codegen.html#ownership-and-team-asks) | [Folkert de Vries][], [bjorn3][] | | | *Prioritized nominations* | | | | ↳ [Design for `macro_rules!` attributes/derives](https://rust-lang.github.io/rust-project-goals/2025h1/macro-improvements.html#ownership-and-team-asks) | [Josh Triplett][] | | | *RFC decision* | | | | ↳ [Implementable trait aliases](https://rust-lang.github.io/rust-project-goals/2025h1/async.html#ownership-and-team-asks) | [Tyler Mandry][] | | | ↳ [Pin reborrowing](https://rust-lang.github.io/rust-project-goals/2025h1/async.html#ownership-and-team-asks) | [Eric Holk][] | | | ↳ [Trait for generators (https://rust-lang.github.io/rust-project-goals/2025h1/sync)](async.html#ownership-and-team-asks) | [Tyler Mandry][] | | | ↳ [Trait for async iteration](https://rust-lang.github.io/rust-project-goals/2025h1/async.html#ownership-and-team-asks) | [Tyler Mandry][] | | | ↳ [Design and iteration for macro fragment fields](https://rust-lang.github.io/rust-project-goals/2025h1/macro-improvements.html#ownership-and-team-asks) | [Josh Triplett][] | | | ↳ [Stabilize Unsafe Fields](https://rust-lang.github.io/rust-project-goals/2025h1/unsafe-fields.html#ownership-and-team-asks) | [Jack Wrenn][] | | | ↳ [Design for `macro_rules!` attributes/derives](https://rust-lang.github.io/rust-project-goals/2025h1/macro-improvements.html#ownership-and-team-asks) | [Josh Triplett][] | | | ↳ [Design and iteration for macro fragment fields](https://rust-lang.github.io/rust-project-goals/2025h1/macro-improvements.html#ownership-and-team-asks) | [Josh Triplett][] | | | *Review RFC* | | | | ↳ [Determine precise test structure](https://rust-lang.github.io/rust-project-goals/2025h1/spec-testing.html#ownership-and-team-asks) | Connor Horman | | | *Review/accept lang experiment* | | | | ↳ [Experimental implementation](https://rust-lang.github.io/rust-project-goals/2025h1/safe-linking.html#ownership-and-team-asks) | Msc student | | | *Stabilization decision* | | | | ↳ [Return type notation](https://rust-lang.github.io/rust-project-goals/2025h1/async.html#ownership-and-team-asks) | [Niko Matsakis][] | | | ↳ [Stabilize restrictions](https://rust-lang.github.io/rust-project-goals/2025h1/restrictions.html#ownership-and-team-asks) | [Jacob Pratt][] | | | ↳ [Design for `macro_rules!` attributes/derives](https://rust-lang.github.io/rust-project-goals/2025h1/macro-improvements.html#ownership-and-team-asks) | [Josh Triplett][] | | | *~~RFC decision~~* | | | | ↳ [Return type notation](https://rust-lang.github.io/rust-project-goals/2025h1/async.html#ownership-and-team-asks) | [Niko Matsakis][] | ![Complete][] | ### leadership-council team | Goal | Owner | Notes | | --- | --- | --- | | *Allocate funds for event* | | | | ↳ [Rust All-Hands 2025!](https://rust-lang.github.io/rust-project-goals/2025h1/all-hands.html#ownership-and-team-asks) | Mara | Done! | | *Approve goal slate for 2025h1* | | | | ↳ ["Stabilize" the project goal program](https://rust-lang.github.io/rust-project-goals/2025h1/stabilize-project-goal-program.html#ownership-and-team-asks) | nikomatsakis | | | *Create supporting subteam + Zulip stream* | | | | ↳ [Rust Vision Document](https://rust-lang.github.io/rust-project-goals/2025h1/rust-vision-doc.html#ownership-and-team-asks) | vision team led by [Niko Matsakis][] | | | *Decide on what to get (stickers? shirts?)* | | | | ↳ [Team swag](https://rust-lang.github.io/rust-project-goals/2025h1/all-hands.html#ownership-and-team-asks) | Mara | Suggestions very welcome! | | *Decide to have another Rust All-Hands!* | | | | ↳ [Rust All-Hands 2025!](https://rust-lang.github.io/rust-project-goals/2025h1/all-hands.html#ownership-and-team-asks) | Mara | Done! | | *Prepare one or two plenary sessions* | | | | ↳ [Rust All-Hands 2025!](https://rust-lang.github.io/rust-project-goals/2025h1/all-hands.html#ownership-and-team-asks) | Mara | | | *RFC decision* | | | | ↳ ["Stabilize" the project goal program](https://rust-lang.github.io/rust-project-goals/2025h1/stabilize-project-goal-program.html#ownership-and-team-asks) | nikomatsakis | | ### libs-api team | Goal | Owner | Notes | | --- | --- | --- | | *RFC decision* | | | | ↳ [Trait for generators (https://rust-lang.github.io/rust-project-goals/2025h1/sync)](async.html#ownership-and-team-asks) | [Tyler Mandry][] | | | ↳ [Trait for async iteration](https://rust-lang.github.io/rust-project-goals/2025h1/async.html#ownership-and-team-asks) | [Tyler Mandry][] | | ### release team | Goal | Owner | Notes | | --- | --- | --- | | *Integrate FLS into release process* | | | | ↳ [Integration of the FLS into the Rust Project](https://rust-lang.github.io/rust-project-goals/2025h1/spec-fls-integration.html#ownership-and-team-asks) | Joel Marcey | | ### rustdoc team | Goal | Owner | Notes | | --- | --- | --- | | *Consultations for desired test behaviors* | | | | ↳ [Making compiletest more maintainable: reworking directive handling](https://rust-lang.github.io/rust-project-goals/2025h1/compiletest-directive-rework.html#ownership-and-team-asks) | [[Jieyou Xu][]] | Test infra consumers | | *Discussion and moral support* | | | | ↳ [Continue resolving `cargo-semver-checks` blockers for merging into cargo](https://rust-lang.github.io/rust-project-goals/2025h1/cargo-semver-checks.html#ownership-and-team-asks) | [Predrag Gruevski][] | | ### spec team | Goal | Owner | Notes | | --- | --- | --- | | *Complete Taking Ownership of the FLS* | | | | ↳ [Integration of the FLS into the Rust Project](https://rust-lang.github.io/rust-project-goals/2025h1/spec-fls-integration.html#ownership-and-team-asks) | Joel Marcey | Prior to, or shortly into January 2025. | | *Integrate FLS into T-spec processes* | | | | ↳ [Integration of the FLS into the Rust Project](https://rust-lang.github.io/rust-project-goals/2025h1/spec-fls-integration.html#ownership-and-team-asks) | Joel Marcey | | | *Review RFC* | | | | ↳ [Determine precise test structure](https://rust-lang.github.io/rust-project-goals/2025h1/spec-testing.html#ownership-and-team-asks) | Connor Horman | | | *Review, iterate, and accept Integration Proposal* | | | | ↳ [Integrate FLS into T-spec processes](https://rust-lang.github.io/rust-project-goals/2025h1/spec-fls-integration.html#ownership-and-team-asks) | ![Team][] [spec] | End of March 2025 | ### testing-devex team | Goal | Owner | Notes | | --- | --- | --- | | *Discussion and moral support* | | | | ↳ [Finish the libtest json output experiment](https://rust-lang.github.io/rust-project-goals/2025h1/libtest-json.html#ownership-and-team-asks) | [Ed Page][] | | ### types team | Goal | Owner | Notes | | --- | --- | --- | | *Discussion and moral support* | | | | ↳ ["Stabilizable" prototype for expanded const generics](https://rust-lang.github.io/rust-project-goals/2025h1/min_generic_const_arguments.html#ownership-and-team-asks) | [Boxy][] | | | ↳ [Next-generation trait solver](https://rust-lang.github.io/rust-project-goals/2025h1/next-solver.html#ownership-and-team-asks) | [lcnr][] | | | *Discussions and moral support* | | | | ↳ [SVE and SME on AArch64](https://rust-lang.github.io/rust-project-goals/2025h1/arm-sve-sme.html#ownership-and-team-asks) | Rust team at Arm | | | *FCP decisions on necessary refactorings* | | | | ↳ [Work towards stabilization](https://rust-lang.github.io/rust-project-goals/2025h1/next-solver.html#ownership-and-team-asks) | [lcnr][] | | | *RFC decision* | | | | ↳ [Implementable trait aliases](https://rust-lang.github.io/rust-project-goals/2025h1/async.html#ownership-and-team-asks) | [Tyler Mandry][] | | | *Reviews* | | | | ↳ [Return type notation](https://rust-lang.github.io/rust-project-goals/2025h1/async.html#ownership-and-team-asks) | [Niko Matsakis][] | | | ↳ [Implementable trait aliases](https://rust-lang.github.io/rust-project-goals/2025h1/async.html#ownership-and-team-asks) | [Tyler Mandry][] | | | *Standard reviews* | | | | ↳ [Work towards stabilization](https://rust-lang.github.io/rust-project-goals/2025h1/next-solver.html#ownership-and-team-asks) | [lcnr][] | | | ↳ [Scalable Polonius support on nightly](https://rust-lang.github.io/rust-project-goals/2025h1/Polonius.html#ownership-and-team-asks) | [Rémy Rakic][] | [Matthew Jasper][] | ### wg-macros team | Goal | Owner | Notes | | --- | --- | --- | | *Discussion and moral support* | | | | ↳ [Design for macro metavariable constructs](https://rust-lang.github.io/rust-project-goals/2025h1/macro-improvements.html#ownership-and-team-asks) | [Josh Triplett][] | | | *RFC decisions* | | | | ↳ [Design and iteration for macro fragment fields](https://rust-lang.github.io/rust-project-goals/2025h1/macro-improvements.html#ownership-and-team-asks) | [Josh Triplett][] | | ### Definitions Definitions for terms used above: * *Author RFC* and *Implementation* means actually writing the code, document, whatever. * *Design meeting* means holding a synchronous meeting to review a proposal and provide feedback (no decision expected). * *RFC decisions* means reviewing an RFC and deciding whether to accept. * *Org decisions* means reaching a decision on an organizational or policy matter. * *Secondary review* of an RFC means that the team is "tangentially" involved in the RFC and should be expected to briefly review. * *Stabilizations* means reviewing a stabilization and report and deciding whether to stabilize. * *Standard reviews* refers to reviews for PRs against the repository; these PRs are not expected to be unduly large or complicated. * Other kinds of decisions: * [Lang team experiments](https://lang-team.rust-lang.org/how_to/experiment.html) are used to add nightly features that do not yet have an RFC. They are limited to trusted contributors and are used to resolve design details such that an RFC can be written. * Compiler [Major Change Proposal (MCP)](https://forge.rust-lang.org/compiler/mcp.html) is used to propose a 'larger than average' change and get feedback from the compiler team. * Library [API Change Proposal (ACP)](https://std-dev-guide.rust-lang.org/development/feature-lifecycle.html) describes a change to the standard library. [AGS]: ./Project-goal-slate.md [AMF]: ./a-mir-formality.md [Async]: ./async.md [ATPIT]: ./ATPIT.md [CS]: ./cargo-script.md [CT]: ./const-traits.md [ERC]: ./ergonomic-rc.md [MGCA]: ./min_generic_const_arguments.md [NBNLB]: ./Polonius.md [NGS]: ./next-solver.md [PET]: ./Patterns-of-empty-types.md [PGC]: ./pubgrub-in-cargo.md [RFL]: ./rfl_stable.md [SBS]: ./sandboxed-build-script.md [YKR]: ./yank-crates-with-a-reason.md [SC]: ./Rust-for-SciComp.md [OC]: ./optimize-clippy.md <!-- Github usernames --> [all]: https://www.rust-lang.org/governance/teams [alumni]: https://www.rust-lang.org/governance/teams [android]: https://www.rust-lang.org/governance/teams [apple]: https://www.rust-lang.org/governance/teams [arewewebyet]: https://www.rust-lang.org/governance/teams [arm]: https://www.rust-lang.org/governance/teams [arm-maintainers]: https://www.rust-lang.org/governance/teams [book]: https://www.rust-lang.org/governance/teams [bootstrap]: https://github.com/rust-lang/rust [cargo]: https://github.com/rust-lang/cargo [clippy]: https://github.com/rust-lang/rust-clippy [clippy-contributors]: https://github.com/rust-lang/rust-clippy [cloud-compute]: https://www.rust-lang.org/governance/teams [codegen-c-maintainers]: https://www.rust-lang.org/governance/teams [community]: https://www.rust-lang.org/governance/teams [community-content]: https://github.com/rust-community/content-team [community-events]: https://github.com/rust-community/events-team [community-localization]: https://github.com/rust-lang/community-localization [community-rustbridge]: https://github.com/rustbridge/team [community-survey]: https://github.com/rust-lang/surveys [compiler]: http://github.com/rust-lang/compiler-team [compiler-fcp]: https://www.rust-lang.org/governance/teams [compiler-maintainers]: https://github.com/rust-lang/compiler-team [core]: https://www.rust-lang.org/governance/teams [council-librarians]: https://www.rust-lang.org/governance/teams [crate-maintainers]: https://www.rust-lang.org/governance/teams [crates-io]: https://github.com/rust-lang/crates.io [crates-io-admins]: https://www.rust-lang.org/governance/teams [crates-io-on-call]: https://www.rust-lang.org/governance/teams [devtools]: https://github.com/rust-dev-tools/dev-tools-team [docker]: https://www.rust-lang.org/governance/teams [docs-rs]: https://github.com/rust-lang/docs.rs [docs-rs-reviewers]: https://www.rust-lang.org/governance/teams [emacs]: https://www.rust-lang.org/governance/teams [emscripten]: https://www.rust-lang.org/governance/teams [foundation-email-redirects]: https://www.rust-lang.org/governance/teams [fuchsia]: https://www.rust-lang.org/governance/teams [goal-owners]: https://www.rust-lang.org/governance/teams [gsoc-contributors]: https://www.rust-lang.org/governance/teams [icebreakers-cleanup-crew]: https://www.rust-lang.org/governance/teams [icebreakers-llvm]: https://www.rust-lang.org/governance/teams [infra]: https://github.com/rust-lang/infra-team [infra-admins]: https://www.rust-lang.org/governance/teams [infra-bors]: https://www.rust-lang.org/governance/teams [inside-rust-reviewers]: https://www.rust-lang.org/governance/teams [lang]: http://github.com/rust-lang/lang-team [lang-advisors]: https://www.rust-lang.org/governance/teams [lang-docs]: https://www.rust-lang.org/governance/teams [lang-ops]: https://www.rust-lang.org/governance/teams [launching-pad]: https://www.rust-lang.org/governance/teams [leadership-council]: https://github.com/rust-lang/leadership-council [leads]: https://www.rust-lang.org/governance/teams [libs]: https://github.com/rust-lang/libs-team [libs-api]: https://www.rust-lang.org/governance/teams [libs-contributors]: https://www.rust-lang.org/governance/teams [loongarch]: https://www.rust-lang.org/governance/teams [miri]: https://github.com/rust-lang/miri [mods]: https://github.com/rust-lang/moderation-team [mods-discord]: https://www.rust-lang.org/governance/teams [mods-discourse]: https://www.rust-lang.org/governance/teams [opsem]: https://github.com/rust-lang/opsem-team [ospp]: https://www.rust-lang.org/governance/teams [ospp-contributors]: https://www.rust-lang.org/governance/teams [project-async-crashdump-debugging]: https://github.com/rust-lang/async-crashdump-debugging-initiative [project-const-generics]: https://github.com/rust-lang/project-const-generics [project-const-traits]: https://www.rust-lang.org/governance/teams [project-dyn-upcasting]: https://github.com/rust-lang/dyn-upcasting-coercion-initiative [project-edition-2024]: https://www.rust-lang.org/governance/teams [project-exploit-mitigations]: https://github.com/rust-lang/project-exploit-mitigations [project-generic-associated-types]: https://github.com/rust-lang/generic-associated-types-initiative [project-group-leads]: https://www.rust-lang.org/governance/teams [project-impl-trait]: https://github.com/rust-lang/impl-trait-initiative [project-keyword-generics]: https://github.com/rust-lang/keyword-generics-initiative [project-negative-impls]: https://github.com/rust-lang/negative-impls-initiative [project-portable-simd]: https://www.rust-lang.org/governance/teams [project-stable-mir]: https://github.com/rust-lang/project-stable-mir [project-trait-system-refactor]: https://github.com/rust-lang/types-team [regex]: https://github.com/rust-lang/regex [release]: https://github.com/rust-lang/release-team [release-publishers]: https://www.rust-lang.org/governance/teams [risc-v]: https://www.rust-lang.org/governance/teams [rust-analyzer]: https://github.com/rust-lang/rust-analyzer [rust-analyzer-contributors]: https://github.com/rust-lang/rust-analyzer [rust-for-linux]: https://www.rust-lang.org/governance/teams [rustconf-emails]: https://www.rust-lang.org/governance/teams [rustdoc]: https://github.com/rust-lang/rust [rustdoc-frontend]: https://www.rust-lang.org/governance/teams [rustfmt]: https://github.com/rust-lang/rustfmt [rustlings]: https://www.rust-lang.org/governance/teams [rustup]: https://github.com/rust-lang/rustup [social-media]: https://www.rust-lang.org/governance/teams [spec]: https://github.com/rust-lang/spec [spec-contributors]: https://github.com/rust-lang/spec [style]: https://github.com/rust-lang/style-team [team-repo-admins]: https://www.rust-lang.org/governance/teams [testing-devex]: https://www.rust-lang.org/governance/teams [triagebot]: https://github.com/rust-lang/triagebot [twir]: https://www.rust-lang.org/governance/teams [twir-reviewers]: https://www.rust-lang.org/governance/teams [types]: https://github.com/rust-lang/types-team [vim]: https://www.rust-lang.org/governance/teams [wasi]: https://www.rust-lang.org/governance/teams [wasm]: https://www.rust-lang.org/governance/teams [web-presence]: https://www.rust-lang.org/governance/teams [website]: https://www.rust-lang.org/governance/teams [wg-allocators]: https://github.com/rust-lang/wg-allocators [wg-async]: https://github.com/rust-lang/wg-async [wg-binary-size]: https://github.com/rust-lang/wg-binary-size [wg-bindgen]: https://github.com/rust-lang/rust-bindgen [wg-cli]: https://www.rust-lang.org/governance/teams [wg-compiler-performance]: https://github.com/rust-lang/rustc-perf [wg-const-eval]: https://github.com/rust-lang/const-eval [wg-debugging]: https://www.rust-lang.org/governance/teams [wg-diagnostics]: https://rust-lang.github.io/compiler-team/working-groups/diagnostics/ [wg-embedded]: https://github.com/rust-embedded/wg [wg-embedded-core]: https://www.rust-lang.org/governance/teams [wg-embedded-cortex-a]: https://www.rust-lang.org/governance/teams [wg-embedded-cortex-m]: https://www.rust-lang.org/governance/teams [wg-embedded-cortex-r]: https://www.rust-lang.org/governance/teams [wg-embedded-hal]: https://www.rust-lang.org/governance/teams [wg-embedded-infra]: https://www.rust-lang.org/governance/teams [wg-embedded-libs]: https://www.rust-lang.org/governance/teams [wg-embedded-linux]: https://www.rust-lang.org/governance/teams [wg-embedded-msp430]: https://www.rust-lang.org/governance/teams [wg-embedded-resources]: https://www.rust-lang.org/governance/teams [wg-embedded-riscv]: https://www.rust-lang.org/governance/teams [wg-embedded-tools]: https://www.rust-lang.org/governance/teams [wg-embedded-triage]: https://www.rust-lang.org/governance/teams [wg-ffi-unwind]: https://github.com/rust-lang/project-ffi-unwind [wg-gamedev]: https://github.com/rust-gamedev [wg-gcc-backend]: https://github.com/rust-lang/rustc_codegen_gcc [wg-incr-comp]: https://www.rust-lang.org/governance/teams [wg-inline-asm]: https://github.com/rust-lang/project-inline-asm [wg-leads]: https://www.rust-lang.org/governance/teams [wg-llvm]: https://rust-lang.github.io/compiler-team/working-groups/llvm/ [wg-macros]: https://github.com/rust-lang/wg-macros [wg-mir-opt]: https://rust-lang.github.io/compiler-team/working-groups/mir-opt/ [wg-parallel-rustc]: https://rust-lang.github.io/compiler-team/working-groups/parallel-rustc/ [wg-polonius]: https://rust-lang.github.io/compiler-team/working-groups/polonius/ [wg-polymorphization]: https://rust-lang.github.io/compiler-team/working-groups/polymorphization/ [wg-prioritization]: https://rust-lang.github.io/compiler-team/working-groups/prioritization/ [wg-rust-by-example]: https://github.com/rust-lang/rust-by-example [wg-rustc-dev-guide]: https://rust-lang.github.io/compiler-team/working-groups/rustc-dev-guide/ [wg-rustc-reading-club]: https://rust-lang.github.io/rustc-reading-club/ [wg-safe-transmute]: https://github.com/rust-lang/project-safe-transmute [wg-secure-code]: https://github.com/rust-secure-code/wg [wg-security-response]: https://github.com/rust-lang/wg-security-response [wg-self-profile]: https://rust-lang.github.io/compiler-team/working-groups/self-profile/ [wg-triage]: https://www.rust-lang.org/governance/teams [windows]: https://www.rust-lang.org/governance/teams [Boxy]: https://github.com/BoxyUwU [Manuel Drehwald]: https://github.com/ZuseZ4 [Adam Gemmell]: https://github.com/adamgemmell [Jon Bauman]: https://github.com/baumanj [bjorn3]: https://github.com/bjorn3 [Alejandra González]: https://github.com/blyxyas [Eric Holk]: https://github.com/eholk [Ed Page]: https://github.com/epage [Folkert de Vries]: https://github.com/folkertdev [Jacob Pratt]: https://github.com/jhpratt [Jieyou Xu]: https://github.com/jieyouxu [Josh Triplett]: https://github.com/joshtriplett [Jack Wrenn]: https://github.com/jswrenn [Jakub Beránek]: https://github.com/kobzol [lcnr]: https://github.com/lcnr [Rémy Rakic]: https://github.com/lqd [Matthew Jasper]: https://github.com/matthewjasper [Niko Matsakis]: https://github.com/nikomatsakis [Predrag Gruevski]: https://github.com/obi1kenobi [Tyler Mandry]: https://github.com/tmandry [Complete]: https://img.shields.io/badge/Complete-green [Help wanted]: https://img.shields.io/badge/Help%20wanted-yellow [Not funded]: https://img.shields.io/badge/Not%20yet%20funded-red [TBD]: https://img.shields.io/badge/TBD-red [Team]: https://img.shields.io/badge/Team%20ask-red --- # Discussion ## Attendance - People: TC, nikomatsakis, tmandry, Josh, pnkfelix, cramertj, davidtwco, Xiang, yosh ## Meeting roles - Minutes, driver: TC ## Normalise "asks" wording davidtwco: It would be nice if some of the asks were normalised, e.g. "Reviews"/"Standard reviews"/"Reviews feedback". Josh: I think part of that would get addressed if the template called out that these would be aggregated based on the titles, and then people would be less inclined to change them. (Also, we could have separate columns for "description" and "category" or similar, and tell people that the "category" should be textually identical to one of the standard categories if at all possible.) NM: Yes, I plan to go through and normalize them. ## Missing "asks" davidtwco: Some of the team asks from Arm's RFCs aren't in these tables, e.g. "RFC Decision" or "Standard reviews" for SVE/SME. I'm not sure if that's intended or an issue with the generator for this. NM: I'll look into why the ARM asks aren't in the tables. ## Async: unsafe binders are more important than they seem yosh: right now unsafe binders are listed as a "stretch goal", but we practically need them for two distinct reasons today: - to enable asynchronous closures to work with `poll_*` fn traits - to enable concurrent operations to be written for AFIT-based traits Without these we're blocked on both in the ecosystem. tmandry: I agree we need them, but I made them stretch goals after talking to compiler-errors because we are limited by types team bandwidth. cramertj: Is this mostly a personnel issue, or is this effort blocked on other major changes, e.g. new trait solver? tmandry: Mostly lack of reviewers, I think. cramertj: Can we "just" solve this by throwing time / people at it? Or is it a matter of needing to bring up new ppl? tmandry: The latter. tmandry: I talked with CE recently; he felt there wasn't enough review capacity in the types team to deal with this. That's why I put this as a stretch goal. yosh: that makes a lot of sense. Thank you for clarifying! --- cramertj: What's the purpose of goals here? NM: People come to us with these. We have to answer them. The question is whether we're able to allocate the resources needed. That'd be a reason that we could say no. ## Asks for types team nikomatsakis: I'd like to call out asks for the types team from our team. Here are some of my thoughts * coherence / orphan rules to address asks from bevy, rfl, and to enable facade-like patterns * negative impls NM: The types team has a meeting next Wednesday. I'm curious what we could bring to that. NM: Looking at the list, I don't see orphan rules on there, which is something we should talk about. NM: For negative bounds, do we need them on stable, or are we happy with what's on unstable? tmandry: I thought it might need more than what's on unstable, but there's also the `negative_impls_in_coherence` (or similar) feature flag that seems to do what we need. --- TC: To the broad question: type providers? const effect generics? On the const effect generics, CE, Oli, and fee1-dead have done a lot of work and are feeling confident about it and talking seriously about wanting a near-term stabilization. NM: Good callout. The const effect generics is almost a reverse ask, as they have the infrastructure in place, and we have a lot of the design work yet to do. ## Async: generator trait and effects yosh: Very broadly: how do we plan to make progress on this? We've got a bit of a gordian knot here where generators require figuring out how we want to handle pinning longer term, how we want to handle effect flavors, and so on. yosh: I believe this is very important, but it feels like it may require more than the 2 meetings we've got planned. tmandry: There is some complexity. And some things are interrelated. That's why I'd like to do synchronous generators first. Once we've answered how to do pinning for synchronous generators, that will help to clarify things. yosh: makes sense. we do list async iteration as part of the 2025h1 goal, should we have both? tmandry: good question. Async iteration traits are one thing I feel a bit uncertain about. I also feel like we've been kicking this can down the road and I'd like to see some progress, make a decision. Not proposing stabilizing them in H1 but getting feedback from the teams (libs-api, lang) on next vs poll-next, I would very much like to have a decision on that question. TC: It surpises me a bit to have async seem to have fewer concerns, since there is no backwards compat concerns around async. In some ways it's actually easier for that reason, no? tmandry: I believe I wrote something similar a year ago on my blog. Having worked out the examples more recently of how to do that I feel pretty confident that I know how to do it. Kind of based on seeing a path, right? TC: Yes, and agree it's possible; it was clear to me it was possible when Oli and I wrote RFC 3513. But, you know, it still needs to be done, and there is some churn, and it's why we left it out of RFC 3513. ## nikomatsakis: temperature check on orphan rules nikomatsakis: I want to author up an RFC leveraging cargo namespaces to replace "current crate" as the scope for orphan rules. I am curious to get a "quick poll" how people feel about that and who is thinking about it. =) Josh: Enthusiastic about solutions for the orphan rule problem. Wondering about problem space vs solution space: this feels like it addresses one use case people have for relaxing the orphan rule, but not others, which means we'll want to look at other solutions as well for those other use cases. I'd want to know whether, once we have those other solutions, we'll still need or want a mechanism based on Cargo namespace/workspace mechanism. e.g. if we have a general mechanism for knowingly opting out of the orphan rule, do we still need or want something that extends what "current crate" means? ## Flagship goals TC: The list from above, copied down: * C++ or other interop * Async (generators, etc) * Macro-rules-based macros * RFL stabilization continues * ATPIT / TAIT? (Oli is back.) * Pattern types? * Let chains? * Rust All Hands 2025? * ...? Josh: The headline descriptions of a goal should match what it'll accomplish, and we need to decide flagships based on their headline descriptions. e.g. "C++ interop" is a flagship goal, "conversations and planning for C++ interop" is a better description and may not be a flagship goal. Josh: For any goal continued from previous goals, and flagship goals in particular, we should very clearly describe and distinguish what happened last time and what will happen this time, so that the messaging doesn't get muddied into "this didn't complete last time so we're just continuing the same goal".