Я пытаюсь определить оператор с явными параметрами и ограничениями типа:
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. Пожалуйста, не говорите мне о неявных параметрах типа и некоторых других обходных решениях, я хочу конкретно решить эту проблему.