07bde889b4
and fake lambda types, too. (But those only matter for debugging.) Also, share object name generators between methods with the same name to avoid rewriting objects from one with objects from the other.
19 lines
351 B
Kotlin
Vendored
19 lines
351 B
Kotlin
Vendored
// FILE: 1.kt
|
|
package test
|
|
|
|
inline fun <R> call(crossinline f: () -> R) : R {
|
|
return { f() }()
|
|
}
|
|
|
|
// FILE: 2.kt
|
|
//NO_CHECK_LAMBDA_INLINING
|
|
import test.*
|
|
|
|
inline fun sameName(s: Long): String = call { "FAIL" }
|
|
inline fun sameName(s: Int): String = call { "OK" }
|
|
|
|
fun box(): String {
|
|
val result = sameName(1)
|
|
sameName(1L)
|
|
return result
|
|
} |