2012-05-14 6 views
5

F#コンパイラは時々このような定義を指し示す形Duplicate definition of value fooのコンパイル時にエラーと私のコードを拒否:偽「の値の重複定義」エラー

let foo = ref 0 

これがあるにもかかわらず、ファイル全体にfooの他の定義がないため、重複する定義ではありません。なぜこれが起こるのですか? fooの定義は衝突があるので、独自のget_fooメソッドを実装してプロパティを作成するため

let get_foo() = !foo 

答えて

8

これはあなたにもget_foo関数を定義したときに発生します。 F#コンパイラはこれで混乱し、偽の "重複定義エラー"を生成します。

このバグはマイクロソフトに報告されており、修正作業中ですが、F#の次の(VS11)リリースには反映されません。

関連する問題