【お知らせ】プログラミング記事の投稿はQiitaに移行しました。

列挙型配列の初期化エラー

【追記1】いげ太さんより、XP SP3 + Visual Studio 2010 Proの環境でも同様の問題が発生するとのご報告がありました。

【追記2】いげ太さんより、Don Syme氏直々のご回答をご報告いただきました。

昨日(id:n7shi:20100710)のテストで、Module1.fsを以下の内容にすると初期化エラーが発生します。

module Module1

type E = | A = 0
let a = [| E.A; E.A; E.A; E.A; E.A; E.A |]
let hello = sprintf "%A" a

配列の要素を1つ少なくしたり、列挙型ではなく整数型にしたり、配列ではなくリストにしたりすれば落ちません。List.toArrayで変換すれば配列が得られます。リリースビルドで生成されたHTMLファイルを手動で開くと正常動作することから、デバッガのアタッチ周りで何か問題があるのかもしれません。無理やりビルドしているのが原因の可能性もありますが・・・。