Files
kotlin-fork/compiler/testData/diagnostics/tests/smartCasts/varnotnull/classDelegation.fir.kt
T
Brian Norman bb6f466162 [FIR] Do not smartcast class delegation implemented properties
When a property is implemented via class delegation, it should be
considered unstable for smart-casting. This is because it is unknown
what kind of stability the underlying class delegate property has. It
could be a stable property, or it could be implemented via a custom
getter and unstable.

^KT-57417 Fixed
2024-01-29 14:20:11 +00:00

12 lines
223 B
Kotlin
Vendored

// ISSUE: KT-57417
interface HasProperty {
val property: Int?
}
class Test(delegate: HasProperty) : HasProperty by delegate
fun test(a: Test) {
if (a.property != null) <!SMARTCAST_IMPOSSIBLE!>a.property<!> + 1
}