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
@@ -8,9 +8,6 @@ abstract class Test {
private void call(){
String s = <error descr="Incompatible types. Required String but 'test' was inferred to T:
no instance(s) of type variable(s) exist so that String[] conforms to String
inference variable T has incompatible bounds:
equality constraints: String[]
upper bounds: Object, String">test(String[].class);</error>
no instance(s) of type variable(s) exist so that String[] conforms to String">test(String[].class);</error>
}
}