何らかの理由で、これをVisual StudioのC#ファイルに入力するだけで、すぐにクラッシュすることがあります。どうして?
unsafe struct node {
node*[] child;
}
IDEがキーワードなどの色付けを開始するときに発生するようです。
TIOで試してみるとcsc.exe exited with code 1
これはあまり役に立ちません。
C#の配列宣言はC/C++とは異なりますが、上記の らしい 完全に有効である必要があります。なぜそうではなく、なぜVisual Studioがクラッシュするのですか?
Visual Studioのバージョンは14.0.23107です。
これは Roslynの既知のバグ です。このバグは、Roslynを使用するVisual Studioのすべてのバージョンに影響します。
VersionOf.net を正しく解釈している場合、Roslynが組み込まれたVisual Studioの最初のバージョンは2015です。それ以前は、Ithinkそれは拡張機能としてのみ利用可能でした。そのため、Visual Studio 2013以前は影響を受けません。
マイルストーン16リリース で修正される予定です。現時点では、そのリリースは予定されていません。
これはRoslynのバグであるため、Roslynより前のVisual Studioの古いバージョンでunsafe struct
を含むコードを編集およびコンパイルすることで、「回避」できます。 Visual Studio 2012が動作するはずです。その後、結果の.DLLを現在のソフトウェアで使用できます。
this branch から自分でRoslynをビルドすると、未検証の修正が利用可能になります。修正は this commit で行われました。