| // WITH_COROUTINES |
| // WITH_STDLIB |
| // FILE: test.kt |
| |
| var result = "Fail" |
| |
| fun use(token: String) { |
| result = token |
| } |
| |
| inline fun f(crossinline body: suspend () -> Unit) = |
| g< |
| Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, |
| Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, |
| >(body) |
| |
| inline fun < |
| reified U01, reified U02, reified U03, reified U04, reified U05, reified U06, reified U07, reified U08, reified U09, reified U10, |
| reified U11, reified U12, reified U13, reified U14, reified U15, reified U16, reified U17, reified U18, reified U19, reified U20, |
| > g(crossinline body: suspend () -> Unit): suspend () -> Unit { |
| return run { |
| run { |
| run { |
| run { |
| run { |
| run { |
| run { |
| run { |
| suspend { |
| body() |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| |
| // FILE: box.kt |
| |
| import kotlin.coroutines.* |
| import helpers.* |
| |
| fun box(): String { |
| var token = "OK" |
| f { |
| use(token) |
| }.startCoroutine(EmptyContinuation) |
| return result |
| } |