<div dir="ltr"><div dir="ltr"><div dir="ltr">Thanks for the comments.<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Dec 10, 2024 at 8:44 PM David Alayachew <<a href="mailto:davidalayachew@gmail.com" target="_blank">davidalayachew@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:monospace">The entire reason that this feature is being considered is because WE KNOW that we are being safe, but the compiler doesn't have enough info to know.</div></div></blockquote><div><br></div><div>I think it's more subtle than that... the compiler often does have enough information, but there are some other reasons trying to extend this to all "quiescent" variables would be tricky.</div><div><br></div><div>One issue is that the JLS doesn't talk about variables being captured & duplicated - even though we know that's what actually happens in practice. In the JLS there's only one variable. Therefore, any JLS change that forcibly "reveals the truth" would be pretty disruptive (an example is the simple rule "allow capture anywhere"). See previous discussions in this thread for details.<br></div><div><br></div><div>FYI I'll also ask my question on amber-spec-experts to get their opinion.<br></div><div><br></div><div>Thanks,<br></div><div>-Archie<br></div><br></div></div>
</div>