100 lines
3.4 KiB
Markdown
100 lines
3.4 KiB
Markdown
# C# Language Design Notes for 2014
|
||
|
||
Overview of meetings and agendas for 2014
|
||
|
||
## Jan 6, 2014
|
||
|
||
[C# Language Design Notes for Jan 6, 2014](LDM-2014-01-06.md)
|
||
|
||
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](LDM-2014-02-03.md)
|
||
|
||
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](LDM-2014-02-10.md)
|
||
|
||
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](LDM-2014-04-21.md)
|
||
|
||
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](LDM-2014-05-07.md)
|
||
|
||
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](LDM-2014-05-21.md)
|
||
|
||
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](LDM-2014-07-09.md)
|
||
|
||
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](LDM-2014-08-27.md)
|
||
|
||
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](LDM-2014-09-03.md)
|
||
|
||
1. Removing “spill out” from declaration expressions in simple statements <_yes, remove_>
|
||
2. Same name declared in subsequent else-if’s <_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](LDM-2014-10-01.md)
|
||
|
||
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](LDM-2014-10-15.md)
|
||
|
||
1. nameof operator: spec v5
|
||
2. [String Interpolation for C#](http://1drv.ms/1tFUvbq)
|