Я обнаружил некоторые проблемы с ошибкой FS0670 (This code is not sufficiently generic. ...
) внутри StackOverflow, но ни одно из предложенных решений не работает нормально с моей проблемой (я новичок, возможно, мне не хватает некоторых концепций F #).
У меня есть следующая общая структура, которую я хотел бы работать только с примитивными типами (т. Е. Int16 / 32/64 и single / float / decimal).
[<Struct>]
type Vector2D<'T when 'T : struct and 'T:(static member get_One: unit -> 'T) and 'T:(static member get_Zero: unit -> 'T) > =
val x : 'T
val y : 'T
new( xp: 'T, yp: 'T ) = { x = xp; y = yp }
Но с новым конструктором я получаю упомянутую ошибку FS0670.
Кто-нибудь знает возможное решение? Большое спасибо заранее.