2.9 KiB
2.9 KiB
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?
- Confirm that oblivious should be ephemeral
- Unconstrained T in List then
FirstOrDefault()
. What attribute to annotateFirstOrDefault
?