95544b0970
Also that commit removes usages of builtins inside effect system and starts refactoring of functor composition via composition instead of inheritance. There are some changes in testdata related to inference of recursive functions with implicit return types. After this commit they all are marked as unresolved. It happens because those functions have DeferredType as return type, and computing this type produces recursive exception, which provides “typechecker recursive problem” diagnostic. Before this commit, function call was completed successfully, because call completer didn’t computed that type, and computation of DeferredType were triggered only in `DataFlowAnalyzer.checkType`. Now, effect system tries to compute that type while wrapping KotlinTypes into ESTypes, and effect system itself is triggered in in call completer, so, call completion doesn’t finish and function call is marked as unresolved. #KT-31364
5 lines
154 B
Kotlin
Vendored
5 lines
154 B
Kotlin
Vendored
// !WITH_NEW_INFERENCE
|
|
fun foo() {
|
|
fun bar() = (fun() = <!TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM!><!DEBUG_INFO_MISSING_UNRESOLVED!>bar<!>()<!>)
|
|
}
|