| // WITH_STDLIB | |
| fun interface KRunnable { | |
| fun invoke() | |
| } | |
| fun isNull(r: KRunnable?): Boolean { | |
| if (r == null) return true | |
| r.invoke() | |
| return false | |
| } | |
| fun nullableFun(fromNull: Boolean): (() -> Unit)? = | |
| if (fromNull) null else {{}} | |
| fun box(): String { | |
| if (!isNull(nullableFun(true))) return "Fail 1" | |
| if (isNull(nullableFun(false))) return "Fail 2" | |
| if (!isNull(null)) return "Fail 3" | |
| if (isNull {}) return "Fail 4" | |
| return "OK" | |
| } |