Files
kotlin-fork/compiler/testData/diagnostics/tests/nullabilityAndSmartCasts/kt2146.fir.kt
T
Denis.Zharkov 9fa0f51a61 K2: Fix false-negative RETURN_TYPE_MISMATCH
^KT-53987 Fixed
^KT-55932 Fixed
2023-02-15 08:13:42 +00:00

55 lines
900 B
Kotlin
Vendored

//KT-2146 Nullability casts in when.
package kt2146
fun f1(s: Int?): Int {
return when (s) {
null -> 3
else -> s
}
}
fun f2(s: Int?): Int {
return <!RETURN_TYPE_MISMATCH!>when (s) {
!is Int -> s
else -> s
}<!>
}
fun f3(s: Int?): Int {
return <!RETURN_TYPE_MISMATCH!>when (s) {
is Int -> s
else -> s
}<!>
}
fun f4(s: Int?): Int {
return <!RETURN_TYPE_MISMATCH!>when {
s == 4 -> s
s == null -> s
else -> s
}<!>
}
fun f5(s: Int?): Int {
return <!RETURN_TYPE_MISMATCH!>when (s) {
s -> s
s!! -> s
s -> s
else -> 0
}<!>
}
fun f6(s: Int?): Int {
return <!RETURN_TYPE_MISMATCH!>when {
s is Int -> s
else -> s
}<!>
}
fun f7(s: Int?): Int {
return <!RETURN_TYPE_MISMATCH!>when {
s !is Int -> s
else -> s
}<!>
}