aboutsummaryrefslogblamecommitdiff
path: root/tests/run/traits-initialization.scala
blob: e1927d6a2193296c94f2d614e233a05d3c273681 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13












                            
                                  




                            
                                                           

                             
                                                                  

           
trait A {
 var str = ""
 str = "a"
 val s = str += 'A'
 str += '1'
}

trait B extends A {
 str += 'b'
 override val s = str += 'B'
 str += '2'
}

class D(sup: =>String) extends A {
 str += 'd'
 override val s = str += 'D'
 str += '3'
}

object Test extends D({Test.str += "Z"; Test.str}) with B {
 // should only have 2 fields
 str += 'E'
 def main(args: Array[String]) = assert(str == "aA1dD3bB2E4", str)
 str += '4'
}