JEP proposed to target JDK 11: 323: Local-Variable Syntax for Lambda Parameters (original) (raw)
Jonathan Bluett-Duncan jbluettduncan at gmail.com
Fri Jan 26 13:47:12 UTC 2018
- Previous message: JEP proposed to target JDK 11: 323: Local-Variable Syntax for Lambda Parameters
- Next message: JEP proposed to target JDK 11: 323: Local-Variable Syntax for Lambda Parameters
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hmm, is that not what variables like the following are for?
Function<@Nullable Integer, @Nonnull Integer> function = x -> (x == null) ? 0 : x + 1;
On 26 January 2018 at 09:59, Zheka Kozlov <orionllmain at gmail.com> wrote:
The motivation is to allow
final
and annotations on lambda parameters:(final var x) → x + 1; (@Nonnull var x) → x + 1; This is impossible to write with an implicitly typed lambda: (final x) → x + 1; // Illegal (@Nonnull x) → x + 1; // Illegal
2018-01-26 15:30 GMT+07:00 Martijn Verburg <martijnverburg at gmail.com>: > Hi all, > > I'm struggling to understand the motivation for this JEP in terms of it > adding improved understanding or readability of source code (as the > implicit case is already covered today). > > I also suspect the illegal use uses (extract below) will likely confuse and > frustrate day to day developer's who don't understand the underlying type > inference system and lead to > some heavily upvoted SO Q's. I liken this type of frustration seen in > developers not understanding generics in full and coming undone in corner > cases where they expect the element of > 'least surprise'. > > ------ > > The following examples are illegal: > > (var x, y) -> x + y // Cannot mix var and "no var" in > implicitly typed lambda expression > (var x, int y) -> x + y // Cannot mix var and manifest types in > explicitly typed lambda expression > > > ------- > > I'm not sure I've explained myself very eloquently here, hope this has made > some sense. > > Cheers, > Martijn > > On 26 January 2018 at 08:40, <mark.reinhold at oracle.com> wrote: > > > The following JEP is proposed to target JDK 11: > > > > 323: Local-Variable Syntax for Lambda Parameters > > http://openjdk.java.net/jeps/323 > > > > Feedback on this proposal is more than welcome, as are reasoned > > objections. If no such objections are raised by 23:00 UTC on Thursday, > > 1 February, or if they're raised and then satisfactorily answered, then > > per the JEP 2.0 process proposal [1] I'll target this JEP to JDK 11. > > > > - Mark > > > > > > [1] http://cr.openjdk.java.net/~mr/jep/jep-2.0-02.html > > >
- Previous message: JEP proposed to target JDK 11: 323: Local-Variable Syntax for Lambda Parameters
- Next message: JEP proposed to target JDK 11: 323: Local-Variable Syntax for Lambda Parameters
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]