blob: ea2a8d1fb003bfe8e8e326e015cdc1fcdc23ca50 [file] [log] [blame]
/*
* @test /nodynamiccopyright/
* @bug 8164399
* @summary inference of thrown variable does not work correctly
* @compile/fail/ref=T8164399b.out -XDrawDiagnostics T8164399b.java
*/
class T8164399b<X extends Throwable> {
<T extends Throwable> void m(Class<? super T> arg) throws T {}
<T extends X> void g() throws T {}
void test() {
m(RuntimeException.class); // ok
m(Exception.class); // error
m(Throwable.class); // ok
m(java.io.Serializable.class); // error
m(Object.class); // error
m(Runnable.class); // error
T8164399b<? super Exception> x = null;
x.g(); // expected: ok; actual: error
}
}