csharplang/meetings/2014/README.md

3.4 KiB
Исходник Постоянная ссылка Ответственный История

C# Language Design Notes for 2014

Overview of meetings and agendas for 2014

Jan 6, 2014

C# Language Design Notes for Jan 6, 2014

  1. Syntactic ambiguities with declaration expressions <a solution adopted>
  2. Scopes for declaration expressions <more refinement added to rules>

Feb 3, 2014

C# Language Design Notes for Feb 3, 2014

  1. Capture of primary constructor parameters <only when explicitly asked for with new syntax>
  2. Grammar around indexed names <details settled>
  3. Null-propagating operator details <allow indexing, bail with unconstrained generics>

Feb 10, 2014

C# Language Design Notes for Feb 10, 2014

  1. Design of using static <design adopted>
  2. Initializers in structs <allow in certain situations>
  3. Null-propagation and unconstrained generics <keep current design>

Apr 21, 2014

C# Language Design Notes for Apr 21, 2014

  1. Indexed members <lukewarm response, feature withdrawn>
  2. Initializer scope <new scope solves all kinds of problems with initialization>
  3. Primary constructor bodies <added syntax for a primary constructor body>
  4. Assignment to getter-only auto-properties from constructors <added>
  5. Separate accessibility for type and primary constructor <not worthy of new syntax>
  6. Separate doc comments for field parameters and fields <not worthy of new syntax>
  7. Left associative vs short circuiting null propagation <short circuiting>

May 7, 2014

C# Language Design Notes for May 7, 2014

  1. protected and internal <feature cut – not worth the confusion>
  2. Field parameters in primary constructors <feature cut – we want to keep the design space open>
  3. Property declarations in primary constructors <interesting but not now>
  4. Typeswitch <Not now – more likely as part of a future more general matching feature>

May 21, 2014

C# Language Design Notes for May 21, 2014

  1. Limit the nameof feature? <keep current design>
  2. Extend params IEnumerable? <keep current design>
  3. String interpolation <design nailed down>

Jul 9, 2014

C# Language Design Notes for Jul 9, 2014

  1. Detailed design of nameof <details settled>
  2. Design of #pragma warning extensions <allow identifiers>

Aug 27, 2014

C# Language Design Notes for Aug 27, 2014

  1. Allowing parameterless constructors in structs <allow, but some unresolved details>
  2. Definite assignment for imported structs <revert to Dev12 behavior>

Sep 3, 2014

C# Language Design Notes for Sep 3, 2014

  1. Removing “spill out” from declaration expressions in simple statements <yes, remove>
  2. Same name declared in subsequent else-ifs <condition decls out of scope in else-branch>
  3. Add semicolon expressions <not in this version>
  4. Make variables in declaration expressions readonly <no>

Oct 1, 2014

C# Language Design Notes for Oct 1, 2014

  1. Assignment to readonly autoprops in constructors (we fleshed out details)
  2. A new compiler warning to prevent outsiders from implementing your interface? (no, leave this to analyzers)

Oct 15, 2014

C# Language Design Notes for Oct 15, 2014

  1. nameof operator: spec v5
  2. String Interpolation for C#