1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
// WITH_RUNTIME fun <T> doIt(p: () -> T): T = p() fun Any.doDo() = Unit abstract class A { abstract fun a() } class B : A() { override fun a() = doIt { 1.let { it.let { it.let { it.let { it?.doDo() } } } } Unit<caret> } }