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

Reply via email to