don't open captures on type computation (IDEA-154968)

This commit is contained in:
Anna.Kozlova
2016-04-20 17:49:29 +02:00
parent 1ab0c2bc8b
commit ee4f41b14c
19 changed files with 50 additions and 47 deletions
@@ -0,0 +1,17 @@
import java.util.*;
import java.util.function.*;
class Test {
<E, K> HashMap<K, ArrayList<E>> foo(ArrayList<E> list, BiFunction<E, Comparable<E>, K> getKey) {
return null;
}
void bar(ArrayList<? extends Number> list) {
HashMap<Integer, ? extends ArrayList<? extends Number>> foo = foo(list, (x, c) -> c.compareTo(x));
}
Set<Integer> baz(ArrayList<? extends Number> list) {
return foo(list, (x, c) -> c.compareTo(x)).keySet(); // False error in lambda: 'compareTo(capture<? extends java.lang.Number>)' in 'java.lang.Comparable' cannot be applied to '(java.lang.Number)'
}
}