Support suspend conversion in callable reference adaptation

#KT-15917 In Progress
This commit is contained in:
Mikhail Zarechenskiy
2020-04-22 04:51:07 +03:00
parent 537a59d6ca
commit ac642cf175
13 changed files with 221 additions and 3 deletions
@@ -0,0 +1,21 @@
// !LANGUAGE: +SuspendConversion
// !DIAGNOSTICS: -UNUSED_PARAMETER
fun unitCoercion(f: suspend () -> Unit) {}
fun foo(): Int = 0
fun defaults(f: suspend (Int) -> String) {}
fun bar(i: Int, l: Long = 42L): String = ""
fun varargs(f: suspend (Int, Int, Int) -> String) {}
fun baz(vararg ints: Int): String = ""
fun unitCoercionAndDefaults(f: suspend () -> Unit) {}
fun all(s: String = ""): Int = 0
fun test() {
unitCoercion(::foo)
defaults(::bar)
varargs(::baz)
unitCoercionAndDefaults(::all)
}