JVM IR: Avoid direct lambda invokes in inline tests
This commit is contained in:
committed by
Alexander Udalov
parent
f0760e0550
commit
2acfb3a41f
+1
-1
@@ -21,7 +21,7 @@ inline fun vBox(crossinline action: () -> Unit) {
|
||||
contract {
|
||||
callsInPlace(action, InvocationKind.EXACTLY_ONCE)
|
||||
}
|
||||
return { action() }()
|
||||
return { action() }.let { it() }
|
||||
}
|
||||
|
||||
inline fun button(onAction: () -> Unit) {
|
||||
|
||||
@@ -26,7 +26,7 @@ inline fun baz(crossinline exactly_once: () -> Unit) {
|
||||
callsInPlace(exactly_once, InvocationKind.EXACTLY_ONCE)
|
||||
};
|
||||
|
||||
{ exactly_once() }()
|
||||
{ exactly_once() }.let { it() }
|
||||
}
|
||||
|
||||
// FILE: 2.kt
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@ fun box(): String {
|
||||
x = 42
|
||||
{
|
||||
x
|
||||
}()
|
||||
}.let { it() }
|
||||
}
|
||||
return if (res == 42 && x.inc() == 43) "OK" else "Fail: ${x.inc()}"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user