/* * @test /nodynamiccopyright/ * @bug 4972073 * @summary same interface allowed twice in compound type * @compile/fail/ref=T4972073.out -XDrawDiagnostics T4972073.java */ public class T4972073 { static class D {} static interface MyInterface<E> { public String foo(); } static class MyClass {} static class Sun1 extends MyClass implements MyInterface<Sun1>, MyInterface<Sun1> { public String foo() { return "test"; } } static class B<E extends MyClass & MyInterface<E> & MyInterface<E>> extends D {} public static void main(String[] args) { B b = new B<Sun1>(); } }