KT-503 test. Never use asm.Type.getElementType()
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
fun iarr(vararg a : Int) = a
|
||||
fun <T> array(vararg a : T) = a
|
||||
|
||||
fun box() : String {
|
||||
val tests = array<IntArray>(
|
||||
iarr(6, 5, 4, 3, 2, 1),
|
||||
iarr(1, 2),
|
||||
iarr(1, 2, 3),
|
||||
iarr(1, 2, 3, 4),
|
||||
iarr(1)
|
||||
)
|
||||
|
||||
var n = 0
|
||||
|
||||
try {
|
||||
var i = 0
|
||||
while (true) {
|
||||
if (thirdElementIsThree(tests[i++]))
|
||||
n++
|
||||
}
|
||||
}
|
||||
catch (e : ArrayIndexOutOfBoundsException) {
|
||||
// No more tests to process
|
||||
}
|
||||
System.out?.println(n)
|
||||
return if(n == 2) "OK" else "fail"
|
||||
}
|
||||
|
||||
fun thirdElementIsThree(a : IntArray) =
|
||||
// Problematic code does not compile
|
||||
// a.size >= 3 & a[2] == 3
|
||||
a.size >= 3 && a[2] == 3
|
||||
Reference in New Issue
Block a user