/* * @test /nodynamiccopyright/ * @bug 8148930 * @summary Incorrect erasure of exceptions in override-equivalent dual interface impl * @compile/fail/ref=IntersectThrownTypesTest.out -XDrawDiagnostics IntersectThrownTypesTest.java */ public class IntersectThrownTypesTest { interface S1 { <K extends Exception> void run(Class<K> clazz) throws K; } interface S2 { <K extends Exception> void run(Class<K> clazz) throws K; } interface S extends S1, S2 {} public void foo(S1 s) { s.run(java.io.IOException.class); } public void foo(S s) { s.run(java.io.IOException.class); } }