Skip to content

Commit

Permalink
Lang team champions (#247)
Browse files Browse the repository at this point in the history
* 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 edc3909.

* 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 <[email protected]>
  • Loading branch information
nikomatsakis and Niko Matsakis authored Feb 7, 2025
1 parent e48a6d0 commit 5c85bd2
Show file tree
Hide file tree
Showing 15 changed files with 98 additions and 111 deletions.
2 changes: 1 addition & 1 deletion rust-project-goals.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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" }
Expand Down
3 changes: 2 additions & 1 deletion src/2025h1/GPU-Offload.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
5 changes: 3 additions & 2 deletions src/2025h1/arm-sve-sme.md
Original file line number Diff line number Diff line change
Expand Up @@ -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] | |

Expand All @@ -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] | |

Expand Down
90 changes: 40 additions & 50 deletions src/2025h1/async.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Bring the Async Rust experience closer to parity with sync Rust

| Metadata | |
| :--------------- | ---------------------------------- |
|:-----------------|------------------------------------|
| Short title | Async |
| Point of contact | @tmandry |
| Teams | <!-- TEAMS WITH ASKS --> |
Expand Down Expand Up @@ -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

Expand All @@ -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 | |

Expand Down
5 changes: 2 additions & 3 deletions src/2025h1/const-trait.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
3 changes: 2 additions & 1 deletion src/2025h1/eii.md
Original file line number Diff line number Diff line change
Expand Up @@ -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* | |
Expand Down
5 changes: 2 additions & 3 deletions src/2025h1/ergonomic-rc.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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

Expand Down
2 changes: 1 addition & 1 deletion src/2025h1/field-projections.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
| Point of contact | @y86-dev |
| Teams | <!-- TEAMS WITH ASKS --> |
| Task owners | <!-- TASK OWNERS --> |
| Status | Proposed |
| Status | Not accepted |
| Zulip channel | N/A |

## Summary
Expand Down
1 change: 1 addition & 0 deletions src/2025h1/improve-rustc-codegen.md
Original file line number Diff line number Diff line change
Expand Up @@ -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] | |
Expand Down
Loading

0 comments on commit 5c85bd2

Please sign in to comment.