calc types by applicability constraints if inference fails

include all inference variables for resolve and ignore additional constraints checks if the inference is going to failure; this way if (expr()) would get type of the 'standalone' expression instead of expression with boolean as expected type
This commit is contained in:
Anna.Kozlova
2017-12-07 15:51:06 +01:00
parent c9a3fba58c
commit 1fc76eb779
17 changed files with 69 additions and 66 deletions
@@ -1,7 +1,7 @@
class Test {
{
asList(<error descr="Integer is not a functional interface">o -> {}</error>, 1, 2, 3);
asList(<error descr="T is not a functional interface">Test::foo</error>, 1, 2, 3);
asList(<error descr="Target type of a lambda conversion must be an interface">o -> {}</error>, 1, 2, 3);
asList(<error descr="Integer is not a functional interface">Test::foo</error>, 1, 2, 3);
}
void foo() {}