我想覆盖trait中的抽象类型<:而不是=(在这里回答Scala Upper Bounds:value不是type参数的成员).
我想用蛋糕模式,但这不起作用,我不明白为什么?
trait A {
def ping = println("ping")
}
trait Cake {
type T
}
trait S { this: Cake =>
type T = A
def t: T
t.ping
}
Run Code Online (Sandbox Code Playgroud)
好的,这个例子运行,但在我的实际用例中,我想覆盖类型<:而不是=.It似乎无法访问t函数,为什么?
trait S { this: Cake =>
type T <: A
def t: T
t.ping
}
Run Code Online (Sandbox Code Playgroud)
返回错误 value ping is not a member of S.this.T