2cdcdce6ed
- LL FIR uses `ReturnTypeCalculatorWithJump` by default because it cannot guarantee that the implicit types of non-local functions referenced in a function `f` have been resolved during body resolve of `f`. - However, if `ReturnTypeCalculatorWithJump` encountered a local function, it tried to resolve its return type even during body resolve of that same local function. The fix delegates to `ReturnTypeCalculatorForFullBodyResolve`, which should be used for local declarations. ^KT-55327 fixed ^KT-55324 fixed
9 lines
390 B
Kotlin
Vendored
9 lines
390 B
Kotlin
Vendored
fun foo() {
|
|
fun bar1() = <!TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM_ERROR!><!DEBUG_INFO_MISSING_UNRESOLVED!>bar1<!>()<!>
|
|
|
|
fun bar2() = 1 + <!TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM_ERROR!><!DEBUG_INFO_MISSING_UNRESOLVED!>bar2<!>()<!>
|
|
fun bar3() = id(<!TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM_ERROR!><!DEBUG_INFO_MISSING_UNRESOLVED!>bar3<!>()<!>)
|
|
}
|
|
|
|
fun <T> id(x: T) = x
|