aboutsummaryrefslogblamecommitdiff
path: root/tests/run/inlinedAssign.scala
blob: f405f5073acf506dbb13916d535a6eb836b07b41 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11

             
                                                                      







                                   


                                   


                            
object Test {

  inline def swap[T](x: T, x_= : T => Unit, y: T, y_= : T => Unit) = {
    val t = x
    x_=(y)
    y_=(t)
  }

  def main(args: Array[String]) = {
    var x = 1
    var y = 2
    inline def setX(z: Int) = x = z
    inline def setY(z: Int) = y = z
    swap(x, setX, y, setY)
    assert(x == 2 && y == 1)
  }
}