<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div><br></div><div>On Dec 13, 2016, at 12:48 PM, Guido van Rossum <<a href="mailto:guido@python.org">guido@python.org</a>> wrote:<br><br></div><blockquote type="cite"><div><div dir="ltr">On Tue, Dec 13, 2016 at 8:52 AM, Eric V. Smith <span dir="ltr"><<a href="mailto:eric@trueblade.com" target="_blank">eric@trueblade.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
> On Dec 13, 2016, at 11:42 AM, Raymond Hettinger <<a href="mailto:raymond.hettinger@gmail.com">raymond.hettinger@gmail.com</a>> wrote:<br>
><br>
>> On Dec 13, 2016, at 1:51 AM, Max Moroz <<a href="mailto:maxmoroz@gmail.com">maxmoroz@gmail.com</a>> wrote:<br>
>><br>
>> Would it be worth ensuring that an exception is ALWAYS raised if a key<br>
>> is added to or deleted from a dictionary during iteration?<br>
>> <snip><br>
>> I suspect the cost of a more comprehensive error reporting is not<br>
>> worth the benefit, but I thought I'd ask anyway.<br>
><br>
> I think what we have has proven itself to be good enough to detect the common cases, and it isn't worth it to have dicts grow an extra field which has to be checked or updated on every operation.<br>
><br>
<br>
</span>I agree that we shouldn't complicate things, but wouldn't PEP 509 be a cheap way to check this?<span class="HOEnZb"></span><br></blockquote></div><br></div><div class="gmail_extra">IIUC the private version gets updated every time the dict gets modified -- but what we need here should only trigger when a key is added or removed, not when a value is updated. (It's a guarantee that updating the value doesn't change the iteration order -- though perhaps it isn't spelled out, it's implicit.)<br><br></div></div></div></blockquote><div><br></div>Ah, yes. That's over-zealous for this case. <div><br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra">I agree with Raymond that we should not change anything.</div></div>
</blockquote><br></div><div>Agreed. </div><div><br></div><div>Eric. </div></body></html>