Community
Participate
Working Groups
BETA_JAVA8: // -- interface I { void foo(); } interface J extends I { default void foo() { } } interface K extends J { } public class X implements K { public static void main(String argv[]) { X test = new X(); ((J)test).foo(); test.foo(); } } This program results in an AbstractMethodError upon execution. I don't see javac emitting any bridges for this program while we do. I tested with 8b115. https://bugs.eclipse.org/bugs/show_bug.cgi?id=391376#c5 and https://bugs.eclipse.org/bugs/show_bug.cgi?id=404690 may have a role to play here.
Thanks for taking a look, Stephan.
(In reply to Srikanth Sankaran from comment #0) > This program results in an AbstractMethodError upon execution. I don't > see javac emitting any bridges for this program while we do. > > I tested with 8b115. > > https://bugs.eclipse.org/bugs/show_bug.cgi?id=391376#c5 and > https://bugs.eclipse.org/bugs/show_bug.cgi?id=404690 may have a role to > play here. Excellent guess, after resolving bug 404690 the test from comment 0 passes already. Regression test has been added via http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/commit/?h=BETA_JAVA8&id=4d5ca8a02167bbefc92469b1dbb1f1e04260a45e *** This bug has been marked as a duplicate of bug 404690 ***