recursive lambda as a local variable

Peter Levart peter.levart at
Fri Sep 13 01:21:37 PDT 2013

On 09/12/2013 05:17 PM, Brian Goetz wrote:
>> - The part left of the '::' can be an arbitrarily long expression that will
>> be evaluated immediately, while the method invocation itself will be
>> deferred until the corresponding SAM method is invoked. Thus, 'null' might
>> by bound now and detected much later.
> This is just a compiler bug; if the part to the left evaluates to null,
> it should throw NPE immediately (see jsr335-15.28.2-30-A2: If the result
> of evaluation of the subexpression is null, then a NullPointerException
> is thrown.)
> Thanks for reporting this.  I will file a bug.

This could be checked in lambda metafactory generated constructor, 
right? It doesn't have to be compiler generated code.

Regards, Peter


More information about the lambda-dev mailing list