Visual Studio 16.2 Preview 2 と .NET Core 3.0 Preview 6 が来てますね。
Visual Studio 16.2 Preview 2 の方は、自分が気になったのだと、switch
ステートメントをswitch
式に書き換えてくれるリファクタリング機能が入ったとかあるみたいです。
.NET Core 3.0 Preview 6 は、パフォーマンス カウンターで GC とかスレッド周りの詳細な情報が取れるようになったり、AOT シナリオで「使ってなさそうなコードを消す」系の最適化が増えたり、HTTP/2 サポートが入ったみたいです。
WPFのオープンソース化(リポジトリができた時点ではスカスカだった)も完了したとのこと。
※追記: .NET Core 3.0 Preview 6 をインストールすると、WPF アプリ(の .NET Core 版)が英語ロケールでしか動かなくなるみたいです。ご注意を。
あと、null許容参照型に関連する属性が標準で入ったみたいです。 ただ、これは型として存在しているだけで、C# コンパイラー側が解釈できるようになるのは 16.2 Preview 3 以降随時みたいです。
C# 8.0 in 16.2 Preview 2
C# 的には、Preview 1の頃にあったやばいバグは治りました。
(stackalloc
を使っただけで不正な IL を生成して実行できなくなる問題。)
これで今度こそ、気兼ねなく式中の stackallocを試せます。
あと、ひそかに今回から入ったのが、
です。 以下のようなやつ。一度デフォルト実装を持ったメソッドを、もう1度抽象メソッドに変えて、派生側での実装を必須に変える機能。
前述の通りnull許容参照型に関連する属性は .NET Core 3.0 側には入ったわけですが、 C#コンパイラーが対応し出すのは次の Preview 以降みたいです。 スケジュール感は以下のページに書かれている通り。
6/10 で終わっている作業はたぶん 16.2 Preview 3 で入ります。
ちなみに、以下のような issue もあります。
要するに、16.3 で C# 8.0 の preview が外れ、default が 8.0 になるという予告。 buildで「7月にRC、9月にGA」という話をしていたんで、それがそれぞれ 16.2 (で C# 8.0 も RC)、16.3 (で GA)ということなんだと思います。