Overview of meetings and agendas for 2019
C# Language Design Notes for Dec 18, 2019
- Pure null checks
var?
C# Language Design Notes for Dec 16, 2019
- Switch Expression as a Statement Expression (continued) (Neal, Fred)
- Triage
C# Language Design Notes for Dec 11, 2019
- Design review feedback
(not yet transcribed)
- dotnet#2850 Proposed changes for pattern-matching (continued) (Neal)
- dotnet#2860 Switch Expression as a Statement Expression (Neal)
(not yet transcribed)
C# Language Design Notes for Nov 25, 2019
- Revisit unconstrained
T?
(Mads, Jared)
(not yet transcribed)
- dotnet#2911 Utf8 String Literals (Neal)
- dotnet#2850 Proposed changes for pattern-matching (continued) (Neal)
C# Language Design Notes for Nov. 18, 2019
- Proposed changes for pattern-matching
C# Language Design Notes for Nov 13, 2019
- Discriminated unions
- Improve analysis of
[MaybeNull]T
values
C# Language Design Notes for Nov 11, 2019
- Confirm removal of warning calling a method that returns
[MaybeNull]T
- Allow interpolated string constant
- Enhancing the Common Type Specification
- Type pattern
- Simple name binding with target type
C# Language Design Notes for Oct 30, 2019
- Function Pointer syntax
- Enhancing the Common Type Specification
C# Language Design Notes for Oct 28, 2019
- Discard parameters in lambdas and other methods
- Enhancing the common type algorithm
C# Language Design Notes for Oct 23, 2019
- New primitive types
C# Language Design Notes for Oct 21, 2019
- Records
- Init-only members
- Static lambdas
C# Language Design Notes for Sep 18, 2019
Triage:
-
Proposals with complete designs:
- dotnet#1888 Champion "Permit attributes on local functions"
- dotnet#100 Champion "Target-typed new expression"
-
Target typing and best-common-type features:
- dotnet#2473 Proposal: Target typed null coalescing (??) expression
- dotnet#2460 Champion: target-typed conditional expression
- dotnet#881 Permit ternary operation with int? and double operands
- dotnet#33 Champion "Nullable-enhanced common type"
C# Language Design Notes for Sep 16, 2019
- Support for Utf8 strings
- Triage remaining features out of the 8.X milestone
C# Language Design Notes for Sep 11, 2019
- Close dotnet/roslyn#37313
- Triage new proposed 9.0 features
- Finish triaging away 8.X milestone
C# Language Design Notes for Sep 4, 2019
- AllowNull on properties dotnet/roslyn#37313
C# Language Design Notes for Aug 28, 2019
- Triage language features
C# Language Design Notes for July 22, 2019
- Discuss the new records proposal
C# Language Design Notes for July 17, 2019
-
Triage, see https://github.com/dotnet/csharplang/projects/4
- Triage championed features https://github.com/dotnet/csharplang/projects/4#column-4649189
- Triage milestones
C# Language Design Notes for July 10, 2019
- Empty switch statement
[DoesNotReturn]
attribute- Revisiting the
param!
null-checking feature
C# Language Design Notes for May 15, 2019
- Close on nullable attributes (Mads and Steve)
C# Language Design Notes for May 13, 2019
- Close on desired rules for warning suppressions and
#nullable
interacting
C# Language Design Notes for Apr 29, 2019
- Default interface implementations and
base()
calls - Async iterator cancellation
- Attributes on local functions
C# Language Design Notes for Apr 24, 2019
MaybeNull and related nullable reference type attributes
C# Language Design Notes for Apr 22, 2019
- Inferred nullable state from a finally block
- Implied constraint for a type parameter of a partial?
- Target-typed switch expression
- DefaultCancellationAttribute and overriding/hiding/interface implementation
C# Language Design Notes for Apr 15, 2019
- CancellationToken in iterators
- Implied nullable constraints in nullable disabled code
- Inheriting constraints in nullable disabled code
- Declarations with constraints declared in #nullable disabled code
- Result type of
??=
expression - Use annotation context to compute the annotations?
- Follow-up decisions for pattern-based Index/Range
C# Language Design Notes for Apr 3, 2019
- Ambiguous implementations/overrides with generic methods and NRTs
- NRT and
dynamic
C# Language Design Notes for Apr 1, 2019
-
Pattern-based Index/Range translation
-
Default interface implementations: Is object.MemberwiseClone() accessible in an interface?
C# Language Design Notes for Mar 27, 2019
-
Switch expression syntax
-
Default interface implementations
-
Reabstraction
-
Explicit interface abstract overrides in classes
-
object.MemberwiseClone()
-
static int P {get; set}
semantics -
partial
on interface methods
-
-
?
on unconstrained generic paramT
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
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
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
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
C# Language Design Notes for March 4, 2019
- Nullable user studies
- Interpolated string and string.Format optimizations
C# Language Design Notes for Feb 27, 2019
- Allow ObsoleteAttribute on property accessors
- More Default Interface Member questions
C# Language Design Notes for Feb 25, 2019
- Open issues in default interface methods (dotnet#406).
- Base calls
- We currently have open issues around
protected
,internal
, reabstraction, andstatic
fields among others.
C# Language Design Notes for Feb 20, 2019
- Nullable Reference Types: Open LDM Issues dotnet#2201
C# Language Design Notes for Feb 13, 2019
- Nullable Reference Types: Open LDM Issues dotnet#2201
C# Language Design Notes for Jan 23, 2019
Function pointers (Updated proposal)
C# Language Design Notes for Jan 16, 2019
- Shadowing in lambdas
- Pattern-based disposal in
await foreach
C# Language Design Notes for Jan 14, 2019
- Generating null-check for
parameter!
dotnet#2144
C# Language Design Notes for Jan 9, 2019
- GetAsyncEnumerator signature
- Ambiguities in nullable array type syntax
- Recursive Patterns Open Language Issues dotnet#2095
C# Language Design Notes for Jan 7, 2019
Nullable:
- Variance in overriding/interface implementation
- Breaking change in parsing array specifiers