在下面的示例中,我尝试将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)
谢谢!
德罗
答案 0 :(得分: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]) = ???