new overload resolution: first check that collected methods are potentially compatible with args; for generic methods without specified type arguments this already means that they are applicable; for non generic methods (or raw method calls) expressions should be compatible with parameter types (formal parameter types = actual types as substitutor is known) (IDEA-147798)

This commit is contained in:
Anna Kozlova
2015-11-20 18:22:02 +01:00
parent aded26aa0a
commit 61f120b30e
11 changed files with 146 additions and 43 deletions
@@ -13,7 +13,7 @@ class Test {
}
void bar(C c) {
foo(c, x -> <error descr="Bad return type in lambda expression: A cannot be converted to C">x.f()</error>);
foo(c, <error descr="Bad return type in lambda expression: A cannot be converted to C">x -> x.f()</error>);
foo(c, x -> x);
}