blob: 63617e05034b60edc59d1b864b98b08baa94d740 [file]
// ISSUE: KT-42130
interface A
interface B : A
fun B.foo(): Boolean = true
fun <T> run(action: () -> T): T = action()
fun foo(a: A): String {
return when (a) {
is B -> when {
run { a.foo() } -> "OK"
else -> "Fail 1"
}
else -> "Fail 2"
}
}
class C : B
fun box(): String = foo(C())