3789983e89
Reviewed-by: darcy, ihse
26 lines
614 B
Java
26 lines
614 B
Java
/*
|
|
* @test /nodynamiccopyright/
|
|
* @bug 8141343
|
|
* @summary Subtle semantics changes for union types in cast conversion
|
|
* @compile/fail/ref=T8141343.out -XDrawDiagnostics T8141343.java
|
|
*/
|
|
|
|
class T8141343 {
|
|
interface Foo<X> { }
|
|
|
|
static class A extends Exception implements Foo<A> { }
|
|
static class B extends Exception implements Foo<B> { }
|
|
|
|
void test(boolean cond) {
|
|
try {
|
|
if (cond) {
|
|
throw new A();
|
|
} else {
|
|
throw new B();
|
|
}
|
|
} catch (A | B ex) {
|
|
Foo<Integer> fa = (Foo<Integer>)ex;
|
|
}
|
|
}
|
|
}
|