This commit is contained in:
Igor Chevdar
2020-11-06 18:58:28 +05:00
parent 0e8cf58a35
commit 5e0f54a30b
10 changed files with 107 additions and 3 deletions
@@ -0,0 +1,16 @@
// KJS_WITH_FULL_RUNTIME
// WITH_RUNTIME
// IGNORE_BACKEND: JVM, JVM_IR
fun <T : IntArray> test(array: T): Int {
var sum = 0
for (i in array.indices) {
sum = sum * 10 + i
}
return sum
}
fun box(): String {
if (test(intArrayOf(0, 0, 0, 0)) != 123) return "fail"
return "OK"
}
@@ -0,0 +1,19 @@
// KJS_WITH_FULL_RUNTIME
// WITH_RUNTIME
class Value<T>(val value: T) {
inline fun <R> runBlock(block: (T) -> R) = block(value)
}
fun <T> Value<Array<T>>.test() =
runBlock {
var sum = 0
for (i in it.indices)
sum = sum * 10 + i
sum
}
fun box(): String {
if (Value<Array<Int>>(Array<Int>(4) { 0 }).test() != 123) return "fail"
return "OK"
}