2016-08-19 10 views
1

次の例では、LinkのPoint引数にバインドされたコンテキストをRadPointとして表示できるようにします。パラメータのパラメータにバインドされたコンテキストを設定する

trait Link[Point, +A <: Link[Point, A]] { 
} 

type ViewableAsRadPoint[T] = T => RadPoint 

def compute[Point: ViewableAsRadPoint, Link <: Link[Point, Link]](link: Link) 

計算ポイントの露出ポイントを取り除くことはできますか?次のようなもの:

def compute[Link <: Link[_ : ViewableAsRadPoint, Link]](link: Link) 

ありがとう!

DERO

答えて

1

あなたが外部からメンバー型としてPoint型パラメータ見えるようにすることができる:

trait Link[Point, +A <: Link[Point, A]] { 
    type Pt = Point 
} 

し、そのメンバ型の等価暗黙パラメータとして_ : ViewableAsRadPoint結合コンテキスト抽出:

def compute[L <: Link[_, L]](link: L)(
    implicit view: ViewableAsRadPoint[link.Pt]) = ??? 
関連する問題