12 KiB
Upcoming meetings for 2020
Schedule ASAP
- nullability expectations for
bool Equals(R? other)
andType EqualityContract { get; }
andR? <Clone>$()
andvoid Deconstruct(out string? NotNullableStringProperty)
. (Julien)
Schedule when convenient
- How can we improve the capture of unfinished business, both in terms of making sure the LDM comes back to remaining open issues, and in terms of keeping the feature specs in sync with LDM decisions?
Recurring topics
- Triage championed features
- Triage milestones
- Design review
Sep 30, 2020
Sep 28, 2020
Sep 23, 2020
Sep 21, 2020
Sep 16, 2020
- Required properties (Fred)
Sep 14, 2020
- C# 9.0: Interaction between null-conditional operators and the suppression operator (Rikki, Julien, Mads)
- Allow mixed declaration and assignment in deconstruction (Julien, community PR)
- Triage for C# 10 continued (Mads)
Jun 3, 2020
- 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 suppressionexpr!
(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 typeC
? (Jared/Julien) - init-only: confirm metadata encoding (
IsExternalInit
modreq) with compat implications (Jared/Julien) - init-only: init-only methods ?
init void Init()
(Jared/Julien)
May 18, 2020
- Record Monday (Andy, Jared, Mads)
April 29, 2020
- Design review
April 22, 2020
- https://github.com/dotnet/csharplang/projects/4 Triage for C# 10.0 (Mads)
March 18, 2020
- https://github.com/jaredpar/csharplang/blob/record/proposals/recordsv3.md clone-style records (Jared)
Jan 13, 2020
- Records: Paging back in the previous proposal (Andy)
C# Language Design Notes for 2020
Overview of meetings and agendas for 2020
Sep 9, 2020
C# Language Design Notes for September 9th, 2020
- Triage issues still in C# 9.0 candidate
- Triage issues in C# 10.0 candidate
Aug 24, 2020
C# Language Design Notes for August 24th, 2020
- Warnings on types named
record
base
calls on parameterlessrecord
s- Omitting unnecessary synthesized
record
members record
ToString
behavior review- Behavior of trailing commas
- Handling stack overflows
- Should we omit the implementation of
ToString
onabstract
records - Should we call
ToString
prior toStringBuilder.Append
on value types - Should we try and avoid the double-space in an empty record
- Should we try and make the typename header print more economic
- Reference equality short circuiting
Jul 27, 2020
C# Language Design Notes for July 27th, 2020
- Improved nullable analysis in constructors (Rikki)
- Equality operators (
==
and!=
) in records (Fred) .ToString()
orGetDebuggerDisplay()
on records? (Julien)- Restore W-warning to
T t = default;
for genericT
, now you can writeT?
? (Julien)
Jul 20, 2020
C# Language Design Notes for July 20th, 2020
- struct private fields in definite assignment (Neal/Julien)
- Finish Triage
- Records-related features to pick up in the next version of C# (Mads)
Jul 13, 2020
C# Language Design Notes for July 13th, 2020
- Triage open issues
Jul 6, 2020
C# Language Design Notes for July 6, 2020
- Repeat Attributes in Partial Members (Rikki)
sealed
ondata
members- Required properties (Fred)
Jul 1, 2020
C# Language Design Notes for July 1, 2020
- Non-defaultable struct types (Sam, Chuck)
- Confirm unspeakable
Clone
method and long-term implications (Jared/Julien)
Jun 29, 2020
C# Language Design Notes for June 29, 2020
- Static interface members (Miguel, Aaron, Mads, Carol)
Jun 24, 2020
C# Language Design Notes for June 24, 2020
- Parameter null checking: finalize syntax
- https://github.com/dotnet/csharplang/issues/3275 Variance on static interface members (Aleksey)
- Function pointer question (Fred)
Jun 22, 2020
C# Language Design Notes for June 22, 2020
-
Data properties
-
Clarifying what's supported in records for C# 9
-
Structs
-
Inheritance with records and classes
-
Jun 17, 2020
C# Language Design Notes for June 17, 2020
- Null-suppression & null-conditional operator
parameter!
syntaxT??
Jun 15, 2020
C# Language Design Notes for June 15, 2020
Record:
-
modreq
for init accessors -
Initializing
readonly
fields in same type -
init
methods -
Equality dispatch
-
Confirming some previous design decisions
-
IEnumerable.Current
Jun 10, 2020
C# Language Design Notes for June 15, 2020
- https://github.com/dotnet/csharplang/issues/1711 Roles and extensions
Jun 1, 2020
C# Language Design Notes for June 1, 2020
Records: 1. Base call syntax 2. Synthesizing positional record members and assignments 3. Record equality through inheritance
May 27, 2020
C# Language Design Notes for May 27, 2020
Record syntax 1. Record structs? 2. Record syntax/keyword 3. Details on property shorthand syntax
May 11, 2020
C# Language Design Notes for May 11, 2020
Records
May 6, 2020
C# Language Design Notes for May 6, 2020
- Target-typing ?: when the natural type isn't convertible to the target type.
- Allow
if (x is not string y)
pattern. - Open issues in extension
GetEnumerator
- Args in top-level programs
May 4, 2020
C# Language Design Notes for May 4, 2020
- Reviewing design review feedback
April 27, 2020
C# Language Design Notes for April 27, 2020
Records: positional & primary constructors
April 20, 2020
C# Language Design Notes for April 20, 2020
Records: Factories
April 15, 2020
C# Language Design Notes for April 15, 2020
- Non-void and non-private partial methods
- Top-level programs
April 13. 2020
C# Language Design Notes for April 13, 2020
- Roadmap for records
- Init-only properties
April 8, 2020
C# Language Design Notes for April 8, 2020
e is dynamic
pure null check- Target typing
?:
- Inferred type of an
or
pattern - Module initializers
April 6, 2020
C# Language Design Notes for April 6, 2020
- Record Monday: Init-only members
April 1, 2020
C# Language Design Notes for April 1, 2020
-
Function pointer design adjustments
-
field
keyword in properties
March 30, 2020
- Record Monday
C# Language Design Notes for March 30, 2020
March 25, 2020
C# Language Design Notes for March 25, 2020
-
Open issues with native int
-
Open issues with target-typed new
March 23, 2020
C# Language Design Notes for March 23, 2020
- Triage
- Builder-based records
March 9, 2020
C# Language Design Notes for March 9, 2020
-
Simple programs
-
Records
Feb 26, 2020
C# Language Design Notes for Feb. 26, 2020
Design Review
Feb 24
C# Language Design Notes for Feb. 24, 2020
Taking another look at "nominal" records
Feb 19
C# Language Design Notes for Feb. 19, 2020
State-based value equality
Feb 12
C# Language Design Notes for Feb. 12, 2020
Records
Feb 10
C# Language Design Notes for Feb. 10, 2020
Records
Feb 5
C# Language Design Notes for Feb. 5, 2020
- Nullability of dependent calls (Chuck, Julien)
- https://github.com/dotnet/csharplang/issues/3137 Records as individual features (Mads)
Feb 3
C# Language Design Notes for Feb. 3, 2020
Value Equality
Jan 29, 2020
C# Language Design Notes for Jan. 29, 2020
Records: "With-ers"
Jan 22, 2020
C# Language Design Notes for Jan 22, 2020
- Top-level statements and functions
- Expression Blocks
Jan 15, 2020
C# Language Design Notes for Jan 15, 2020
Records
- "programming with data"
- Decomposing subfeatures of records
Jan 8, 2020
C# Language Design Notes for Jan 8, 2020
- Unconstrained type parameter annotation
- Covariant returns
Jan 6, 2020
C# Language Design Notes for Jan 6, 2020
- Use attribute info inside method bodies
- Making Task-like types covariant for nullability
- Casting to non-nullable reference type
- Triage