blob: ee87a21b1c7e1fb8dbb0feeea408f87a8c5e6ead [file]
// LANGUAGE: +SuspendConversion
// DIAGNOSTICS: -UNUSED_PARAMETER
// IGNORE_BACKEND: JVM
// IGNORE_LIGHT_ANALYSIS
// java.lang.IllegalStateException: OVERLOAD_RESOLUTION_AMBIGUITY: Overload resolution ambiguity:
// public fun foo(x: () -> Int): Unit defined in root package in file overloadResolutionBySuspendModifier.kt
// public fun foo(x: suspend () -> Int): Unit defined in root package in file overloadResolutionBySuspendModifier.kt (15,5) in /overloadResolutionBySuspendModifier.kt
var foo1 = false
var foo2 = false
fun foo(x: () -> Int) { foo1 = true }
fun foo(x: suspend () -> Int) { foo2 = true}
fun usualCall(): Int = 42
suspend fun suspendCall(): Int = 42
fun test2(f: () -> Int, g: suspend () -> Int) {
foo(f)
foo(g)
}
fun box(): String {
test2({ 1 }, { 2 })
return if (foo1 && foo2)
"OK"
else
"foo1: $foo1; foo2: $foo2"
}