Scala のコンテキスト バインド パターンを使用して、次のことを実行したいと考えています。
class Polynomial[T: Ring] {
def apply[X: Ring with Includes[T]](x: X): X = ...
...
}
これは、係数が a の要素である必要がある多項式クラスRing T
です。この多項式を要素に適用する (評価) 場合、パラメーターの型はx
リングである必要があり、 type の要素は typeT
に暗黙的にキャストできますX
。たとえばT = Double, X = SquareMatrix
。
Scala のジェネリック型パラメーターに複数の型制約を課すにはどうすればよいですか?