blob: 431b846d90ce804d05dce331811c5e6b684efe43 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
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) // error: class definitions cannot be overridden
abstract class InnerB extends InnerA {
// type B <: A;
val a : A = doB;
a.xxx;
doB.xxx;
}
}
|