| // WITH_REFLECT | |
| import kotlin.reflect.KProperty | |
| class Delegate { | |
| operator fun getValue(t: Any?, p: KProperty<*>): String = | |
| if (p.returnType.toString() == "kotlin.String") "OK" else "Fail: ${p.returnType}" | |
| } | |
| fun f(lambda: () -> String): String = lambda() | |
| val x = f { | |
| val prop: String by Delegate() | |
| prop | |
| } | |
| // expected: x: OK |