blob: 99c46bc1931cde0f3cc1ef6d3fd44ccdd5d43202 [file]
// RUN_PIPELINE_TILL: CODEGEN
// 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 */