blob: 4d031a2fc408c7d6cb2adca49a864559b72e334f [file]
// RUN_PIPELINE_TILL: BACKEND
// FIR_IDENTICAL
// DIAGNOSTICS: -UNUSED_PARAMETER
// ISSUE: KT-32452
interface A {
suspend fun foo(input: String): String
}
open class B<T : Any> {
fun <U, R : Any, T> call(function: suspend T.(U) -> R): R = TODO()
fun <U, R : Any, T> call(function: suspend T.(U) -> List<R>): List<R> = TODO()
}
class MyService : A, B<A>() {
override suspend fun foo(input: String) = call(A::foo)
}
/* GENERATED_FIR_TAGS: callableReference, classDeclaration, functionDeclaration, functionalType, interfaceDeclaration,
nullableType, override, suspend, typeConstraint, typeParameter, typeWithExtension */