| // LANGUAGE: +UseCorrectExecutionOrderForVarargArguments | |
| // WITH_STDLIB | |
| fun foo(vararg x: Unit, y: Any) {} | |
| fun box(): String { | |
| var acc1 = "" | |
| var acc2 = "" | |
| var acc3 = "" | |
| var acc4 = "" | |
| foo({ acc1 += "1" }(), y = { acc1 += "2" }()) | |
| foo(x = *arrayOf({ acc2 += "1" }()), y = { acc2 += "2" }()) | |
| foo(x = arrayOf({ acc3 += "1" }()), y = { acc3 += "2" }()) | |
| foo(*arrayOf({ acc4 += "1" }()), y = { acc4 += "2" }()) | |
| return if (acc1 == "12" && acc2 == "12" && acc3 == "12" && acc4 == "12") "OK" else "ERROR" | |
| } |