[records] Non-compact canonical constructors
Alex Buckley
alex.buckley at oracle.com
Tue Nov 12 15:36:09 UTC 2019
On 11/10/2019 8:07 PM, Tagir Valeev wrote:
>>> 1. It's not explicitly specified whether an explicitly declared
>>> canonical constructor must be 'public' like it's specified for
>>> compact constructors. Does this mean that I can declare
>>> non-public canonical constructor?
>>
>> The compact constructor _is_ a canonical constructor; its just an
>> alternate notation for it, and its an error to declare it both
>> ways (because its an error to declare the same member twice). The
>> canonical constructor should be public (yes, Remi, we see you
>> there), whether declared implicitly, explicitly with a full
>> argument list, or explicitly with a compact ctor.
>
> Sure, this sounds consistent. I'm just saying that this part of the
> current spec draft is incomplete.
Yes, this was the issue @
https://mail.openjdk.java.net/pipermail/amber-spec-experts/2019-November/001760.html
and
https://mail.openjdk.java.net/pipermail/amber-spec-experts/2019-November/001761.html
-- there is a slight misfactoring in how an explicitly declared
canonical ctor is specified.
Alex
More information about the amber-spec-experts
mailing list