Files
kotlin/compiler/testData/codegen/box/callableReference/varargAndDefaults/manyDefaultsAndVararg.kt
Alexander Udalov 9babd90999 Support default arguments and varargs for callable references
#KT-8834
 #KT-19869
 #KT-25514
2018-08-01 16:26:06 +02:00

29 lines
505 B
Kotlin
Vendored

// !LANGUAGE: +NewInference
// IGNORE_BACKEND: JS, JS_IR, JVM_IR
// WITH_RUNTIME
import kotlin.test.assertEquals
object E : Exception()
fun foo(
a: String = "fail",
b: Int,
c: Double = 3.14,
vararg d: String,
e: Throwable = E
) {
assertEquals("ok", a)
assertEquals(42, b)
assertEquals(3.14, c)
assertEquals(0, d.size)
assertEquals(E, e)
}
fun bar(f: (String, Int) -> Unit) = f("ok", 42)
fun box(): String {
bar(::foo)
return "OK"
}