33f9576dd1
The main consequence of it is that TYPE_MISMATCH range for control structures became wider. Also, for extra safety, don't change behaviour of OI.
18 lines
566 B
Kotlin
Vendored
18 lines
566 B
Kotlin
Vendored
// !WITH_NEW_INFERENCE
|
|
fun test1(): Int {
|
|
val x: String = <!NI;TYPE_MISMATCH, NI;TYPE_MISMATCH, NI;TYPE_MISMATCH, NI;TYPE_MISMATCH!>if (true) {
|
|
when {
|
|
true -> <!OI;TYPE_MISMATCH!>Any()<!>
|
|
else -> <!OI;NULL_FOR_NONNULL_TYPE!>null<!>
|
|
}
|
|
} else ""<!>
|
|
return x.hashCode()
|
|
}
|
|
|
|
fun test2(): Int {
|
|
val x: String = <!NI;TYPE_MISMATCH, NI;TYPE_MISMATCH!>when {
|
|
true -> <!OI;TYPE_MISMATCH!>Any()<!>
|
|
else -> null
|
|
} ?: return 0<!>
|
|
return x.hashCode()
|
|
} |