Maurizio Cimadamore 414c739476 8157149: Inference: weird propagation of thrown inference variables
Overhaul of treatment of thrown inference variables

Reviewed-by: vromero
2016-05-23 15:07:10 +01:00

29 lines
703 B
Java

/*
* @test /nodynamiccopyright/
* @bug 8157149
* @summary Inference: weird propagation of thrown inference variables
*
* @compile/fail/ref=T8157149a.out -XDrawDiagnostics T8157149a.java
*/
import java.io.IOException;
class T8157149a {
<Z extends Throwable> Z m_T() throws Z { return null; }
<Z extends Exception> Z m_E() throws Z { return null; }
void test_T() {
Throwable t1 = m_T();
Exception t2 = m_T();
RuntimeException t3 = m_T();
IOException t4 = m_T(); //thrown not caught
}
void test_E() {
Throwable t1 = m_E();
Exception t2 = m_E();
RuntimeException t3 = m_E();
IOException t4 = m_E(); //thrown not caught
}
}