<html><body><div style="font-family: arial, helvetica, sans-serif; font-size: 12pt; color: #000000"><div><br></div><div><br></div><hr id="zwchr" data-marker="__DIVIDER__"><div data-marker="__HEADERS__"><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><b>De: </b>"Guy Steele" <guy.steele@oracle.com><br><b>À: </b>"Brian Goetz" <brian.goetz@oracle.com><br><b>Cc: </b>"amber-spec-experts" <amber-spec-experts@openjdk.java.net><br><b>Envoyé: </b>Mardi 20 Mars 2018 16:29:23<br><b>Objet: </b>Re: Records -- current status<br></blockquote></div><div data-marker="__QUOTED_TEXT__"><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><br class=""><div><blockquote class=""><div class="">On Mar 20, 2018, at 10:15 AM, Brian Goetz <<a href="mailto:brian.goetz@oracle.com" class="" target="_blank">brian.goetz@oracle.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><br class=""><blockquote cite="mid:CAGKkBku7YMp2JRBBixSz_WAnSVxoV9XhMdy1Nrw2ngotst5FaA@mail.gmail.com" class=""><div dir="ltr" class=""><div class="gmail_extra"><div class="gmail_quote"><div class=""><br class=""></div><div class="">So add all this up and we have <i class="">three</i> kind of
              finalness for fields:</div><div class=""><br class=""></div><div class="">- by default mutable, but you can change it</div><div class="">- by default final, and you can't change it</div><div class="">- (and now) by default final, but you can change it</div><div class=""><br class=""></div><div class="">This seems like quite a bad situation to me.</div><br class=""></div></div></div></blockquote><br class="">
    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. <br class=""></div></div></blockquote><br class=""></div><div>On its face, that sounds right to me.</div><div><br class=""></div><div>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.</div></blockquote><div><br></div><div>I'me afraid that users will select value records to have immutability to after discover that they have lost the identity property.</div><div>== between a value type and something else return false.<br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div>Rémi<br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div></div></div></body></html>