[NI] Continue resolution after unstable smart cast on receiver
The old inference cosideres candidates with unstable smartcast on receiver unsuccessful, therefore another one may be selected. KT-36264
This commit is contained in:
+27
@@ -0,0 +1,27 @@
|
||||
interface Base {
|
||||
val parent: Base
|
||||
}
|
||||
|
||||
class Derived : Base {
|
||||
override val parent: Base
|
||||
get() = TODO()
|
||||
}
|
||||
|
||||
fun test(d: Derived) {
|
||||
when {
|
||||
d.parent is Derived -> d.parent.parent
|
||||
}
|
||||
}
|
||||
|
||||
fun Any?.take() {}
|
||||
class Something {
|
||||
var prop: String? = null
|
||||
|
||||
fun String.take() {}
|
||||
|
||||
fun test() {
|
||||
if (prop is String) {
|
||||
prop.take()
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user