Files
kotlin-fork/compiler/testData/codegen/boxWithStdlib/boxingOptimization/kt5844.kt
T
Denis Zharkov 35cda83c8f Refined merging logic #KT-5844 Fixed
If merging primitives of different integral types (e.g. I and Z) return
INT.
Else return UNINITIALIZED_VALUE
2014-09-26 12:37:04 +04:00

29 lines
437 B
Kotlin

import kotlin.test.assertEquals
fun test1() {
val u = when (true) {
true -> 42
else -> 1.0
}
assertEquals(42, u)
}
fun test2() {
val u = 1L.let {
when (it) {
is Long -> if (it.toLong() == 2L) it.toLong() else it * 2L // CompilationException
else -> it.toDouble()
}
}
assertEquals(2L, u)
}
fun box(): String {
test1()
test2()
return "OK"
}