编译:
let inline f< ^T when ^T : (static member (<<<) : ^T * int -> ^T) > (x : ^T) = x <<< 1
不编译:
let inline f< ^T when ^T : (static member (>>>) : ^T * int -> ^T) > (x : ^T) = x >>> 1
错误:
- 尝试将其解析为操作员名称,但失败
- 成员签名中出现意外符号“>”。应为 ')' 或其他标记。
- 类型参数缺少约束“当 ^T : (静态成员 ( >>> ) : ^T * int32 -> ^T)”
添加空格无济于事;此行产生相同的编译器错误:
let inline f< ^T when ^T : (static member ( >>> ) : ^T * int -> ^T) > (x : ^T) = x >>> 1
我已经搜索了文档和规范,但无济于事。这是一个错误吗?有没有办法>
在成员签名中包含字符?