From 5c85bd2dfc80620d36e8e337c3e5b1671b83fed4 Mon Sep 17 00:00:00 2001 From: Niko Matsakis Date: Fri, 7 Feb 2025 15:23:16 -0800 Subject: [PATCH] Lang team champions (#247) * define lang-team champion role * macros: scale back commitment to assigning a champion * TC as champion for GPU Offload * remove lang team ask from arm goal * const-traits: assign nikomatsakis as champion * rustc codegen: assign TC as lang-team champion * field projection: not accepted, no bandwidth :( * ergonomic RC: assign nikomatsakis as champion move away from completing RFC for now * eii: assign nikomatsakis as champion * safe linking: assign nikomatsakis as champion * unsafe fields: assign scottmcm as champion * seamless Rust: assign tmandry as champion * min generic const arguments: fix comma * sve: davidtwco is an advisor, make him champion * extend TEMPLATE with lang-team champion * async: pare back, assign champions * RTN, unsafe binders, AFIDT: nikomatsakis * generators, impl trait aliases, pin ergonomics: tmandry * Revert "macros: scale back commitment to assigning a champion" This reverts commit edc39096bc416b3dd98374f504cbf3358c33455c. * assign joshtriplett as champion for macros and restore the RFC decision ask. Doesn't seem undoable. * remove stabilizaiton proposals for macros too soon --------- Co-authored-by: Niko Matsakis --- rust-project-goals.toml | 2 +- src/2025h1/GPU-Offload.md | 3 +- src/2025h1/arm-sve-sme.md | 5 +- src/2025h1/async.md | 90 ++++++++++------------- src/2025h1/const-trait.md | 5 +- src/2025h1/eii.md | 3 +- src/2025h1/ergonomic-rc.md | 5 +- src/2025h1/field-projections.md | 2 +- src/2025h1/improve-rustc-codegen.md | 1 + src/2025h1/macro-improvements.md | 71 ++++++++---------- src/2025h1/min_generic_const_arguments.md | 2 +- src/2025h1/safe-linking.md | 3 +- src/2025h1/seamless-rust-cpp.md | 5 +- src/2025h1/unsafe-fields.md | 8 +- src/TEMPLATE.md | 4 +- 15 files changed, 98 insertions(+), 111 deletions(-) diff --git a/rust-project-goals.toml b/rust-project-goals.toml index 1c44eb3..e8e4894 100644 --- a/rust-project-goals.toml +++ b/rust-project-goals.toml @@ -9,7 +9,7 @@ "Deploy to production" = { short="Deploy", about="deploy code to production (e.g., on crates.io" } "Standard reviews" = { short="r?", about="review PRs (PRs are not expected to be unduly large or complicated)" } "Dedicated reviewer" = { short="Ded. r?", about="assign a specific person (or people) to review a series of PRs, appropriate for large or complex asks" } -"Lang-team champion" = { short="Champion", about="begin a [lang-team experiment](https://lang-team.rust-lang.org/how_to/experiment.html) authorizing experimental impl of lang changes before an RFC is written; limited to trusted contributors" } +"Lang-team champion" = { short="Champion", about="member of lang team or advisors who will champion the design within team" } "Lang-team experiment" = { short="Experiment", about="begin a [lang-team experiment](https://lang-team.rust-lang.org/how_to/experiment.html) authorizing experimental impl of lang changes before an RFC is written; limited to trusted contributors" } "Design meeting" = { short="Design mtg.", about="hold a synchronous meeting to review a proposal and provide feedback (no decision expected)" } "RFC decision" = { short="RFC", about="review an RFC and deciding whether to accept" } diff --git a/src/2025h1/GPU-Offload.md b/src/2025h1/GPU-Offload.md index 06d9922..01b01b3 100644 --- a/src/2025h1/GPU-Offload.md +++ b/src/2025h1/GPU-Offload.md @@ -87,7 +87,8 @@ Minimal "smoke test" reviews will be needed from the compiler-team. The Rust lan | Task | Owner(s) or team(s) | Notes | |----------------------|------------------------|------------| | Development | @ZuseZ4 | | -| Lang-team experiment | ![Team][] [lang][] | (approved) | +| Lang-team experiment | ![Team][] [lang][] | ![Complete][] | +| Lang-team champion | ![Team][] [lang][] | @traviscross | | Standard reviews | ![Team][] [compiler][] | | [Team]: https://img.shields.io/badge/Team%20ask-red diff --git a/src/2025h1/arm-sve-sme.md b/src/2025h1/arm-sve-sme.md index 52de402..749fe43 100644 --- a/src/2025h1/arm-sve-sme.md +++ b/src/2025h1/arm-sve-sme.md @@ -126,7 +126,7 @@ team in an RFC/FCP). |---------------------------------------|---------------------------|-------------------------------------------------------------------------------| | Land nightly experiment for SVE types | @JamieCunliffe | | | Author RFC | | Update [rfcs#3268][rfc_sve], will still rely on exceptions in the type system | -| RFC decision | ![Team][] [lang], [types] | | +| RFC decision | ![Team][] [types] | | | Implementation | | Update [rust#118917][impl_sve] | | Standard reviews | ![Team][] [compiler] | | @@ -142,7 +142,8 @@ team in an RFC/FCP). |---------------------------------------------------|---------------------------|-------| | Extending type system to support scalable vectors | @davidtwco | | | Author RFC | | | -| RFC decision | ![Team][] [lang], [types] | | +| Lang-team champion | ![Team][] [lang] | @davidtwco | +| RFC decision | ![Team][] [types], [lang] | | | Implementation | | | | Standard reviews | ![Team][] [compiler] | | diff --git a/src/2025h1/async.md b/src/2025h1/async.md index 898502d..388dbae 100644 --- a/src/2025h1/async.md +++ b/src/2025h1/async.md @@ -1,7 +1,7 @@ # Bring the Async Rust experience closer to parity with sync Rust | Metadata | | -| :--------------- | ---------------------------------- | +|:-----------------|------------------------------------| | Short title | Async | | Point of contact | @tmandry | | Teams | | @@ -62,14 +62,13 @@ Despite async Rust's popularity, using async I/O makes Rust significantly harder #### Work toward asynchronous generators -* Have design meetings and ratify an RFC for synchronous generators -* Have a design meeting for asynchronous iteration +* Have design meetings and ratify an RFC for a syntax for authoring synchronous iterators (e.g., synchronous generators) * Stretch goal: Ratify an RFC for unsafe binders In H2 we hope to tackle the following: * RTN in type position -* Ratified RFC for asynchronous iteration +* Ratified RFC for syntactic support for asynchronous iteration ### The "shiny future" we are working towards @@ -96,83 +95,74 @@ This section defines the specific work items that are planned and who is expecte ### Overall program management | Task | Owner(s) or team(s) | Notes | -| -------------------- | ------------------- | ----- | +|----------------------|---------------------|-------| | AFIT story blog post | @tmandry | | ### Return type notation | Task | Owner(s) or team(s) | Notes | -| ------------------------------ | -------------------------------------------------- | ------------- | +|--------------------------------|----------------------------------------------------|---------------| | Initial implementation | @compiler-errors | ![Complete][] | | Author RFC | @nikomatsakis | ![Complete][] | | RFC decision | ![Team][] [lang] | ![Complete][] | | Finished implementation | @compiler-errors | ![Complete][] | +| Lang-team champion | ![Team][] [lang] | @nikomatsakis | | Standard reviews | ![Team][] [types], [compiler] | | | Author stabilization report | @compiler-errors | | | Author specification 1st draft | TBD (@compiler-errors, @tmandry, or @nikomatsakis) | | -| Finalize specification text | ![Team][] [spec] | @nikomatsakis | +| Finalize specification text | ![Team][] [spec] | @nikomatsakis | | Stabilization decision | ![Team][] [lang], [types] | | ### Unsafe binders -| Task | Owner(s) or team(s) | Notes | -| ---------------------- | ------------------------- | ------------ | -| Initial implementation | @compiler-errors | Stretch goal | -| Author RFC | @nikomatsakis | Stretch goal | -| RFC decision | ![Team][] [lang], [types] | Stretch goal | +| Task | Owner(s) or team(s) | Notes | +|------------------------|---------------------------|-------------------------| +| Initial implementation | @compiler-errors | Stretch goal | +| Author RFC | @nikomatsakis | Stretch goal | +| Lang-team champion | ![Team][] [lang] | @nikomatsakis (stretch) | +| RFC decision | ![Team][] [lang], [types] | Stretch goal | ### Implementable trait aliases -| Task | Owner(s) or team(s) | Notes | -| ---------------- | ----------------------------- | ----- | -| Author RFC | @tmandry | | -| Implementation | @compiler-errors | | -| Standard reviews | ![Team][] [types], [compiler] | | -| RFC decision | ![Team][] [lang], [types] | | +| Task | Owner(s) or team(s) | Notes | +|--------------------|-------------------------------|----------| +| Author RFC | @tmandry | | +| Implementation | @compiler-errors | | +| Lang-team champion | ![Team][] [lang] | @tmandry | +| Standard reviews | ![Team][] [types], [compiler] | | +| RFC decision | ![Team][] [lang], [types] | | ### `async fn` in `dyn Trait` -| Task | Owner(s) or team(s) | Notes | -| -------------------- | ------------------- | ------------ | -| Lang-team experiment | @nikomatsakis | (Approved) | -| Implementation | @compiler-errors | Stretch goal | +| Task | Owner(s) or team(s) | Notes | +|----------------------|---------------------|---------------| +| Lang-team experiment | @nikomatsakis | (Approved) | +| Lang-team champion | ![Team][] [lang] | @nikomatsakis | +| Implementation | @compiler-errors | Stretch goal | -### Pin reborrowing +### Pin ergonomics -| Task | Owner(s) or team(s) | Notes | -| ---------------- | ------------------- | ----- | -| Implementation | @eholk | | -| Author RFC | @eholk | | -| RFC decision | ![Team][] [lang] | | -| RFC secondary review | ![Team][] [types] | | - -### Safe pin projection - -| Task | Owner(s) or team(s) | Notes | -| -------------------- | ------------------- | ------------ | -| Lang-team experiment | ![Team][] [lang] | | -| Implementation | | Stretch goal | -| Design meeting | ![Team][] [lang] | Stretch goal | +| Task | Owner(s) or team(s) | Notes | +|----------------------|---------------------|---------------| +| Implementation | @eholk | | +| Author RFC | @eholk | | +| Lang-team experiment | ![Team][] [lang] | ![Complete][] | +| Lang-team champion | ![Team][] [lang] | @tmandry | ### Trait for generators (sync) -| Task | Owner(s) or team(s) | Notes | -| -------------- | ---------------------------- | ------------------- | -| Implementation | @eholk | | -| Author RFC | | | -| RFC decision | ![Team][] [libs-api], [lang] | | -| Design meeting | ![Team][] [lang] | 2 meetings expected | - -### Trait for async iteration - -| Task | Owner(s) or team(s) | Notes | -| -------------- | ---------------------------- | ----- | -| Design meeting | ![Team][] [lang], [libs-api] | | +| Task | Owner(s) or team(s) | Notes | +|--------------------|------------------------------|---------------------| +| Implementation | @eholk | | +| Author RFC | | | +| RFC decision | ![Team][] [libs-api], [lang] | | +| Design meeting | ![Team][] [lang] | 2 meetings expected | +| Lang-team champion | ![Team][] [lang] | @tmandry | ### Dynosaur 1.0 | Task | Owner(s) or team(s) | Notes | -| ---------------- | ------------------- | ----- | +|------------------|---------------------|-------| | Implementation | @spastorino | | | Standard reviews | @tmandry | | diff --git a/src/2025h1/const-trait.md b/src/2025h1/const-trait.md index 2d5790c..012911e 100644 --- a/src/2025h1/const-trait.md +++ b/src/2025h1/const-trait.md @@ -63,11 +63,10 @@ Steps towards the primary goal of doing everything towards stabilization apart f | Call for testing | @oli-obk | | | Standard reviews | ![Team][] [compiler] | | | Design meeting | ![Team][] [lang] | first meeting scheduled for Jan; second meeting may be required | -| RFC decision | ![Team][] [lang] | | +| Lang-team champion | ![Team][] [lang] | @nikomatsakis | +| RFC decision | ![Team][] [lang] | (stretch goal) | | RFC secondary review | ![Team][] [types] | Types team needs to validate the approach | | Author specification 1st draft | @oli-obk | | -| Finalize specification text | ![Team][] [spec] | @traviscross | -| Author stabilization report | @oli-obk | stretch goal | ### Formalize const-traits in a-mir-formality diff --git a/src/2025h1/eii.md b/src/2025h1/eii.md index 8a76f77..bb8fa9e 100644 --- a/src/2025h1/eii.md +++ b/src/2025h1/eii.md @@ -106,7 +106,8 @@ The experimental feature we implement should: | Task | Owner(s) or team(s) | Notes | |----------------------------------|----------------------|------------------------------| | Discussion and moral support | [compiler], [lang] | | -| Lang-team experiment | ![Team][] [lang] | Already approved | +| Lang-team experiment | ![Team][] [lang] | ![Complete][] | +| Lang-team champion | ![Team][] [lang] | @nikomatsakis | | Design experiment (syntax, etc.) | *Jonathan and Mara* | Done | | Refactor attributes in rustc | *Jonathan* | In progress, refactor merged | | Implement experiment | *Jonathan and Mara* | | diff --git a/src/2025h1/ergonomic-rc.md b/src/2025h1/ergonomic-rc.md index 04ab89d..7a91c0c 100644 --- a/src/2025h1/ergonomic-rc.md +++ b/src/2025h1/ergonomic-rc.md @@ -65,7 +65,7 @@ Users in higher-level domains are accustomed to the ergonomics of Python or Type ### The next 6 months -In 2024H2 we began work on an experimental implementation (not yet landed) and authored a corresponding RFC, which has received substantial feedback. In 2025H1 we will continue by (a) landing the experimental branch and (b) addressing feedback on the RFC, reading it with the lang-team, and reaching a decision. +In 2024H2 we began work on an experimental implementation (not yet landed) and authored a corresponding RFC, which has received substantial feedback. In 2025H1 we will focus on driving the experimental branch to completion. ### The "shiny future" we are working towards @@ -88,9 +88,8 @@ We don't have consensus around a full set of "design axioms" for this design, bu |----------------|---------------------|---------------| | Implementation | @spastorino | | | Reviews | @nikomatsakis | | +| Lang-team champion | ![Team][] [lang] | @nikomatsakis | | Author RFC | @joshtriplett | ![Complete][] | -| Design meeting | ![Team][] [lang] | | -| RFC decision | ![Team][] [lang] | | ### Definitions diff --git a/src/2025h1/field-projections.md b/src/2025h1/field-projections.md index 67a4f0a..321d3a6 100644 --- a/src/2025h1/field-projections.md +++ b/src/2025h1/field-projections.md @@ -5,7 +5,7 @@ | Point of contact | @y86-dev | | Teams | | | Task owners | | -| Status | Proposed | +| Status | Not accepted | | Zulip channel | N/A | ## Summary diff --git a/src/2025h1/improve-rustc-codegen.md b/src/2025h1/improve-rustc-codegen.md index ac6b9f1..e83d148 100644 --- a/src/2025h1/improve-rustc-codegen.md +++ b/src/2025h1/improve-rustc-codegen.md @@ -84,6 +84,7 @@ The shiny future is to improve rust codegen to encourage wider adoption of rust |------------------------------|----------------------|-------| | Discussion and moral support | ![Team][] [compiler] | | | Lang-team experiment | ![Team][] [lang] | | +| Lang-team champion | ![Team][] [lang] | @traviscross | | Refine RFC 3720 | @folkertdev | | | Implementation | @folkertdev, @bjorn3 | | | Standard reviews | ![Team][] [compiler] | | diff --git a/src/2025h1/macro-improvements.md b/src/2025h1/macro-improvements.md index 289114f..1008626 100644 --- a/src/2025h1/macro-improvements.md +++ b/src/2025h1/macro-improvements.md @@ -136,58 +136,49 @@ could reserve such syntax in all editions. ### `macro_rules!` attributes -| Task | Owner(s) or team(s) | Notes | -|-------------------------------------------|--------------------------|----------| -| Author/revise/iterate RFCs | @joshtriplett | | -| RFC decision | ![Team][] [lang] | | -| Implementation of RFC | @eholk, @vincenzopalazzo | | -| Iterate on design as needed | @joshtriplett | | -| Inside Rust blog post on attribute macros | @joshtriplett | | -| Process feedback from crate authors | @joshtriplett | | -| Author stabilization report (if ready) | @joshtriplett | | -| Author specification 1st draft | @joshtriplett | | -| Finalize specification text | ![Team][] [spec] | @m-ou-se | -| Stabilization decision | ![Team][] [lang] | | +| Task | Owner(s) or team(s) | Notes | +|-------------------------------------------|--------------------------|---------------| +| Author/revise/iterate RFCs | @joshtriplett | | +| RFC decision | ![Team][] [lang] | | +| Lang-team champion | ![Team][] [lang] | @joshtriplett | +| Implementation of RFC | @eholk, @vincenzopalazzo | | +| Iterate on design as needed | @joshtriplett | | +| Inside Rust blog post on attribute macros | @joshtriplett | | +| Process feedback from crate authors | @joshtriplett | | ### `macro_rules!` derives -| Task | Owner(s) or team(s) | Notes | -|----------------------------------------|--------------------------|----------| -| Author/revise/iterate RFCs | @joshtriplett | | -| RFC decision | ![Team][] [lang] | | -| Implementation of RFC | @eholk, @vincenzopalazzo | | -| Iterate on design as needed | @joshtriplett | | -| Inside Rust blog post on derive macros | @joshtriplett | | -| Process feedback from crate authors | @joshtriplett | | -| Author stabilization report (if ready) | @joshtriplett | | -| Author specification 1st draft | @joshtriplett | | -| Finalize specification text | ![Team][] [spec] | @m-ou-se | -| Stabilization decision | ![Team][] [lang] | | +| Task | Owner(s) or team(s) | Notes | +|----------------------------------------|--------------------------|------------------------| +| Author/revise/iterate RFCs | @joshtriplett | | +| RFC decision | ![Team][] [lang] | | +| Lang-team champion | ![Team][] [lang] | @joshtriplett | +| Implementation of RFC | @eholk, @vincenzopalazzo | | +| Iterate on design as needed | @joshtriplett | | +| Inside Rust blog post on derive macros | @joshtriplett | | +| Process feedback from crate authors | @joshtriplett | | ### Design and iteration for macro fragment fields -| Task | Owner(s) or team(s) | Notes | -|--------------------------------------------------|--------------------------|----------| -| Author initial RFC | @joshtriplett | | -| Design meeting | ![Team][] [lang] | | -| RFC decision | ![Team][] [lang] | | -| Implementation of RFC | @eholk, @vincenzopalazzo | | -| Iterate on design as needed | @joshtriplett | | -| Inside Rust blog post on additional capabilities | @joshtriplett | | -| Process feedback from crate authors | @joshtriplett | | -| Author stabilization report (if ready) | @joshtriplett | | -| Author specification 1st draft | @joshtriplett | | -| Finalize specification text | ![Team][] [spec] | @m-ou-se | -| Stabilization decision | ![Team][] [lang] | | -| Support lang experiments for fragment fields | @joshtriplett | | -| Author small RFCs for further fragment fields | @joshtriplett | | +| Task | Owner(s) or team(s) | Notes | +|--------------------------------------------------|--------------------------|------------------------| +| Author initial RFC | @joshtriplett | | +| Design meeting | ![Team][] [lang] | | +| RFC decision | ![Team][] [lang] | | +| Lang-team champion | ![Team][] [lang] | @joshtriplett | +| Implementation of RFC | @eholk, @vincenzopalazzo | | +| Iterate on design as needed | @joshtriplett | | +| Inside Rust blog post on additional capabilities | @joshtriplett | | +| Process feedback from crate authors | @joshtriplett | | +| Support lang experiments for fragment fields | @joshtriplett | | +| Author small RFCs for further fragment fields | @joshtriplett | | ### Design for macro metavariable constructs | Task | Owner(s) or team(s) | Notes | |---------------------------------|------------------------------|-------| | Design research and discussions | @joshtriplett | | -| Discussion and moral support | ![Team][] [lang] [wg-macros] | | +| Discussion and moral support | ![Team][] [lang], [wg-macros] | | | Author initial RFC | @joshtriplett | | ### Definitions diff --git a/src/2025h1/min_generic_const_arguments.md b/src/2025h1/min_generic_const_arguments.md index 1b18e92..8ddf6ed 100644 --- a/src/2025h1/min_generic_const_arguments.md +++ b/src/2025h1/min_generic_const_arguments.md @@ -73,7 +73,7 @@ This section defines the specific work items that are planned and who is expecte | Task | Owner(s) or team(s) | Notes | | ---------------------------- | ------------------------- | ----- | -| Discussion and moral support | ![Team][] [lang] [types] | | +| Discussion and moral support | ![Team][] [lang], [types] | | | Implementation and mentoring | @BoxyUwu | | | Implementation | @camelid @compiler-errors | | | Reviewer | @compiler-errors | | diff --git a/src/2025h1/safe-linking.md b/src/2025h1/safe-linking.md index 7a26a34..165054c 100644 --- a/src/2025h1/safe-linking.md +++ b/src/2025h1/safe-linking.md @@ -112,7 +112,8 @@ safe cross-language linking. | Mentoring and interfacing with Rust project | @m-ou-se, @jdonszelmann | | | Blog post (author, review) | MSc student, @jdonszelmann, @m-ou-se | | | Experimental implementation | Msc student | | -| Lang-team experiment | ![Team][] [lang] | @nikomatsakis as liaison | +| Lang-team experiment | ![Team][] [lang] | @nikomatsakis | +| Lang-team champion | ![Team][] [lang] | @nikomatsakis | | Standard reviews | ![Team][] [compiler] | | | Thesis / Paper | Research team (MSc student, professor, etc.) | | diff --git a/src/2025h1/seamless-rust-cpp.md b/src/2025h1/seamless-rust-cpp.md index f9ebd54..a08b322 100644 --- a/src/2025h1/seamless-rust-cpp.md +++ b/src/2025h1/seamless-rust-cpp.md @@ -120,8 +120,9 @@ In addition, it proposes the following axioms: | Task | Owner(s) or team(s) | Notes | |------------------------------|----------------------------------------|-----------------------------------------| -| Discussion and moral support | ![Team][] [lang] [compiler] [libs-api] | | -| Design meeting | ![Team][] [lang] [compiler] [libs-api] | 2-3 meetings expected; all involve lang | +| Discussion and moral support | ![Team][] [lang], [compiler], [libs-api] | | +| Design meeting | ![Team][] [lang], [compiler], [libs-api] | 2-3 meetings expected; all involve lang | +| Lang-team champion | ![Team][] [lang] | @tmandry | | Author design doc | @tmandry can drive | | | Author design doc | ![Help wanted][] | | | Author design doc | ![Help wanted][] | | diff --git a/src/2025h1/unsafe-fields.md b/src/2025h1/unsafe-fields.md index 12acecd..41eb86b 100644 --- a/src/2025h1/unsafe-fields.md +++ b/src/2025h1/unsafe-fields.md @@ -79,15 +79,15 @@ The design of `unsafe` fields is guided by three axioms: | Task | Owner(s) or team(s) | Notes | |--------------------------------|----------------------|--------------------------------| -| Discussion and moral support | ![Team][] [lang] | [Zulip] | +| Discussion and moral support | ![Team][] [lang] | | | Author RFC | @jhpratt | [RFC3458], [Living Design Doc] | | Implementation | @veluca93 | | | Standard reviews | ![Team][] [compiler] | | | Design meeting | ![Team][] [lang] | | +| Lang-team champion | ![Team][] [lang] | @scottmcm | | RFC decision | ![Team][] [lang] | | -| Author specification 1st draft | @jswrenn | | -| Finalize specification text | ![Team][] [spec] | @ehuss | -| Author stabilization report | @jswrenn | | + +Ongoing discussion on [Zulip][]. [Zulip]: https://rust-lang.zulipchat.com/#narrow/channel/213817-t-lang/topic/unsafe.20fields.20RFC [RFC3458]: https://github.com/rust-lang/rfcs/pull/3458 diff --git a/src/TEMPLATE.md b/src/TEMPLATE.md index 98df329..c3833a2 100644 --- a/src/TEMPLATE.md +++ b/src/TEMPLATE.md @@ -73,7 +73,7 @@ |----------------------|------------------------------------|---------------------------------------------------------------------| | Lang-team experiment | ![Team][] [lang] | allows coding pre-RFC; only for trusted contributors | | Author RFC | *Goal point of contact, typically* | | -| Design meeting | ![Team][] [lang] | | +| Lang-team champion | ![Team][] [lang] | Username here | | RFC decision | ![Team][] [lang] | | | Secondary RFC review | ![Team][] [types] | request bandwidth from a second team, most features don't need this | @@ -85,6 +85,7 @@ |-----------------------------------|------------------------------------|-------| | Implementation | *Goal point of contact, typically* | | | Standard reviews | ![Team][] [compiler] | | +| Lang-team champion | ![Team][] [lang] | | | Design meeting | ![Team][] [lang] | | | Author call for testing blog post | *Goal point of contact, typically* | | @@ -96,6 +97,7 @@ |--------------------------------|------------------------------------|-------| | Author specification 1st draft | *Goal point of contact, typically* | | | Finalize specification text | ![Team][] [spec] | | +| Lang-team champion | ![Team][] [lang] | | | Author stabilization report | *Goal point of contact, typically* | | | Author stabilization PR | *Goal point of contact, typically* | | | Stabilization decision | ![Team][] [lang] | |