我试图了解它是如何工作的。这是我尝试过的:
abstract class TestBase { self =>
type T >: self.type <: TestBase
}
class Test1 extends TestBase {
type T = Test1
}
class Test2 extends Test1{
override type T = Test1 // daaaaamn
}
问题是继承层次结构的长度是否超过 2。在 Test2 的情况下,这绝对不是我想要的。有没有办法防止在编译时发生类似的事情?