我想做类似的事情
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
.