a38040680c
Beside some corner cases, it's already prohibited in K1 because adaptation have a bit strange nature (they don't represent any existing real function exactly) ^KT-55137 Fixed
17 lines
868 B
Kotlin
Vendored
17 lines
868 B
Kotlin
Vendored
// SKIP_TXT
|
|
fun foo(x: String = "O"): String = x
|
|
fun bar(x: String = "K"): String = x
|
|
|
|
fun dump(dumpStrategy: String) {
|
|
val k0: kotlin.reflect.KFunction0<String> = returnAdapter(<!ADAPTED_CALLABLE_REFERENCE_AGAINST_REFLECTION_TYPE!>::foo<!>) // Error: ADAPTED_CALLABLE_REFERENCE_AGAINST_REFLECTION_TYPE
|
|
val k1: kotlin.reflect.KFunction0<String> = <!TYPE_MISMATCH!>::<!TYPE_MISMATCH!>foo<!><!>
|
|
// Should be error here, too
|
|
val k2: kotlin.reflect.KFunction0<String> = if (dumpStrategy == "KotlinLike") ::foo else ::bar
|
|
|
|
val f0: Function0<String> = returnAdapter(<!ADAPTED_CALLABLE_REFERENCE_AGAINST_REFLECTION_TYPE!>::foo<!>)
|
|
val f1: Function0<String> = <!TYPE_MISMATCH!>::<!TYPE_MISMATCH!>foo<!><!>
|
|
val f2: Function0<String> = if (dumpStrategy == "KotlinLike") ::foo else ::bar
|
|
}
|
|
|
|
fun returnAdapter(a: kotlin.reflect.KFunction0<String>) = a
|