blob: a88633f51193850c094770724f14928d078358e9 [file] [log] [blame]
// ISSUE: KT-52580
interface Base {
val a: String
}
interface Derived : Base {
override val a: String
val b: Int
}
class BaseImpl(override val a: String) : Base
fun test(base: Base): String {
return consume(
base.run { a },
(base as? Derived)?.b?.toString(),
base.a
)
}
fun consume(s1: String, s2: String?, s3: String): String {
return "$s1|$s2|$s3"
}
fun box(): String {
val result = test(BaseImpl("Base"))
return when (result) {
"Base|null|Base" -> "OK"
else -> "Fail: $result"
}
}