Maurizio Cimadamore 8aa9bf5cc6 8148213: Regression: nested unchecked call does not trigger erasure of return type
FreeTypeListener was deferred too much and caused loss of unchecked warning while in the middle of overload

Reviewed-by: vromero
2016-01-28 14:06:27 +00:00

31 lines
557 B
Java

/*
* @test /nodynamiccopyright/
* @bug 8148213
* @summary Regression: nested unchecked call does not trigger erasure of return type
*
* @compile/fail/ref=T8148213.out -Werror -Xlint:unchecked -XDrawDiagnostics T8148213.java
*/
abstract class T8148213 {
interface R<E> { }
interface Q<T> { }
interface T {
<E> Q<E> n(R<E> r);
}
abstract <T> T isA(Class<T> t);
abstract <T> S<T> w(T t);
interface S<T> {
S<T> t(T value);
}
void f(T t, Q<String> q) {
w(t.n(isA(R.class))).t(q);
}
}