aboutsummaryrefslogblamecommitdiff
path: root/tests/run/traitParams.scala
blob: c1b77cf37e329292888dac31df330cf14653f77b (plain) (tree)
1
2
3
4
5
6
7
8
9



                




                             
              

                              


                                               
 

                              

             
                                         
                            

                             

 
object State {
  var s: Int = 0
}

trait T(x: Int, val y: Int) {
  def f = x
}

trait U extends T {
  State.s += 1
  override def f = super.f + y
}
import State._
class C(x: Int) extends U with T(x, x * x + s)
class C2(x: Int) extends T(x, x * x + s) with U

class D extends C(10) with T
class D2 extends C2(10) with T

object Test {
  def main(args: Array[String]): Unit = {
    assert(new D().f == 110)
    assert(new D2().f == 111)
  }
}