> On Mar 20, 2018, at 10:15 AM, Brian Goetz <brian.go...@oracle.com> wrote: > > >> >> So add all this up and we have three kind of finalness for fields: >> >> - by default mutable, but you can change it >> - by default final, and you can't change it >> - (and now) by default final, but you can change it >> >> This seems like quite a bad situation to me. >> > > I think what you are really saying here is: if you want immutable records, > wait for value records, don't try to cram them in early? Then a record > inherits the finality of the class kind that it is describing. And same with > field accessibility.
On its face, that sounds right to me. I wish “value" could be the default for records, just as I wish “final" had been the default all along for all fields and local variables. They’re the same issue. But that’s not our history, so we have to live with it.