F#中的类型约束顺序

kas*_*rhj 3 f# type-constraints

这适用于F#4.0:

type Something<'a, 'b when 'b :> seq<'b>>() = 
Run Code Online (Sandbox Code Playgroud)

这不是:

type Something<'b when 'b :> seq<'b>, 'a>() = 
Run Code Online (Sandbox Code Playgroud)

类型名称中的意外符号','.预期的">"或其他令牌.

类型约束的顺序重要的是什么?

Joh*_*mer 9

因为它符合规范 - 相关部分就是这个(从第5节开始):

typar-defns:= < typar-defn, ..., typar-defn typar-constraints_opt>
Run Code Online (Sandbox Code Playgroud)

约束需要走到最后.

在这typar-constraints必须始终开始,when不能出现在任何其他地方.