blob: 803d97dd92d7998722ea964fb4b4ae259aef87e9 (
plain) (
tree)
|
|
abstract class FooA {
type A <: Ax;
abstract class Ax;
abstract class InnerA {
type B <: A;
def doB : B;
}
}
trait FooB extends FooA {
type A <: Ax;
trait Ax extends super.Ax { def xxx : Int; } // error: cyclic inheritance: trait Ax extends itself
// (Note that inheriting a class of the same name is no longer allowed)
abstract class InnerB extends InnerA {
// type B <: A;
val a : A = doB;
a.xxx;
doB.xxx;
}
}
|