Thu, 31 Aug 2017 15:17:03 +0800
merge
aoqi@0 | 1 | /** |
aoqi@0 | 2 | * @test /nodynamiccopyright/ |
aoqi@0 | 3 | * @bug 6315770 |
aoqi@0 | 4 | * @summary javac inference allows creation of strange types: Integer & Runnable |
aoqi@0 | 5 | * @author Maurizio Cimadamore |
aoqi@0 | 6 | * |
aoqi@0 | 7 | * @compile/fail/ref=T6315770.out T6315770.java -XDrawDiagnostics |
aoqi@0 | 8 | */ |
aoqi@0 | 9 | |
aoqi@0 | 10 | class T6315770<V> { |
aoqi@0 | 11 | <T extends Integer & Runnable> T6315770<T> m() { |
aoqi@0 | 12 | return null; |
aoqi@0 | 13 | } |
aoqi@0 | 14 | void test() { |
aoqi@0 | 15 | T6315770<?> c1 = m(); |
aoqi@0 | 16 | T6315770<? extends String> c2 = m(); |
aoqi@0 | 17 | T6315770<? super String> c3 = m(); |
aoqi@0 | 18 | } |
aoqi@0 | 19 | } |