T8148213.java revision 3230:6ee9f8822081
1/*
2 * @test /nodynamiccopyright/
3 * @bug 8148213
4 * @summary Regression: nested unchecked call does not trigger erasure of return type
5 *
6 * @compile/fail/ref=T8148213.out -Werror -Xlint:unchecked -XDrawDiagnostics T8148213.java
7 */
8
9abstract class T8148213 {
10
11    interface R<E> { }
12
13    interface Q<T> { }
14
15    interface T {
16        <E> Q<E> n(R<E> r);
17    }
18
19    abstract <T> T isA(Class<T> t);
20
21    abstract <T> S<T> w(T t);
22
23    interface S<T> {
24        S<T> t(T value);
25    }
26
27    void f(T t, Q<String> q) {
28        w(t.n(isA(R.class))).t(q);
29    }
30}
31