JVM IR: Avoid direct lambda invokes in inline tests
This commit is contained in:
committed by
Alexander Udalov
parent
f0760e0550
commit
2acfb3a41f
@@ -6,7 +6,7 @@ package test
|
||||
|
||||
inline fun foo(value: String, crossinline s: () -> String): String {
|
||||
val x = { value }
|
||||
return java.util.concurrent.Callable(x).call() + { s() }()
|
||||
return java.util.concurrent.Callable(x).call() + { s() }.let { it() }
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ package test
|
||||
import java.util.concurrent.Executors
|
||||
|
||||
inline fun doWork(noinline job: ()-> Unit) {
|
||||
{ Executors.callable(job).call() } ()
|
||||
{ Executors.callable(job).call() }.let { it() }
|
||||
Executors.callable(job).call()
|
||||
}
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ fun test(): String = ""
|
||||
|
||||
inline fun String.switchMapOnce(crossinline mapper: (String) -> String): String {
|
||||
Callable(::test)
|
||||
return { mapper(this) }()
|
||||
return { mapper(this) }.let { it() }
|
||||
}
|
||||
// FILE: 2.kt
|
||||
|
||||
|
||||
Reference in New Issue
Block a user