Files
kotlin-fork/compiler/testData/diagnostics/tests/smartCasts/variables/whileWithBreak.fir.kt
T
pyos 02fedeb9ed FIR DFA: revalidate reassigned variables after loops
If a certain type statement is true on loop entry and all continue
paths, then it is also true on exit if the condition did not reassign
the variable.

^KT-7676 tag fixed-in-k2
2022-12-08 10:19:27 +00:00

18 lines
396 B
Kotlin
Vendored

fun String.next(): String {
return "abc"
}
fun list(start: String) {
var e: Any? = start
if (e==null) return
while (e is String) {
// Smart cast due to the loop condition
if (e.length == 0)
break
// We still have smart cast here despite of a break
e = e.next()
}
// e can never be null but we do not know it
e.hashCode()
}