从 Kotlin 中的通用扩展函数/方法派生函数引用

Jul*_* A. 3 generics extension-methods kotlin

有没有办法在 Kotlin 中获取对通用扩展函数/方法的函数引用?

class C
fun <T> C.f1(t: T) = TODO()
val f1Ref1 = C::f1<T> // Compiler error
val f1Ref2 = C::f1 // Compiler error
Run Code Online (Sandbox Code Playgroud)

但这很好:

fun C.f2(i: Int) = TODO()
val f2Ref = C::f2
Run Code Online (Sandbox Code Playgroud)

IR4*_*R42 6

您必须明确指定类型

val f1Ref1: C.(Int) -> Unit = C::f1
Run Code Online (Sandbox Code Playgroud)