Thu, 31 Aug 2017 15:17:03 +0800
merge
aoqi@0 | 1 | /* |
aoqi@0 | 2 | * @test /nodynamiccopyright/ |
aoqi@0 | 3 | * @author mcimadamore |
aoqi@0 | 4 | * @bug 6467183 |
aoqi@0 | 5 | * @summary |
aoqi@0 | 6 | * @compile/fail/ref=T6467183a.out -Xlint:unchecked -Werror -XDrawDiagnostics T6467183a.java |
aoqi@0 | 7 | */ |
aoqi@0 | 8 | |
aoqi@0 | 9 | class T6467183a<T> { |
aoqi@0 | 10 | |
aoqi@0 | 11 | class A<S> {} |
aoqi@0 | 12 | class B extends A<Integer> {} |
aoqi@0 | 13 | class C<X> extends A<X> {} |
aoqi@0 | 14 | |
aoqi@0 | 15 | void cast1(B b) { |
aoqi@0 | 16 | Object o = (A<T>)b; |
aoqi@0 | 17 | } |
aoqi@0 | 18 | |
aoqi@0 | 19 | void cast2(B b) { |
aoqi@0 | 20 | Object o = (A<? extends Number>)b; |
aoqi@0 | 21 | } |
aoqi@0 | 22 | |
aoqi@0 | 23 | void cast3(A<Integer> a) { |
aoqi@0 | 24 | Object o = (C<? extends Number>)a; |
aoqi@0 | 25 | } |
aoqi@0 | 26 | |
aoqi@0 | 27 | void cast4(A<Integer> a) { |
aoqi@0 | 28 | Object o = (C<? extends Integer>)a; |
aoqi@0 | 29 | } |
aoqi@0 | 30 | } |