.. | ||
LDM-2019-01-07.md | ||
LDM-2019-01-09.md | ||
LDM-2019-01-14.md | ||
LDM-2019-01-16.md | ||
LDM-2019-01-23.md | ||
LDM-2019-02-13.md | ||
LDM-2019-02-20.md | ||
LDM-2019-02-25.md | ||
LDM-2019-02-27.md | ||
LDM-2019-03-04.md | ||
LDM-2019-03-06.md | ||
LDM-2019-03-13.md | ||
LDM-2019-03-19.md | ||
LDM-2019-03-25.md | ||
README.md |
Upcoming meetings for 2019
Schedule ASAP
Schedule when convenient
- Nullable Reference Types: Open LDM Issues https://github.com/dotnet/csharplang/issues/2201
- Default Implementation Members: Open LDM Issues https://github.com/dotnet/csharplang/issues/406
- Allowing pattern-based
foreach
andawait foreach
to bind to an extensionGetEnumerator
/GetAsyncEnumerator
andMoveNext
/MoveNextAsync
(Julien/Chris) - Syntax of positional records/primary constructors (Andy)
- Discussion of refreshing language spec (Neal)
Recurring topics
- Triage championed features
- Triage milestones
- Design review
Apr 17, 2019
Apr 15, 2019
Apr 3, 2019
Nullable Reference Types
-
Ambiguous implements/overrides with generic methods and NRTs
See https://github.com/dotnet/csharplang/issues/2378. There is a breaking change in VS2019 to address, as well as a C# 8 language question
-
What is the nullability of a dynamic value? Oblivious?
-
When we compute an annotation in the walker (e.g. type inference), do we use the context?
-
Inferred nullable state from a finally block
Coalescing Assignment
-
??=
withNullable<T>
LHS andT
(underlying VT) RHS (Fred)See also https://github.com/dotnet/csharplang/issues/34#issuecomment-444699550 and discussion following
Apr 1, 2019
Index/Range Feature
- Pattern-based index/range translation (Jared, Stephen)
Default Interface Methods
-
Is
object.MemberwiseClone()
accessible in an interface?Please revisit this question.
Mar 27, 2019
Default Interface Methods
See also https://github.com/dotnet/csharplang/issues/406
We now have a proposed runtime implementation for reabstraction. See https://github.com/dotnet/coreclr/pull/23313
-
Reabstraction
-
explicit interface abstract overrides in classes
-
Is
object.MemberwiseClone()
accessible in an interface? -
Confirm:
static int P { get; set; }
is an auto-property with a compiler-generated backing field? -
Confirm:
partial
on a method declaration impliesprivate
, and no access modifier is permitted?
Overview of meetings and agendas for 2019
Mar 25, 2019
C# Design Review Notes for Mar 25, 2019
We brought in the design review team to look at some of our recent and open decisions in C# LDM.
- Nullable reference types: shipping annotations
- Pattern-based indexing with
Index
andRange
- Cancellation tokens in async streams
Mar 19, 2019
C# Language Design Notes for March 19, 2019
We held a live LDM during the MVP summit with some Q&A about C# 8 and the future
Topics:
- Records
- "Extension interfaces"/roles
- Macros
- IAsyncEnumerable
- "Partially automatic" properties
- More integration with reactive extensions
Mar 13, 2019
C# Language Design Notes for March 13, 2019
- Interface "reabstraction" with default interface implementations
- Precedence of the switch expression
or
keyword in patterns- "Pure" null tests and the switch statement/expression
Mar 6, 2019
C# Language Design Notes for March 6th, 2019
- Pure checks in the switch expression
- Nullable analysis of unreachable code
- Warnings about nullability on expressions with errors
- Handling of type parameters that cannot be annotated
- Should anonymous type fields have top-level nullability?
- Element-wise analysis of tuple conversions
Mar 4, 2019
C# Language Design Notes for March 4, 2019
- Nullable user studies
- Interpolated string and string.Format optimizations
Feb 27, 2019
C# Language Design Notes for Feb 27, 2019
- Allow ObsoleteAttribute on property accessors
- More Default Interface Member questions
Feb 25, 2019
C# Language Design Notes for Feb 25, 2019
- Open issues in default interface methods (https://github.com/dotnet/csharplang/issues/406).
- Base calls
- We currently have open issues around
protected
,internal
, reabstraction, andstatic
fields among others.
<<<<<<< HEAD
C# Language Design Notes for 2019
Overview of meetings and agendas for 2019
Mar 6, 2019
Open issues:
- Pure checks in the switch expression
- Nullable analysis of unreachable code
- Warnings about nullability on expressions with errors
- Handling of type parameters that cannot be annotated
- Should anonymous type fields have top-level nullability?
- Element-wise analysis of tuple conversions
67f456e... Add LDM notes for Mar. 6th, 2019
Feb 20, 2019
C# Language Design Notes for Feb 20, 2019
- Nullable Reference Types: Open LDM Issues https://github.com/dotnet/csharplang/issues/2201
Feb 13, 2019
C# Language Design Notes for Feb 13, 2019
- Nullable Reference Types: Open LDM Issues https://github.com/dotnet/csharplang/issues/2201
Jan 23, 2019
C# Language Design Notes for Jan 23, 2019
Function pointers (Updated proposal)
Jan 16, 2019
C# Language Design Notes for Jan 16, 2019
- Shadowing in lambdas
- Pattern-based disposal in
await foreach
Jan 14, 2019
C# Language Design Notes for Jan 14, 2019
- Generating null-check for
parameter!
https://github.com/dotnet/csharplang/pull/2144
Jan 9, 2019
C# Language Design Notes for Jan 9, 2019
- GetAsyncEnumerator signature
- Ambiguities in nullable array type syntax
- Recursive Patterns Open Language Issues https://github.com/dotnet/csharplang/issues/2095
Jan 7, 2019
C# Language Design Notes for Jan 7, 2019
Nullable:
- Variance in overriding/interface implementation
- Breaking change in parsing array specifiers