Я пытаюсь определить оператор с явными параметрами типа и ограничениями:
let inline (===)<'a, 'b
when 'a : not struct
and 'b : not struct> a b = obj.ReferenceEquals (a,b)
Хорошо работает в F # 2.0, но выдает:
предупреждение FS1189:
Параметры типа должны быть размещены напрямую
рядом с именем типа, например "тип
C <'T> ", не тип" C <' T> "
Итак, как правильно задавать явные аргументы типа для определения оператора?
p.s. Пожалуйста, не говорите мне о параметрах неявного типа и некоторых других обходных путях, я хочу конкретно решить эту проблему.