From c9fa504161cc34ec979ae3c1b73db6798adc4872 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Thu, 15 Sep 2016 15:33:22 +0200 Subject: Inline function parameters Add inline function parameters. The previous concept of inlineable closure is adapted to coincide with an inline function parameter. --- tests/run/inlinedAssign.scala | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'tests/run/inlinedAssign.scala') diff --git a/tests/run/inlinedAssign.scala b/tests/run/inlinedAssign.scala index 5b73a6f0c..f241780ed 100644 --- a/tests/run/inlinedAssign.scala +++ b/tests/run/inlinedAssign.scala @@ -1,6 +1,6 @@ object Test { - inline def swap[T](x: T, x_= : T => Unit, y: T, y_= : T => Unit) = { + inline def swap[T](x: T, inline x_= : T => Unit, y: T, inline y_= : T => Unit) = { val t = x x_=(y) y_=(t) @@ -16,6 +16,10 @@ object Test { 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 } } -- cgit v1.2.3