diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/CallResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/CallResolver.java index ae22f2db0b3..0142f4e1d9a 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/CallResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/CallResolver.java @@ -325,15 +325,6 @@ public class CallResolver { } completeTypeInferenceDependentOnExpectedTypeForCall(resolvedCall, context, tracing, successful, failed); } - if (resultsWithIncompleteTypeInference.getResultingCalls().size() > 1) { - for (ResolvedCallWithTrace call : successful) { - if (call instanceof ResolvedCallImpl) { - ((ResolvedCallImpl)call).addStatus(ResolutionStatus.TYPE_INFERENCE_ERROR); - failed.add(call); - } - } - successful.clear(); - } OverloadResolutionResultsImpl results = computeResultAndReportErrors(context.trace, tracing, successful, failed); if (!results.isSingleResult()) { checkTypesWithNoCallee(context); diff --git a/compiler/testData/diagnostics/tests/inference/mostSpecificAfterInference.kt b/compiler/testData/diagnostics/tests/inference/mostSpecificAfterInference.kt new file mode 100644 index 00000000000..c1d36817722 --- /dev/null +++ b/compiler/testData/diagnostics/tests/inference/mostSpecificAfterInference.kt @@ -0,0 +1,22 @@ +package i + +//+JDK +import java.util.* + +fun Collection.map1(f : (T) -> R) : List {} +fun java.lang.Iterable.map1(f : (T) -> R) : List {} + +fun test(list: List) { + val res = list.map1 { it } + //check res is not of error type + res : String +} + +fun Collection.foo() {} +fun java.lang.Iterable.foo() {} + +fun test1(list: List) { + val res = list.foo() + //check res is not of error type + res : String +} \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java b/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java index ab021b6176a..bb5f7bc213d 100644 --- a/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java @@ -1309,6 +1309,11 @@ public class JetDiagnosticsTestGenerated extends AbstractDiagnosticsTestWithEage doTest("compiler/testData/diagnostics/tests/inference/mapFunction.kt"); } + @TestMetadata("mostSpecificAfterInference.kt") + public void testMostSpecificAfterInference() throws Exception { + doTest("compiler/testData/diagnostics/tests/inference/mostSpecificAfterInference.kt"); + } + @TestMetadata("NoInferenceFromDeclaredBounds.kt") public void testNoInferenceFromDeclaredBounds() throws Exception { doTest("compiler/testData/diagnostics/tests/inference/NoInferenceFromDeclaredBounds.kt");