Forbid spread operator in signature-polymorphic calls
#KT-35226 Fixed
This commit is contained in:
+5
-4
@@ -22,8 +22,9 @@ fun box(): String {
|
||||
val r1 = mh.invokeExact(args)
|
||||
if (r1 != "aaa") return "Fail 1: $r1"
|
||||
|
||||
val r2 = mh.invokeExact(*args)
|
||||
if (r2 != "aaa") return "Fail 2: $r2"
|
||||
// Spread operator is prohibited for arguments to signature-polymorphic calls
|
||||
// val r2 = mh.invokeExact(*args)
|
||||
// if (r2 != "aaa") return "Fail 2: $r2"
|
||||
|
||||
val r3 = mh.invokeExact(arrayOf(args) as Array<*>)
|
||||
if (r3 !is Array<*> || !r3.contentEquals(args)) return "Fail 3: $r3"
|
||||
@@ -38,8 +39,8 @@ fun box(): String {
|
||||
val r5 = mh.invoke(args)
|
||||
if (r5 != "aaa") return "Fail 5: $r5"
|
||||
|
||||
val r6 = mh.invoke(*args)
|
||||
if (r6 != "aaa") return "Fail 6: $r6"
|
||||
// val r6 = mh.invoke(*args)
|
||||
// if (r6 != "aaa") return "Fail 6: $r6"
|
||||
|
||||
val r7 = mh.invoke(arrayOf(args) as Array<*>)
|
||||
if (r7 !is Array<*> || !r7.contentEquals(args)) return "Fail 7: $r7"
|
||||
|
||||
Reference in New Issue
Block a user