diff --git a/java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java b/java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java
index a206a642e396..a44600573970 100644
--- a/java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java
+++ b/java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java
@@ -815,21 +815,6 @@ public class TypeConversionUtil {
}
public static boolean boxingConversionApplicable(final PsiType left, final PsiType right) {
- if (right instanceof PsiMethodReferenceType) {
- final JavaResolveResult result = ((PsiMethodReferenceType)right).getExpression().advancedResolve(false);
- PsiElement element = result.getElement();
- final PsiClassType.ClassResolveResult functionalInterfaceResult = PsiUtil.resolveGenericsClassInType(left);
- final PsiMethod interfaceMethod = LambdaUtil.getFunctionalInterfaceMethod(functionalInterfaceResult);
- if (element instanceof PsiMethod && interfaceMethod != null) {
- final PsiType[] parameterTypes = ((PsiMethod)element).getSignature(result.getSubstitutor()).getParameterTypes();
- final PsiType[] argTypes = interfaceMethod.getSignature(functionalInterfaceResult.getSubstitutor()).getParameterTypes();
- if (parameterTypes.length != argTypes.length) return false;
- for (int i = 0; i < parameterTypes.length; i++) {
- if (boxingConversionApplicable(parameterTypes[i], argTypes[i])) return true;
- }
- }
- }
-
if (left instanceof PsiPrimitiveType && !PsiType.NULL.equals(left)) {
return right instanceof PsiClassType && isAssignable(left, right);
}
diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/methodRef/MethodRefMisc1.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/methodRef/MethodRefMisc1.java
index ddb720e57756..36fc91f8e8cd 100644
--- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/methodRef/MethodRefMisc1.java
+++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/lambda/methodRef/MethodRefMisc1.java
@@ -38,7 +38,7 @@ class MyTest1 {
}
public static void main(String[] args) {
- call(1, MyTest1::m);
+ call(1, MyTest1::m);
}
}
@@ -54,7 +54,7 @@ class MyTest2 {
static void call(Integer i, I s) { }
static void test() {
- call(1, MyTest2::m); //ambiguous
+ call(1, MyTest2::m); //call(int i, I s)
}
}