Files
kotlin-fork/compiler/testData/codegen/box/boxingOptimization/variables.kt
T
Ivan Kylchik c7435ba760 Replace all occurrences of WITH_RUNTIME with WITH_STDLIB
We are going to deprecate `WITH_RUNTIME` directive. The main reason
behind this change is that `WITH_STDLIB` directive better describes
its meaning, specifically it will add kotlin stdlib to test's classpath.
2021-11-17 15:26:38 +03:00

24 lines
589 B
Kotlin
Vendored

// WITH_STDLIB
import kotlin.test.assertEquals
inline fun <R, T> foo(x : R, block : (R) -> T) : T {
var y = x
var z = y
z = x
return block(z)
}
fun box() : String {
assertEquals(1, foo(1) { x -> x })
assertEquals(1f, foo(1f) { x -> x })
assertEquals(1L, foo(1L) { x -> x })
assertEquals(1.toDouble(), foo(1.toDouble()) { x -> x })
assertEquals(1.toShort(), foo(1.toShort()) { x -> x })
assertEquals(1.toByte(), foo(1.toByte()) { x -> x })
assertEquals('a', foo('a') { x -> x })
assertEquals(true, foo(true) { x -> x })
return "OK"
}