<div dir="ltr"><div dir="ltr">Andres,</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Oct 13, 2019 at 10:51 PM Andres Valloud via Cuis-dev <<a href="mailto:cuis-dev@lists.cuis.st" target="_blank">cuis-dev@lists.cuis.st</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">Do we even agree this is a problem?<br></blockquote><div><br></div><div><div>I'd say there's a second question: If so, what do we do about it?</div><div><br></div><div>I would agree it's a problem and that it's a question of how to handle it. I'm in favor of at least voluntarily minimizing the use of non-local returns just to ensure expected debugger behavior regardless of whether or not it's technically 'legal' and/or we effectively forbid it.</div><div><br></div><div>One bit of feedback on this approach related to the last time we forbid something this way: I still absolutely *hate* the exceptions for shadowing variable names. I find the mechanism annoying for something that is a non-problem to me. Others may feel that way about raising exceptions for this issue. I would much prefer that we handle issues like these with some sort of opt-in linting/logging mechanism than mandatory policy enforced by exceptions.</div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">d) it's possible to distort the exception handling mechanism behavior <br>
with non-local returns.<br></blockquote><div><br></div><div>This one concerns me because we effectively have what appears to be a 'legal' (in the sense that blocks can do it) end-run around the exception mechanism. Are there any examples of existing core code / packages with subtle bugs because of this?</div><div><br></div><div>Finally, does any literature (Blue Book, ANSI, previous discussion(s)... whatever) specifically discuss do's/don'ts re: exception blocks or is it just an ambiguous issue that was never delved into? If anything does exist, shouldn't we also consider it regarding how to proceed?</div><div><br></div><div>Thanks,</div><div>Phil</div></div></div>