|  | // TARGET_BACKEND: JVM | 
|  |  | 
|  | // WITH_STDLIB | 
|  |  | 
|  | object A { | 
|  |  | 
|  | val b: String = "OK" | 
|  |  | 
|  | @JvmStatic val c: String = "OK" | 
|  |  | 
|  | @JvmStatic fun test1() : String { | 
|  | return {b}.let { it() } | 
|  | } | 
|  |  | 
|  | @JvmStatic fun test2() : String { | 
|  | return {test1()}.let { it() } | 
|  | } | 
|  |  | 
|  | fun test3(): String { | 
|  | return {"1".test5()}.let { it() } | 
|  | } | 
|  |  | 
|  | @JvmStatic fun test4(): String { | 
|  | return {"1".test5()}.let { it() } | 
|  | } | 
|  |  | 
|  | @JvmStatic fun String.test5() : String { | 
|  | return {this + b}.let { it() } | 
|  | } | 
|  |  | 
|  | fun test6(): String { | 
|  | return {c}.let { it() } | 
|  | } | 
|  | } | 
|  |  | 
|  | fun box(): String { | 
|  | if (A.test1() != "OK") return "fail 1" | 
|  |  | 
|  | if (A.test2() != "OK") return "fail 2" | 
|  |  | 
|  | if (A.test3() != "1OK") return "fail 3" | 
|  |  | 
|  | if (A.test4() != "1OK") return "fail 4" | 
|  |  | 
|  | if (with(A) {"1".test5()} != "1OK") return "fail 5" | 
|  |  | 
|  | if (A.test6() != "OK") return "fail 6" | 
|  |  | 
|  | return "OK" | 
|  | } |