blob: fdddc8f444681ea2463e447486674cdb67cd9218 (
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
31
32
33
34
35
36
37
38
39
40
41
|
object store {
var str = ""
}
import store._
trait A {
str += "a"
val i = 2
val s = str += 'A'
str += '1'
}
trait B extends A {
str += 'b'
override val i = 3
override val s = str += 'B'
str += '2'
}
class D(sup: Unit) extends A {
str += 'd'
override val i = 4
override val s = str += 'D'
str += '3'
}
class E(sup: Unit) extends A with B {
str += 'd'
override val i = 5
override val s = str += 'E'
str += '3'
}
object Test extends D({str += "Z"}) with B {
// should only have 2 fields
str += 'E'
def main(args: Array[String]) = assert(str == "ZaA1dD3bB2E4", str)
str += '4'
}
|