| package inference.guava; |
| |
| import java.util.LinkedHashMap; |
| import java.util.Map; |
| |
| @SuppressWarnings("all") // Just check for crashes. |
| public class Bug1<B> { |
| @SuppressWarnings("type.inference.not.same") |
| public void method1(Map<? extends Class<? extends B>, ? extends B> map) { |
| Map<Class<? extends B>, B> copy = new LinkedHashMap<>(map); |
| for (Map.Entry<? extends Class<? extends B>, B> entry : copy.entrySet()) { |
| cast(entry.getKey(), entry.getValue()); |
| } |
| } |
| |
| private static <X, T extends X> T cast(Class<T> type, X value) { |
| throw new RuntimeException(); |
| } |
| } |