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
12 lines
371 B
Kotlin
Vendored
12 lines
371 B
Kotlin
Vendored
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
|
fun main(args: Array<String>) {
|
|
fun f() = run {
|
|
<!WRONG_MODIFIER_TARGET!>private<!> class C {
|
|
private fun foo() {
|
|
<!TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM_ERROR!><!DEBUG_INFO_MISSING_UNRESOLVED!>f<!>()<!>.<!DEBUG_INFO_MISSING_UNRESOLVED!>foo<!>();
|
|
|
|
}
|
|
}
|
|
C()
|
|
}
|
|
} |