2016/09/21 (水) の朝方、とある Pull-Request のマージにより Roslyn の開発状況/進捗 (Language Feature Status) が更新されました。でも実際に変更を加えたのは 2016/08/30 (火) っぽいので、約 1 か月前から決まっていた内容です。
Language Feature Status
以下はその引用です。
C# 7 / Visual Basic 15 に搭載予定
Feature Branch State Binary Literals master Finishing Digit Separators master Finishing Local Functions master Finishing Type switch master Finishing Ref Returns master Finishing Tuples master Finishing Out var master Finishing ValueTask master Finishing Throw Expr features/throwexpr Prototyping Expression-Bodied Everything features/exprbody Prototyping C# 8 / Visual Basic 16 以降で搭載予定
Feature Branch State Address of Static none Feature Specification Async Main none Feature Specification Source Generation master Prototyping private protected features/privateProtected Prototyping Non-null Ref Types features/NullableReferenceTypes Prototyping Bestest Betterness none Feature Specification Records features/records Feature Specification With Exprs features/records Feature Specification Pattern Matching features/patterns Prototyping
C# 7 で搭載見込みの機能は実装完了しているものすべてを記事にしていますので、ご興味があればご覧ください。変更点なども順次追記/修正しています。
変更点
diff から見る前回との差分はザッと以下のような感じです。
機能 | 概要 | 変更点 |
---|---|---|
Throw Expr | 例外を式でも投げられるように | C# 7 での搭載に再昇格 |
Expression-Bodied Everything | コンストラクタなども => で書けるように |
新規に C# 7 で搭載する方向 |
Address of Static | 搭載見送り | |
Bestest Betterness | より優れたオーバーロード解決 | Better Betterness から名称変更 |
開発も終盤に差し掛かっているのかなぁと思っていたりしたのですが、一度は見送られた throw 式が再度搭載する方向になるなどの方針変更が入っています。まだまだアクティブな開発が続いている感じで目が離せませんね!最近は Visual Studio 15 Preview 5 のリリース準備も着々と進んでいるように見受けられますし、そこまでにどれだけ開発が進むのか楽しみです。
ちなみにここに書いてあることは記事執筆時点 (2016/09/24) での状況であって最終的な確定事項ではないのでご注意ください。C# 7 の fix はいつになるのか...w