Files
kotlin-fork/backend.native/tests/external/codegen/box/callableReference/function/genericCallableReferencesWithOverload.kt
T
2017-03-13 15:31:46 +03:00

24 lines
465 B
Kotlin

// IGNORE_BACKEND: JS, NATIVE
// WITH_RUNTIME
// WITH_REFLECT
import kotlin.test.assertEquals
fun foo(x: Int?) {}
fun foo(y: String?) {}
fun foo(z: Boolean) {}
inline fun <reified T> bar(f: (T) -> Unit, tType: String): T? {
assertEquals(tType, T::class.simpleName)
return null
}
fun box(): String {
val a1: Int? = bar(::foo, "Int")
val a2: String? = bar(::foo, "String")
val a3: Boolean? = bar<Boolean>(::foo, "Boolean")
return "OK"
}