【发布时间】:2019-03-17 16:54:59
【问题描述】:
class Animal
class Cat extends Animal
trait ZPar {
type K
def get(i: K)
}
def zz(t:ZPar{ type K >: Animal } ) = {
t.get(new Cat) //compiled! why?
}
这段代码编译没有错误,但我认为一定有问题,因为K >: Animal 并且我传递了Cat,这绝对不是Animal 的超类型。
是编译器有问题还是我误解了这个概念?
【问题讨论】: