summaryrefslogtreecommitdiff
path: root/test/files/pos/mixins.scala
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 {}