blob: 678e4806efbf948a7b1dfbb4cffe400c309195fa (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
trait T1 {
def f: String
}
trait T2 extends T1 {
abstract override def f: String = "goo"
def something = super.f // So the "abstract override" is needed
}
trait Q1 {
def f: String = "bippy"
}
//trait T3 extends Q1 with T2 {
trait T3 extends T2 with Q1 {
abstract override def f: String = super[Q1].f + " " + super[T2].f + " hoo"
}
class Konkret extends T3
object Test {
def main(args: Array[String]): Unit = {
val k = new Konkret
println(k.f)
println(k.something)
}
}
|