我试过
def function[T <: this.type](parameter: T)
但它不起作用。
这应该只是一个简单的问题,它太重了,无法定义CanBuildFrom并在每次使用函数之前导入它
答案 0 :(得分:1)
标准集合使用类型参数对其进行编码。
scala> abstract class X[Repr <: X[Repr]] { def f(r: Repr) }
defined class X
scala> class Y extends X[Y] { def f(y: Y) = ??? }
defined class Y
scala> val y = new Y
y: Y = Y@6ae40994
scala> y f y
scala.NotImplementedError: an implementation is missing
at scala.Predef$.$qmark$qmark$qmark(Predef.scala:225)
at Y.f(<console>:8)
... 33 elided