blob: 2b403a25e8f18a8fdda091f6b3e4d984f28e13f3 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
package mixins;
abstract class Super {
def foo: int;
}
trait Mixin extends Super {
abstract override def foo = super.foo;
}
trait MixinSub extends Super with Mixin {
abstract override def foo: int = super.foo;
}
trait MixinSubSub extends MixinSub {
abstract override def foo = super.foo;
}
class Sub extends Super {
def foo: int = 1
}
class Base extends Sub with MixinSubSub {
override def foo = super.foo;
}
trait Mixin1 extends Sub with MixinSubSub {}
class Base1 extends Mixin1 {}
|