aboutsummaryrefslogtreecommitdiff
path: root/tests/run/inlinedAssign.scala
blob: 735158209a6bc6f006441c4795e027756665157f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
object Test {

  @dotty.annotation.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
    @dotty.annotation.inline def setX(z: Int) = x = z
    @dotty.annotation.inline def setY(z: Int) = y = z
    swap[Int](x, setX, y, setY)
    assert(x == 2 && y == 1)
  }
}