Don't recognize nullable function types as inlinable

#KT-19679 Fixed
This commit is contained in:
Mikhael Bogdanov
2017-08-16 12:51:28 +02:00
parent 1b2e28d467
commit 79ecc7fd5c
17 changed files with 177 additions and 15 deletions
@@ -0,0 +1,19 @@
// FILE: 1.kt
package test
inline fun build(func: () -> Unit, noinline pathFunc: (() -> String)? = null) {
func()
pathFunc?.invoke()
}
// FILE: 2.kt
import test.*
fun box(): String {
var result = "fail"
build({ result = "OK" })
return result
}
@@ -0,0 +1,15 @@
// FILE: 1.kt
package test
inline fun build(noinline pathFunc: (() -> String)? = null) {
pathFunc?.invoke()
}
// FILE: 2.kt
import test.*
fun box(): String {
build ()
return "OK"
}
@@ -0,0 +1,20 @@
// FILE: 1.kt
package test
@Suppress("NULLABLE_INLINE_PARAMETER")
inline fun build(func: () -> Unit, pathFunc: (() -> String)? = null) {
func()
pathFunc?.invoke()
}
// FILE: 2.kt
import test.*
fun box(): String {
var result = "fail"
build ({ result = "OK" })
return result
}