[FIR] Transform when conditions with boolean expected type

#KT-42130 Fixed
This commit is contained in:
Dmitriy Novozhilov
2020-09-24 11:35:07 +03:00
parent 68a47d6efb
commit 0d29d6d361
10 changed files with 71 additions and 3 deletions
+21
View File
@@ -0,0 +1,21 @@
// 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())