accept casts as unchecked from generic types with type parameter with upper bounds as type argument: check parameter bounds first

This commit is contained in:
Anna Kozlova
2015-05-12 17:07:05 +02:00
parent 1dd5090df8
commit 1d6a1bf27e
3 changed files with 27 additions and 10 deletions
@@ -0,0 +1,11 @@
import java.util.Map;
class Test {
public static <M extends Map<String, Integer>> void groupingBy(Supplier<M> mapFactory) {
Supplier<Map<String, Integer>> mangledFactory = <warning descr="Unchecked cast: 'Test.Supplier<M>' to 'Test.Supplier<java.util.Map<java.lang.String,java.lang.Integer>>'">(Supplier<Map<String, Integer>>) mapFactory</warning>;
System.out.println(mangledFactory);
}
interface Supplier<<warning descr="Type parameter 'G' is never used">G</warning>> {}
}