[FIR] Generate spread element for unsigned arrays
Previously when unsigned arrays were passed as vararg in a named form the necessary spread element wasn't generated, which resulted in a compilation error. ^KT-63514 fixed
This commit is contained in:
committed by
Space Cloud
parent
dbca7358af
commit
251fdb21c9
+35
@@ -0,0 +1,35 @@
|
||||
// !LANGUAGE: +AllowAssigningArrayElementsToVarargsInNamedFormForFunctions
|
||||
// ISSUE: KT-63514
|
||||
// WITH_STDLIB
|
||||
|
||||
fun foo(vararg arr: Int): Int {
|
||||
return arr.sum()
|
||||
}
|
||||
|
||||
fun bar(vararg arr: UInt): UInt {
|
||||
return arr.sum()
|
||||
}
|
||||
|
||||
fun baz(vararg arr: ULong): ULong {
|
||||
return arr.sum()
|
||||
}
|
||||
|
||||
fun quas(vararg arr: UShort): UInt {
|
||||
return arr.sum()
|
||||
}
|
||||
|
||||
fun wex(vararg arr: UByte): UInt {
|
||||
return arr.sum()
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val x = foo(arr = intArrayOf(1, 2, 3))
|
||||
val y = bar(arr = uintArrayOf(1u, 2u, 3u))
|
||||
val z = baz(arr = ulongArrayOf(1uL, 2uL, 3uL))
|
||||
val q = quas(arr = ushortArrayOf(1u, 2u, 3u))
|
||||
val w = wex(arr = ubyteArrayOf(1u, 2u, 3u))
|
||||
if (x + y.toInt() + z.toInt() + q.toInt() + w.toInt() == 30) {
|
||||
return "OK"
|
||||
}
|
||||
return "Fail"
|
||||
}
|
||||
Reference in New Issue
Block a user