---
# System prepended metadata

title: Planning meeting 2024-11-06
tags: [T-lang, minutes, planning-meeting]

---

---
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
