.. | ||
LDM-2018-01-03.md | ||
LDM-2018-01-10.md | ||
LDM-2018-01-18.md | ||
LDM-2018-01-22.md | ||
LDM-2018-01-24.md | ||
LDM-2018-01-31.md | ||
LDM-2018-02-05.md | ||
LDM-2018-02-07.md | ||
LDM-2018-02-14.md | ||
LDM-2018-02-21.md | ||
LDM-2018-02-26.md | ||
LDM-2018-02-28.md | ||
LDM-2018-03-14.md | ||
LDM-2018-03-19.md | ||
LDM-2018-03-21.md | ||
LDM-2018-03-28.md | ||
LDM-2018-04-02.md | ||
LDM-2018-04-04.md | ||
LDM-2018-04-25.md | ||
LDM-2018-04-30.md | ||
LDM-2018-05-02.md | ||
LDM-2018-05-14.md | ||
LDM-2018-05-21.md | ||
LDM-2018-05-23.md | ||
LDM-2018-05-30.md | ||
LDM-2018-06-04.md | ||
LDM-2018-06-06.md | ||
LDM-2018-06-25.md | ||
LDM-2018-07-09.md | ||
LDM-2018-07-11.md | ||
LDM-2018-07-16.md | ||
LDM-2018-08-20.md | ||
LDM-2018-08-22.md | ||
LDM-2018-09-05.md | ||
LDM-2018-09-10.md | ||
LDM-2018-09-19.md | ||
README.md |
C# Language Design Notes for 2018
Overview of meetings and agendas for 2018
Jan 3, 2018
C# Language Design Notes for Jan 3, 2018
- Scoping of expression variables in constructor initializer
- Scoping of expression variables in field initializer
- Scoping of expression variables in query clauses
- Caller argument expression attribute
- Other caller attributes
- New constraints
Jan 10, 2018
C# Language Design Notes for Jan 10, 2018
- Ranges and endpoint types
Jan 18, 2018
C# Language Design Notes for Jan 18, 2018
We discussed the range operator in C# and the underlying types for it.
- Scope of the feature
- Range types
- Type name
- Open-ended ranges
- Empty ranges
- Enumerability
- Language questions
Jan 22, 2018
C# Language Design Notes for Jan 22, 2018
We continued to discuss the range operator in C# and the underlying types for it.
- Inclusive or exclusive?
- Natural type of range expressions
- Start/length notation
Jan 24, 2018
C# Language Design Notes for Jan 24, 2018
- Ref reassignment
- New constraints
- Target typed stackalloc initializers
- Deconstruct as ref extension method
July 9, 2018
C# Language Design Notes for July 9, 2018
using var
feature- Overview
- Tuple deconstruction grammar form
using expr;
grammar form- Flow control safety
- Pattern-based Dispose in the
using
statement - Relax Multiline interpolated string syntax (
$@
)
July 11, 2018
C# Language Design Notes for July 11, 2018
- Controlling nullable reference types with feature flags
- Interaction with NonNullTypesAttribute
- Feature flag and 'warning waves'
- How 'oblivious' null types interact with generics
- Nullable and interface generic constraints
July 16, 2018
C# Language Design Notes for July 16, 2018
- Null-coalescing assignment
- User-defined operators
- Unconstrained type parameters
- Throw expression the right-hand side
- Nullable await
- Nullable pointer access
- Non-nullable reference types feature flag follow-up
August 20, 2018
C# Language Design Notes for August 20, 2018
- Remaining questions on suppression operator (and possibly cast)
- Does a dereference update the null-state?
- Null contract attributes
- Expanding the feature
- Is T? where T : class? allowed or meaningful?
- Typing judgments containing oblivious types
- Unconstrained T in List then
FirstOrDefault()
. What attribute to annotateFirstOrDefault
?
August 22, 2018
C# Language Design Notes for August 22, 2018
- Target-typed new
- Clarification on constraints with nullable reference types enabled
September 5, 2018
C# Language Design Notes for September 5, 2018
- Index operator: is it a unary operator?
- Compiler intrinsics
September 10, 2018
C# Language Design Notes for September 10, 2018
- Nullability of constraints in inheritance and interface implementation
- Static local functions
Sep 19, 2018
C# Language Design Notes for September 19, 2018
Triage:
- XML doc comment features
- New
foreach
pattern usingLength
and indexer - Object initializers for
readonly
members readonly
struct methodsparams Span<T>
- Nullable reference type features on
Nullable<T>
Upcoming meetings
Sep 24, 2018
- C#/F# interactions (Don Syme, Phillip Carter)
Sep 26, 2018
- Warning waves (Jason, Tom)
Oct 1, 2018
- Nullable type inference with respect to null-oblivious types (Chuck, Fred)
- Pattern matching open questions (Neal)
Oct 3, 2018
- Async streams (Steve, Immo)
- target typed new with default constructors on structs (Julien, Neal)
Oct 10, 2018
- Discussion of records (Andy)
Oct 15, 2018
- Readonly methods in structs (Jared)
- Intrinsics update with function pointers (Jared)
Oct 17, 2018
- Open issues with default interface methods (Aleksey, David)
- Adding Nullable Reference Type features to Nullable Value Types (mads)
Oct 22, 2018
- Discussion of refreshing language spec (Neal)
- Triage milestones
Oct 24, 2018
Schedule ASAP
Schedule when convenient
Recurring topics
- Triage championed features
- Triage milestones
- Design review