Files
kotlin-fork/compiler/testData/codegen/box/diagnostics/functions/tailRecursion/insideElvis.kt
T
Svyatoslav Kuzmich a3e2d2804c [Wasm] Update testData after adding K2 and new test infra support.
- Actualize muted K2 tests
- Actualize muted K1 tests with module systems because legacy Wasm test
  infra had no respect for "// MODULE: ..." test directives
2023-06-25 10:20:40 +02:00

15 lines
422 B
Kotlin
Vendored

// TODO: muted automatically, investigate should it be ran for JS or not
// IGNORE_BACKEND: JS
// IGNORE_FIR_DIAGNOSTICS_DIFF
tailrec fun test(counter : Int) : Int? {
if (counter < 0) return null
if (counter == 0) return 777
return <!NON_TAIL_RECURSIVE_CALL!>test<!>(-1) ?: <!NON_TAIL_RECURSIVE_CALL!>test<!>(-2) ?: test(counter - 1)
}
fun box() : String =
if (test(100000) == 777) "OK"
else "FAIL"