Mon, 01 Jul 2013 14:57:03 +0100
7034798: Ambiguity error for abstract method call is too eager
Summary: Javac should wait and see if ambiguous methods can be reconciled at the end of an overload resolution round
Reviewed-by: jjg, vromero
1 /*
2 * @test /nodynamiccopyright/
3 * @summary check that default overrides are properly type-checked
4 * @compile/fail/ref=Neg10.out -Werror -Xlint:unchecked -XDrawDiagnostics Neg10.java
5 */
6 class Neg10 {
7 interface I<X extends Exception> {
8 default void m() throws X { }
9 }
11 static class C1 {
12 public void m() throws Exception { } //unchecked (throws) override
13 }
15 static class C2<Z extends Exception> extends C1 implements I<Z> { }
17 static class C3<Z extends Exception> implements I<Z> {
18 public void m() throws Exception { } //unchecked (throws) override
19 }
20 }