Hi Frank,
Probably best to confirm this on lambda-dev but I suspect that default
method support introduced a bug in b63 that was fixed by b65.
David
On 30/01/2013 12:06 PM, Frank Ding wrote:
Hi guys,
I noticed there is a change in Java 8 between b63 and b65. The change
can be illustrated by compiling following Issue class.
public class Issue {
interface Handler {
public void handle();
}
interface Listener {
public void listen();
}
Handler handlerImpl = new Handler() {
public void listen(Object... obj) {
// do nothing
}
@Override
public void handle() {
new Listener() {
@Override
public void listen() {
listen(null);
}
};
}
};
}
With OpenJDK 8 b65, compilation goes well whereas b63 failed,
complaining that
Issue.java:22: error: method listen in class <anonymous Listener> cannot
be applied to given types;
listen(null);
^
required: no arguments
found: <null>
reason: actual and formal argument lists differ in length
1 error
Could anybody kindly take a look at it and point out what Oracle bug or
feature has been built into b65 which is not available in b63? It would
be very helpful.
Best regards,
Frank