fun foo() {
when {
true -> {
val a = object: Function0 {
override fun invoke(): Int = 1
}
val b = object: Function0 {
override fun invoke(): Int = a() + 1
}
println(a() - b())
}
true -> {
val b = object: Function0 {
override fun invoke(): Int = 1
}
val a = object: Function0 {
override fun invoke(): Int = b() + 1
}
println(b() - a())
}
true -> {
val b = object: Function0 {
override fun invoke(): Int = 1
}
val a = object: Function0 {
override fun invoke(): Int = b() + 1
}
println(a() - b())
}
}
}