blob: 1b524f92bf24bf7fa52500f79fbd5176664a8681 (
plain) (
tree)
|
|
object Test {
inline def swap[T](x: T, inline x_= : T => Unit, y: T, inline y_= : T => Unit) = {
x_=(y)
y_=(x)
}
inline def f(x: Int => Unit) = x
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)
swap(x, x = _, y, y = _)
assert(x == 1 && y == 2)
val z = f(setX) // tests case where inline arg is not applied
}
}
|