Files
kotlin/compiler/testData/codegen/box/boxingOptimization/casts.kt
Roman Artemev 6c8e30eb05 Fix test failures
* add metadata
 * unmute working tests
 * mute temporary broken ones
2018-08-09 20:55:50 +03:00

19 lines
532 B
Kotlin
Vendored

// WITH_RUNTIME
import kotlin.test.assertEquals
inline fun <R, T> foo(x : R?, block : (R?) -> T) : T {
return block(x)
}
fun box() : String {
assertEquals(1L, foo(1) { x -> x!!.toLong() })
assertEquals(1.toShort(), foo(1) { x -> x!!.toShort() })
assertEquals(1.toByte(), foo(1L) { x -> x!!.toByte() })
assertEquals(1.toShort(), foo(1L) { x -> x!!.toShort() })
assertEquals('a'.toDouble(), foo('a') { x -> x!!.toDouble() })
assertEquals(1.0.toByte(), foo(1.0) { x -> x!!.toByte() })
return "OK"
}