xin9le.net

Microsoft の製品/技術が大好きな Microsoft MVP な管理人の技術ブログです。

Roslyn の開発進捗が更新されました - 2016/09/21

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