Part F - Question

Srikanth S Adayapalam srikanth_sankaran at
Tue Nov 26 00:16:42 PST 2013

Hello !

1. javac 8b116 refuses to compile this program ("reference to goo is 
Per my reading, the reference compiler is indeed closely following the 
letter of 
the specification in this test case:

// --
interface I {
        String foo(String [] x, String y);
interface J {
        void foo(int x, int y);
public class X {
    static void goo(J j) {
    static void goo(I i) {
    public static void main(String[] args) throws InterruptedException {
                goo((x, y) -> { return x[0] += 1; });

But looking at the interfaces involved, I is "obviously" the "right" 
choice and
the call is dismissed as being ambiguous only because the spec says so ?
That is a good enough reason to reject, but just checking.

2. introduces the notation </: - In JLS7 I don't see this symbol 
all, nor in the rest of the 335 draft 0.7 (though it is clear what is 

Thanks in advance for looking into this.
-------------- next part --------------
An HTML attachment was scrubbed...

More information about the lambda-spec-experts mailing list