Reader mail bag, 2nd edition
daniel.smith at oracle.com
Tue Dec 17 14:27:01 PST 2013
Here's a summary of feedback received on the lambda-spec-comments mailing list, and how it has been addressed. This covers the last few months, including the Public Review period.
For the first edition, see
22 Aug 2013, Alex Buckley <alex.buckley at oracle.com>, "Default methods containing local/anonymous classes"
This interaction between two different spec changes will be resolved as JSR 335 is incorporated with the rest of JLS 8.
8 Oct 2013, Jan Lahoda <jan.lahoda at oracle.com>, "Enabling/disabling asserts in interface default methods"
Not a new problem -- interfaces can contain nested or anonymous classes -- but a JLS bug has been reported.
29 Oct 2013, Jon Rafkind <jon.rafkind at hp.com> "clarification of 18.2.3"
The text was cleaned up as suggested in 0.8.0 (maybe in 0.7.0, too?...).
18 Nov 2013, Jon Rafkind <jon.rafkind at hp.com>, "18.2.3 subtyping constraints"
A phrase similar to what Jon suggested appears in the 0.8.0 spec.
18 Nov 2013, Markus Keller <markus_keller at ch.ibm.com>, "Lambda expressions keeping a reference to the enclosing instance"
The lack of a commitment one way or another on whether the value of a lambda expression retains a reference to 'this' is intentional: we want implementations to be free to discard the reference, but also want an implementation that directly translates to anonymous inner classes to be valid.
3 Dec 2013, Markus Keller <markus_keller at ch.ibm.com>, "Self-reference to field from lambda expression in initializer"
I've had quite a few discussions about this, and concluded that it is best not to do anything until we flesh out a potential "recursive lambda expression" feature in the future. (In 8, local variables initialized with lambdas have a similar inability to directly refer to themselves.)
3 Dec 2013, Markus Keller <markus_keller at ch.ibm.com>, "Can an annotation type be a functional interface?"
Reported as a javac bug:
More information about the lambda-spec-observers