2020-06-01 23:33:26 +02:00
# Upcoming meetings for 2020
2019-12-13 21:15:12 +01:00
## Schedule ASAP
2020-04-06 20:53:37 +02:00
2019-12-13 21:15:12 +01:00
## Schedule when convenient
2020-04-08 23:23:51 +02:00
2019-12-13 21:15:12 +01:00
## Recurring topics
- *Triage championed features*
- *Triage milestones*
- *Design review*
2020-04-20 17:23:29 +02:00
2020-05-29 20:09:47 +02:00
## Jul 1, 2020
## Jun 29, 2020
2020-06-11 21:02:05 +02:00
- https://github.com/Partydonk/partydonk/issues/1 Static interface members (Miguel, Aaron, Mads, Carol)
2020-05-29 20:09:47 +02:00
## Jun 24, 2020
2020-06-22 17:24:00 +02:00
- Parameter null checking: finalize syntax
- https://github.com/dotnet/csharplang/issues/3275 Variance on static interface members (Aleksey)
- Function pointer question (Fred)
2020-05-29 20:09:47 +02:00
## Jun 22, 2020
2020-06-22 17:24:00 +02:00
Record Monday (Andy, Jared, Mads), e.g.:
- Deriving between records and non-records
- Record functionality on structs
- Primary constructors on non-records
2020-05-29 20:09:47 +02:00
2020-05-26 20:51:35 +02:00
## Jun 3, 2020
2020-05-30 00:49:55 +02:00
- allow suppression on `return someBoolValue!;` (issue https://github.com/dotnet/roslyn/issues/44080, Julien)
- record decision on side-effect of `M(someMaybeNullValue); // warns` and effect of suppression `expr!` (issue https://github.com/dotnet/roslyn/issues/43383, Julien)
- improving suppression in the middle of null-coalescing (https://github.com/dotnet/csharplang/issues/3393, Neal/Julien)
- init-only: should `_ = new C() { readonlyField = null };` be allowed in a method on type `C` ? (Jared/Julien)
- init-only: confirm metadata encoding (`IsExternalInit` modreq) with compat implications (Jared/Julien)
- init-only: init-only methods ? `init void Init()` (Jared/Julien)
2020-04-20 17:23:29 +02:00
## May 18, 2020
- Record Monday (Andy, Jared, Mads)
## May 11, 2020
- Record Monday (Andy, Jared, Mads)
2020-05-06 00:43:36 +02:00
- https://gist.github.com/MadsTorgersen/3fb6b7461e211c8458044ad5115f2117 Primary constructors and records (Mads)
2020-04-20 17:23:29 +02:00
2020-04-03 22:47:38 +02:00
## April 29, 2020
- Design review
## April 22, 2020
2020-04-20 18:52:34 +02:00
- https://github.com/dotnet/csharplang/projects/4 Triage for C# 10.0 (Mads)
2020-03-02 19:23:20 +01:00
## March 18, 2020
2020-03-18 17:20:07 +01:00
- https://github.com/jaredpar/csharplang/blob/record/proposals/recordsv3.md clone-style records (Jared)
2020-03-03 19:48:18 +01:00
2020-01-29 01:14:48 +01:00
## Jan 29, 2020
- Records: drilling in to individual features (Mads)
2020-01-08 01:20:48 +01:00
## Jan 13, 2020
2019-12-13 21:15:12 +01:00
2020-01-13 04:38:23 +01:00
- Records: Paging back in the previous proposal (Andy)
2019-12-18 00:57:27 +01:00
2019-12-13 21:15:12 +01:00
# C# Language Design Notes for 2020
Overview of meetings and agendas for 2020
2020-01-06 20:12:29 +01:00
2020-06-19 01:08:51 +02:00
## Jun 17, 2020
1. Null-suppression & null-conditional operator
1. `parameter!` syntax
1. `T??`
2020-06-17 19:08:09 +02:00
## Jun 15, 2020
[C# Language Design Notes for June 15, 2020 ](https://github.com/dotnet/csharplang/blob/master/meetings/2020/LDM-2020-06-15.md )
Record:
1. `modreq` for init accessors
1. Initializing `readonly` fields in same type
1. `init` methods
1. Equality dispatch
1. Confirming some previous design decisions
1. `IEnumerable.Current`
## Jun 10, 2020
[C# Language Design Notes for June 15, 2020 ](https://github.com/dotnet/csharplang/blob/master/meetings/2020/LDM-2020-06-15.md )
- https://github.com/dotnet/csharplang/issues/1711 Roles and extensions
2020-06-01 23:33:26 +02:00
## Jun 1, 2020
[C# Language Design Notes for June 1, 2020 ](https://github.com/dotnet/csharplang/blob/master/meetings/2020/LDM-2020-06-01.md )
Records:
1. Base call syntax
2. Synthesizing positional record members and assignments
3. Record equality through inheritance
2020-05-31 10:04:19 +02:00
## May 27, 2020
[C# Language Design Notes for May 27, 2020 ](https://github.com/dotnet/csharplang/blob/master/meetings/2020/LDM-2020-05-27.md )
Record syntax
1. Record structs?
2. Record syntax/keyword
3. Details on property shorthand syntax
2020-05-12 01:12:22 +02:00
## March 11, 2020
[C# Language Design Notes for May 11, 2020 ](https://github.com/dotnet/csharplang/blob/master/meetings/2020/LDM-2020-05-11.md )
Records
2020-05-06 22:04:26 +02:00
## May 6, 2020
[C# Language Design Notes for May 6, 2020 ](https://github.com/dotnet/csharplang/blob/master/meetings/2020/LDM-2020-05-06.md )
1. Target-typing ?: when the natural type isn't convertible to the target type.
1. Allow `if (x is not string y)` pattern.
1. Open issues in extension `GetEnumerator`
1. Args in top-level programs
2020-05-06 19:06:30 +02:00
## May 4, 2020
[C# Language Design Notes for May 4, 2020 ](https://github.com/dotnet/csharplang/blob/master/meetings/2020/LDM-2020-05-04.md )
1. Reviewing design review feedback
2020-04-28 01:00:50 +02:00
## April 27, 2020
[C# Language Design Notes for April 27, 2020 ](https://github.com/dotnet/csharplang/blob/master/meetings/2020/LDM-2020-04-27.md )
Records: positional & primary constructors
2020-04-21 00:33:40 +02:00
## April 20, 2020
[C# Language Design Notes for April 20, 2020 ](https://github.com/dotnet/csharplang/blob/master/meetings/2020/LDM-2020-04-20.md )
Records: Factories
2020-04-28 22:09:24 +02:00
## April 15, 2020
2020-04-28 22:10:01 +02:00
[C# Language Design Notes for April 15, 2020 ](https://github.com/dotnet/csharplang/blob/master/meetings/2020/LDM-2020-04-15.md )
2020-04-28 22:09:24 +02:00
1. Non-void and non-private partial methods
2. Top-level programs
2020-04-13 23:01:13 +02:00
## April 13. 2020
2020-04-13 23:00:25 +02:00
[C# Language Design Notes for April 13, 2020 ](https://github.com/dotnet/csharplang/blob/master/meetings/2020/LDM-2020-04-13.md )
1. Roadmap for records
2. Init-only properties
2020-04-08 23:46:08 +02:00
## April 8, 2020
[C# Language Design Notes for April 8, 2020 ](https://github.com/dotnet/csharplang/blob/master/meetings/2020/LDM-2020-04-08.md )
1. `e is dynamic` pure null check
2. Target typing `?:`
3. Inferred type of an `or` pattern
4. Module initializers
2020-04-08 23:54:50 +02:00
## April 6, 2020
[C# Language Design Notes for April 6, 2020 ](https://github.com/dotnet/csharplang/blob/master/meetings/2020/LDM-2020-04-06.md )
1. Record Monday: Init-only members
2020-04-03 00:29:33 +02:00
## April 1, 2020
[C# Language Design Notes for April 1, 2020 ](https://github.com/dotnet/csharplang/blob/master/meetings/2020/LDM-2020-04-01.md )
1. Function pointer design adjustments
2. `field` keyword in properties
2020-03-30 23:27:29 +02:00
## March 30, 2020
1. Record Monday
[C# Language Design Notes for March 30, 2020 ](LDM-2020-03-30.md )
2020-03-25 20:04:00 +01:00
## March 25, 2020
2020-03-24 08:00:29 +01:00
[C# Language Design Notes for March 25, 2020 ](LDM-2020-03-25.md )
2020-03-25 20:04:00 +01:00
1. Open issues with native int
2. Open issues with target-typed new
2020-03-24 08:00:29 +01:00
## March 23, 2020
[C# Language Design Notes for March 23, 2020 ](LDM-2020-03-23.md )
1. Triage
2. Builder-based records
2020-03-09 20:44:23 +01:00
## March 9, 2020
[C# Language Design Notes for March 9, 2020 ](LDM-2020-03-09.md )
1. Simple programs
2. Records
2020-03-03 19:04:08 +01:00
## Feb 26, 2020
[C# Language Design Notes for Feb. 26, 2020 ](LDM-2020-02-26.md )
Design Review
2020-02-26 19:04:54 +01:00
## Feb 24
[C# Language Design Notes for Feb. 24, 2020 ](LDM-2020-02-24.md )
Taking another look at "nominal" records
2020-03-18 23:58:44 +01:00
## Feb 19
2020-03-19 00:07:01 +01:00
[C# Language Design Notes for Feb. 19, 2020 ](LDM-2020-02-19.md )
2020-03-18 23:58:44 +01:00
State-based value equality
2020-02-20 05:35:39 +01:00
## Feb 12
[C# Language Design Notes for Feb. 12, 2020 ](LDM-2020-02-12.md )
Records
## Feb 10
[C# Language Design Notes for Feb. 10, 2020 ](LDM-2020-02-10.md )
Records
2020-01-29 22:03:52 +01:00
## Feb 5
2020-02-08 03:47:09 +01:00
[C# Language Design Notes for Feb. 5, 2020 ](LDM-2020-02-05.md )
- Nullability of dependent calls (Chuck, Julien)
- https://github.com/dotnet/csharplang/issues/3137 Records as individual features (Mads)
2020-02-04 05:00:36 +01:00
## Feb 3
[C# Language Design Notes for Feb. 3, 2020 ](LDM-2020-02-03.md )
Value Equality
2020-01-29 22:03:52 +01:00
## Jan 29, 2020
[C# Language Design Notes for Jan. 29, 2020 ](LDM-2020-01-29.md )
Records: "With-ers"
2020-01-29 19:10:25 +01:00
## Jan 22, 2020
[C# Language Design Notes for Jan 22, 2020 ](LDM-2020-01-22.md )
1. Top-level statements and functions
2. Expression Blocks
2020-01-22 19:01:46 +01:00
## Jan 15, 2020
2020-01-29 19:10:25 +01:00
[C# Language Design Notes for Jan 15, 2020 ](LDM-2020-01-15.md )
2020-01-22 19:01:46 +01:00
Records
1. "programming with data"
1. Decomposing subfeatures of records
2020-01-09 05:40:58 +01:00
## Jan 8, 2020
[C# Language Design Notes for Jan 8, 2020 ](LDM-2020-01-08.md )
1. Unconstrained type parameter annotation
2. Covariant returns
2020-01-06 20:12:29 +01:00
## Jan 6, 2020
[C# Language Design Notes for Jan 6, 2020 ](LDM-2020-01-06.md )
1. Use attribute info inside method bodies
1. Making Task-like types covariant for nullability
1. Casting to non-nullable reference type
1. Triage