明示的な型パラメーターと制約を使用して演算子を定義しようとしています:
let inline (===)<'a, 'b
when 'a : not struct
and 'b : not struct> a b = obj.ReferenceEquals (a,b)
F# 2.0 では問題なく動作しますが、次の結果が生成されます。
警告 FS1189:
型パラメーターは型名のすぐ隣に配置する必要があります。たとえば、型 "C<'T>" ではなく、"type C<'T>" です。
では、演算子定義の明示的な型引数指定を行う正しい方法は何ですか?
ps 暗黙の型パラメーターやその他の回避策について教えてください。この問題を具体的に解決したいのです。