T6315770.java revision 2890:e903011dafc7
143809Sjkh/**
243809Sjkh * @test /nodynamiccopyright/
343809Sjkh * @bug     6315770 8078024
487047Sru * @summary javac inference allows creation of strange types: Integer & Runnable
543809Sjkh * @author Maurizio Cimadamore
643809Sjkh *
743809Sjkh * @compile/fail/ref=T6315770.out T6315770.java -XDrawDiagnostics
843809Sjkh */
943809Sjkh
1059674Ssheldonhclass T6315770<V> {
1159674Ssheldonh    <T extends Integer & Runnable> T6315770<T> m() {
1259674Ssheldonh        return null;
1354949Ssheldonh    }
1443809Sjkh    void test() {
1543809Sjkh        T6315770<?> c1 = m();
1650472Speter        T6315770<? extends String> c2 = m();
1743809Sjkh        T6315770<? super String> c3 = m();
1843809Sjkh    }
1948290Sjseger}
2043809Sjkh