コンパイル:
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:(static member(>>>):^ T * int32-> ^ T)'の場合、型パラメーターに制約がありません。
スペースを追加しても役に立ちません。この行では、同じコンパイラエラーが発生します。
let inline f< ^T when ^T : (static member ( >>> ) : ^T * int -> ^T) > (x : ^T) = x >>> 1
ドキュメントと仕様の両方を検索しましたが、役に立ちませんでした。これはバグですか?>
メンバーの署名に文字を含める方法はありますか?