// !CHECK_TYPE class A(val a:Int) { inner class B() { fun Byte.xx() : Double.() -> Any { checkSubtype(this) val a: Double.() -> Unit = { checkSubtype(this) checkSubtype(this@xx) checkSubtype(this@B) checkSubtype(this@A) } val b: Double.() -> Unit = a@{ checkSubtype(this@a) + checkSubtype(this@xx) } val c = a@{ -> this@a + checkSubtype(this@xx) } return (a@{checkSubtype(this@a) + checkSubtype(this@xx)}) } } }