import java.util.*; class SameSignatureTest { <error descr="'sameErasure(List<String>)' clashes with 'sameErasure(List<Integer>)'; both methods have same erasure">public static void sameErasure(List<String> strings)</error> { } public static void sameErasure(List<Integer> integers) { } } class CCC { <error descr="'f(Object)' clashes with 'f(Object)'; both methods have same erasure"><T> void f(Object o)</error> {} void f(Object o) {} } class Test1 { <error descr="'bug(String)' clashes with 'bug(String)'; both methods have same erasure">public void bug(String s)</error> { } public static <T> T bug(String s) { return null; } } //////////////////////////////// class Test { <error descr="'test()' clashes with 'test()'; both methods have same erasure">public static <K, V> HashMap<K, V> test()</error> { return new HashMap<K, V>(); } public static String test() { return ""; } }