Files
kotlin-fork/compiler/testData/codegen/box/vararg/singleAssignmentToVarargsInFunction.kt
T
Tianyu Geng e95de0a778 FIR checker: report type mismatch for named vararg arguement
ProhibitAssigningSingleElementsToVarargsInNamedForm is enabled from 1.3
so there is no need to make FIR accepting single element passed through
named arguments.

In addition, we may want to report only
ASSIGNING_SINGLE_ELEMENT_TO_VARARG_IN_NAMED_FORM_FUNCTION and not arg
type mismatch. But FE1.0 is reporting both so I am following it. If we
want to remove the redundant report, we will probably want to remove
FirNamedVarargChecker and report during resolution as a cone diagnostic.
2021-09-15 12:11:36 +03:00

34 lines
704 B
Kotlin
Vendored

// IGNORE_BACKEND_FIR: JVM_IR
// !LANGUAGE: -ProhibitAssigningSingleElementsToVarargsInNamedForm -AllowAssigningArrayElementsToVarargsInNamedFormForFunctions
fun box(): String {
if (test1(p = 1) != "1") return "fail 1"
if (test2(p = "1") != "1") return "fail 2"
if (test3(p = "1") != "1") return "fail 3"
return "OK"
}
fun test1(vararg p: Int): String {
var result = ""
for (i in p) {
result += i
}
return result
}
fun test2(vararg p: String): String {
var result = ""
for (i in p) {
result += i
}
return result
}
fun <T> test3(vararg p: T): String {
var result = ""
for (i in p) {
result += i
}
return result
}