sto cercando di definire operatore con i parametri di tipo esplicito e vincoli:F #: parametri di tipo esplicite in operatore vincolante
let inline (===)<'a, 'b
when 'a : not struct
and 'b : not struct> a b = obj.ReferenceEquals (a,b)
Funziona bene in F # 2.0, ma produce il:
avviso FS1189:
I parametri di tipo devono essere inseriti direttamente su adiacenti al nome del tipo, ad es. "Tipo C < 'T>", non di tipo "C <' T>"
Allora, qual è il modo giusto di fare esplicita specificazione argomenti di tipo per la definizione dell'operatore?
p.s. Per favore non parlarmi di parametri di tipo implicito e di altri metodi alternativi, voglio risolvere concretamente questo problema.
modelli Anche attivi hanno lo stesso problema: 'diamo (| SomePatternName |) <'a, 'b> x = x' – ControlFlow