blob: b5d0f2f661c379b1c20c0250cab95581443e5f0f [file]
// RUN_PIPELINE_TILL: FRONTEND
// WITH_STDLIB
// DIAGNOSTICS: -ABSTRACT_MEMBER_NOT_IMPLEMENTED
import kotlin.coroutines.SuspendFunction1
import kotlin.reflect.KSuspendFunction1
abstract class <!IMPLEMENTING_SUSPEND_FUNCTION_INTERFACE!>C<!> : suspend () -> Unit {
override suspend fun invoke() {}
}
interface <!IMPLEMENTING_SUSPEND_FUNCTION_INTERFACE!>I<!> : suspend () -> Unit
fun interface <!IMPLEMENTING_SUSPEND_FUNCTION_INTERFACE!>FI<!> : suspend () -> Unit
<!IMPLEMENTING_SUSPEND_FUNCTION_INTERFACE!>object O<!> : suspend (String) -> Int {
override suspend fun invoke(value: String): Int = value.length
}
fun anonymousObject(): Any = <!IMPLEMENTING_SUSPEND_FUNCTION_INTERFACE!>object<!> : suspend () -> Unit {
override suspend fun invoke() {}
}
interface <!IMPLEMENTING_SUSPEND_FUNCTION_INTERFACE!>I2<!> : suspend (Int) -> Unit, suspend (Int, Int) -> Unit
abstract class <!IMPLEMENTING_SUSPEND_FUNCTION_INTERFACE!>D<!> : C()
abstract class <!IMPLEMENTING_SUSPEND_FUNCTION_INTERFACE!>ExplicitSuspend<!> : SuspendFunction1<Int, Int>
abstract class <!IMPLEMENTING_SUSPEND_FUNCTION_INTERFACE!>ExplicitKSuspend<!> : KSuspendFunction1<Int, Int>
abstract class <!IMPLEMENTING_FUNCTION_INTERFACE, IMPLEMENTING_SUSPEND_FUNCTION_INTERFACE!>Mixed<!> : <!MIXING_SUSPEND_AND_NON_SUSPEND_SUPERTYPES!>suspend (Int) -> Unit, (Int, Int) -> Unit<!>
class Plain
class Uses(val function: suspend () -> Unit)