csharplang/meetings/2017/LDM-2017-10-09.md
2018-01-25 13:11:49 -08:00

1.7 KiB

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