Re: Record canonical constructor is required to be public

2019-11-10 Thread forax
- Mail original - > De: "Brian Goetz" > À: "Remi Forax" > Cc: "amber-spec-experts" > Envoyé: Dimanche 10 Novembre 2019 16:36:01 > Objet: Re: Record canonical constructor is required to be public > Yes, this is about the fourth time y

Re: Record canonical constructor is required to be public

2019-11-10 Thread John Rose
Thanks for spelling that out Brian. I withdraw my earlier +1. > On Nov 10, 2019, at 7:36 AM, Brian Goetz wrote: > > Yes, this is about the fourth time you’ve brought this up... > > I understand your concerns here (as I’ve said before). We’re not going to do > anything about it right now —

Re: Record canonical constructor is required to be public

2019-11-09 Thread John Rose
On Nov 9, 2019, at 6:59 AM, Tagir Valeev wrote: > > Probably specifying that > canonical constructor visibility is the same as record visibility > would be good. +1 to that suggestion, although I admit I don’t know the full set of design considerations. It’s coherent with some basic rules that

Re: Record canonical constructor is required to be public

2019-11-09 Thread forax
- Mail original - > De: "Tagir Valeev" > À: "Remi Forax" > Cc: "amber-spec-experts" > Envoyé: Samedi 9 Novembre 2019 09:59:19 > Objet: Re: Record canonical constructor is required to be public > Hello! > > The enum argument &

Re: Record canonical constructor is required to be public

2019-11-09 Thread Tagir Valeev
Hello! The enum argument "goes against the rules of constructors in enums (use private or package private depending on the kind of enums)" is not appealing to me, as enum instances are never created explicitly, so nobody actually needs public enum constructors. I also don't agree with

Record canonical constructor is required to be public

2019-11-09 Thread Remi Forax
I know we already discuss that but i still don't understand why a canonical constructor has to be public. I understand that a canonical constructor is not a simple constructor because it is also used as a kind of default de-constructor, but this doesn't work well with the current rules for