/** * @test /nodynamiccopyright/ * @bug 6315770 8078024 * @summary javac inference allows creation of strange types: Integer & Runnable * @author Maurizio Cimadamore * * @compile/fail/ref=T6315770.out T6315770.java -XDrawDiagnostics */ class T6315770<V> { <T extends Integer & Runnable> T6315770<T> m() { return null; } void test() { T6315770<?> c1 = m(); T6315770<? extends String> c2 = m(); T6315770<? super String> c3 = m(); } }