0

我想做类似的事情

trait Copyable[T] {
  extension (o: T) def copy: T
}

trait A : Copyable { // Context bound is not legal here...
  def foo(): A = copy
}

或者

trait A {
  this: (A: Copyable) => // Context bound is not legal here...
  def foo(): A = copy
}

换句话说,我希望 traitA能够“扩展” Copyable,或者只能与Copyable类型混合。

注意:理想情况下,foo应该有类型this.static_type(当前不存在),它代表this.

4

0 回答 0