5252effb10
FE1.0 reports it on the declaration signature. This is not ideal so we move it to the `tailrec` keyword in FIR.
18 lines
399 B
Kotlin
Vendored
18 lines
399 B
Kotlin
Vendored
// FIR_IDENTICAL
|
|
object O {
|
|
// tailrec since `O` is a singleton
|
|
tailrec fun foo(i: Int): Int = if (i < 0) 0 else O.foo(i - 1)
|
|
}
|
|
|
|
class A {
|
|
<!NO_TAIL_CALLS_FOUND!>tailrec<!> fun foo(i: Int) = if (i < 0) 0 else A.foo(i - 1)
|
|
|
|
companion object {
|
|
fun foo(i: Int) = 42 + i
|
|
}
|
|
}
|
|
|
|
class B {
|
|
<!NO_TAIL_CALLS_FOUND!>tailrec<!> fun foo(i: Int) = if (i < 0) 0 else O.foo(i - 1)
|
|
}
|