---
title: Planning meeting 2024-11-06
tags: ["T-lang", "planning-meeting", "minutes"]
date: 2024-11-06
discussion: https://rust-lang.zulipchat.com/#narrow/channel/410673-t-lang.2Fmeetings/topic/Planning.20meeting.202024-11-06
url: https://hackmd.io/WI89j1Z0SY6eUROPfE5r_Q
---
# T-lang planning meeting agenda
- Meeting date: 2024-11-06
## Attendance
- People: TC, nikomatsakis, Josh, scottmcm, tmandry, Xiang, Yosh, Nadri
## Meeting roles
- Minutes, driver: TC
## Calendar
- November 13
- `Sized` hierarchy / aka `MetaSize`
- November 20 -- Niko absent
- Declarative macros.
- November 27
- (day before US thanksgiving)
- Match ergonomics.
- December 4
- Review 2025H1 Project Goal draft slates
- December 11
- 3/4 day meeting
- Note: Need a rough timetable, and schedule things that need external presenters at times friendly to their timezone
- Loop match?
- Understand how Koka works.
- Decision-making and conflict resolution.
- Update on design goals?
- `try` blocks RFC (tentative, confirm with Scott?)
- https://github.com/rust-lang/rfcs/pull/3721
- December 18 -- scottmcm tentative
- Leave for follow-up as decided on 11th.
- Fall back to doing extended triage.
- December 25: Merry Christmas
- January 1: Happy New Year
- January 8: First planning meeting of 2025
## Under discussion
* Project goal proposed slate
* Generator design
* Niko's proposal: goal is to explore the contours of the space and reach alignment around requirements and goals
* not talking about *genericity* but "what would it be if we hardcoded it"
* not to necessarily evaluate a specific proposal *yet*
* Flavors
* Goal:
* TODO
* Yosh volunteers to author
* Who to include:
* TODO
* MetaSized
* davidtwco is available on Nov 13 or Nov 27 (along with some other folks from ARM)
## Proposed December 11 half-day
8a PST / 11a EST - 2:30 PST / 5:30 EST
## Proposed meetings
- "discuss/resolve `fn { mod { (use) super::...; } }` and its interaction with derive patterns" [#193](https://github.com/rust-lang/lang-team/issues/193)
- "Design meeting: Rust issues encountered by new Rust users in the Bevy project" [#229](https://github.com/rust-lang/lang-team/issues/229)
- "Design meeting: Let chains, guard patterns, and `is`; oh my!" [#278](https://github.com/rust-lang/lang-team/issues/278)
- "Discuss agendas for Rust All Hands" [#279](https://github.com/rust-lang/lang-team/issues/279)
- "Alternative model for pattern matching and match ergonomics" [#280](https://github.com/rust-lang/lang-team/issues/280)
- "Design meeting: Async iteration (part 1)" [#284](https://github.com/rust-lang/lang-team/issues/284)
- "Design meeting: Effect-Generic Trait Declarations" [#287](https://github.com/rust-lang/lang-team/issues/287)
- "Design meeting: Trait method impl restrictions" [#288](https://github.com/rust-lang/lang-team/issues/288)
Vibe checks on whether these need no meeting (just FCP), part of a design meeting, or a whole design meeting:
- "Design meeting on declarative macro improvements" [#296](https://github.com/rust-lang/lang-team/issues/296)
- let chains / guard patterns / is patterns / etc (already listed above)
- let chains: `if let Some(x) = something && x.is_even() { .. }`
- meeting consensus: let's ship it! not having this is a big gap in the language.
- Write up an issue in rust-lang/rust on the consensus that let-chains and `is` are not mutually exclusive and it's OK to have more than one way to do things.
- guard patterns: `match foo { Left(x) if x.is_even() | Right(y) if y.is_odd() => { ... }`
- meeting consensus: ...seems good? orthogonal.
- [RFC](https://github.com/rust-lang/rfcs/pull/3637) is already accepted!
- `is` patterns: `val is Left(x) && x.is_even()` --
- meeting consensus: intrigued, let's hear more?
- are these basically let chains outside of an if? --nikomatsakis
- approximately equivalent to `let Left(x) = val in x.is_even()` ?
- can we have `val is Some(x) || val2 is Ok(x)`?
- Scott's `homogeneous_try_blocks` RFC: https://github.com/rust-lang/rfcs/pull/3721
- Settling tail calls (syntax bikeshedding)?
- Optimizing loop-match https://github.com/rust-lang/rfcs/pull/3720
- Some iteration planned: `const continue`, including `loop` with `match`
- Does this interact with `const if`?
```rust!
loop match Some(10) {
None => break,
Some(0) => const continue Some(2),
Some(2) => const continue None,
_ => ...,
}
```
- An update on design goals
Please update these in https://github.com/orgs/rust-lang/projects/31/views/7.
## Active initiatives
### "project-safe-transmute" lang-team#21
**Link:** https://github.com/rust-lang/lang-team/issues/21
### "const-evaluation" lang-team#22
**Link:** https://github.com/rust-lang/lang-team/issues/22
### "const-generics" lang-team#51
**Link:** https://github.com/rust-lang/lang-team/issues/51
### "Deref patterns" lang-team#88
**Link:** https://github.com/rust-lang/lang-team/issues/88
### "Generators (iterator functions), sync and async" lang-team#137
**Link:** https://github.com/rust-lang/lang-team/issues/137
### "Initiative: trusted external static declarations" lang-team#149
**Link:** https://github.com/rust-lang/lang-team/issues/149
## Pending proposals on the lang-team repo
None.
## Pending PRs on the lang-team repo
### "Proposal: Remove `i128`/`u128` from the `improper_ctypes` lint" lang-team#255
**Link:** https://github.com/rust-lang/lang-team/issues/255
### "Lang discussion: Item-level `const {}` blocks, and `const { assert!(...) }`" lang-team#251
**Link:** https://github.com/rust-lang/lang-team/issues/251
### "project-safe-transmute" lang-team#21
**Link:** https://github.com/rust-lang/lang-team/issues/21
### "const-evaluation" lang-team#22
**Link:** https://github.com/rust-lang/lang-team/issues/22
### "clarify lint policy " lang-team#48
**Link:** https://github.com/rust-lang/lang-team/issues/48
### "const-generics" lang-team#51
**Link:** https://github.com/rust-lang/lang-team/issues/51
### "Make a place for a "lang team wishlist"" lang-team#54
**Link:** https://github.com/rust-lang/lang-team/issues/54
### "Link in design meeting template is dead" lang-team#80
**Link:** https://github.com/rust-lang/lang-team/issues/80
### "Eventual Concern: Send/Sync insufficient in the presence of multiple execution contexts." lang-team#87
**Link:** https://github.com/rust-lang/lang-team/issues/87
### "Deref patterns" lang-team#88
**Link:** https://github.com/rust-lang/lang-team/issues/88
### "Specification of safe rust ?" lang-team#123
**Link:** https://github.com/rust-lang/lang-team/issues/123
### "Generators (iterator functions), sync and async" lang-team#137
**Link:** https://github.com/rust-lang/lang-team/issues/137
### "Initiative: trusted external static declarations" lang-team#149
**Link:** https://github.com/rust-lang/lang-team/issues/149
### "agenda generation should include section with S-waiting-on-team + T-lang" lang-team#172
**Link:** https://github.com/rust-lang/lang-team/issues/172
### "dead Zulip/zulip-archive links" lang-team#185
**Link:** https://github.com/rust-lang/lang-team/issues/185
### "HTTP Error 404 in the Chat Platform p link" lang-team#186
**Link:** https://github.com/rust-lang/lang-team/issues/186
### "discuss/resolve `fn { mod { (use) super::...; } }` and its interaction with derive patterns" lang-team#193
**Link:** https://github.com/rust-lang/lang-team/issues/193
### "lang agenda generator ignores lang-nominated closed issues" lang-team#199
**Link:** https://github.com/rust-lang/lang-team/issues/199
### "mdbook build and deploy is failing" lang-team#221
**Link:** https://github.com/rust-lang/lang-team/issues/221
### "Design meeting: Rust issues encountered by new Rust users in the Bevy project" lang-team#229
**Link:** https://github.com/rust-lang/lang-team/issues/229
### "Add soqb`s design doc to variadics notes" lang-team#236
**Link:** https://github.com/rust-lang/lang-team/pull/236
### "Update auto traits design notes with recent discussion" lang-team#237
**Link:** https://github.com/rust-lang/lang-team/pull/237
### "Lang-team RFC guidelines appear to be out of date" lang-team#244
**Link:** https://github.com/rust-lang/lang-team/issues/244
### "Update hackmd link to a public link" lang-team#258
**Link:** https://github.com/rust-lang/lang-team/pull/258
### "Adding a link to "how to add a feature gate" in the experimenting how-to" lang-team#267
**Link:** https://github.com/rust-lang/lang-team/pull/267
### "Design meeting: Let chains, guard patterns, and `is`; oh my!" lang-team#278
**Link:** https://github.com/rust-lang/lang-team/issues/278
### "Discuss agendas for Rust All Hands" lang-team#279
**Link:** https://github.com/rust-lang/lang-team/issues/279
### "Alternative model for pattern matching and match ergonomics" lang-team#280
**Link:** https://github.com/rust-lang/lang-team/issues/280
### "Design meeting: Async iteration (part 1)" lang-team#284
**Link:** https://github.com/rust-lang/lang-team/issues/284
### "Meeting proposal: rename "object safety" to "dyn compatibility"" lang-team#286
**Link:** https://github.com/rust-lang/lang-team/issues/286
### "Design meeting: Effect-Generic Trait Declarations" lang-team#287
**Link:** https://github.com/rust-lang/lang-team/issues/287
### "Design meeting: Trait method impl restrictions" lang-team#288
**Link:** https://github.com/rust-lang/lang-team/issues/288
### "text describing how other teams are enabled to make decisions." lang-team#290
**Link:** https://github.com/rust-lang/lang-team/pull/290
### "Design meeting: Default field values" lang-team#291
**Link:** https://github.com/rust-lang/lang-team/issues/291
### "Extended triage 2024-10-16" lang-team#293
**Link:** https://github.com/rust-lang/lang-team/issues/293
### "Design meeting: Trait modifiers / RFC 3710" lang-team#294
**Link:** https://github.com/rust-lang/lang-team/issues/294
### "Rust spec update" lang-team#295
**Link:** https://github.com/rust-lang/lang-team/issues/295
### "Design meeting on declarative macro improvements" lang-team#296
**Link:** https://github.com/rust-lang/lang-team/issues/296