我的印象是上下文边界仅适用于方法:
trait Target[T]
class Post {
def pinTo[T : Target](t:T)
}
显然上下文边界也可以用于class
(并且可能trait
):
trait Target[T]
class Post[T:Target] {
def pintTo[T](t:T)
}
现在我很困惑如何提供证据Post
?
class Business
implicit object ev extends Target[Business] // is implicit necessary here ?
val p = new Post[Business] // ?? how do I provide ev ?