80 lines
1.7 KiB
Markdown
80 lines
1.7 KiB
Markdown
# C# Language Design Notes for Oct 9, 2017
|
|
|
|
***Warning: These are raw notes, and still need to be cleaned up. Read at your own peril!***
|
|
|
|
|
|
# 882 Negated if or negative patterns
|
|
|
|
Three approaches
|
|
|
|
1. bang outside if condition (then should I do that on while etc, too) `if !(o is int i)`
|
|
2. negative patterns (but not very useful recursively) `not int i`
|
|
3. `is not` as an expression operator
|
|
|
|
# 867
|
|
|
|
Avoid some statement cliffs...
|
|
|
|
Put it in X.X with a note to consider again when we have match expressions
|
|
|
|
# 414
|
|
|
|
There's a "there" there.
|
|
|
|
We think this should be addressed, and will keep the championing issue to represent it.
|
|
|
|
However, it should be different:
|
|
|
|
1. It should not be strongly tied to the `Dictionary<K, V>` type, but be target typed
|
|
2. We should look at initializing immutable objects (also for object and collection initializers)
|
|
3. We already have index initializers. Are they good enough?
|
|
|
|
# 973 Declaration expressions
|
|
|
|
Last time, we had two issues:
|
|
|
|
1. Weren't ready to commit to scoping rules
|
|
2. Weren't sure that we could get decent error recovery on syntax
|
|
|
|
1 is dealt with.
|
|
2 was more that it was hard to show intellisense because more things were legal
|
|
|
|
Scenario is introduce a local variable in expressions without having to use trivial pattern matching. Also ref.
|
|
|
|
We feel like we need to spend more time with it to judge its value. 8.0 for now to trigger that discussion.
|
|
|
|
# 881 and 33
|
|
|
|
Fits with nullable in 8.0
|
|
|
|
# 185
|
|
|
|
Settle this in the 7.3 timeframe
|
|
|
|
# 187 Blittable
|
|
|
|
# 435
|
|
|
|
# 287
|
|
|
|
# 32
|
|
|
|
# 125
|
|
|
|
Missing, but not much ask for it
|
|
|
|
# 111
|
|
|
|
We would want to deal with single parameters. A problem is that discards do not shadow today, whereas identifiers do. We may want to change that.
|
|
|
|
# 191
|
|
|
|
Need more motivation
|
|
|
|
# 190
|
|
|
|
Some open design discussions
|
|
|
|
#
|
|
|
|
|