http://d.puremagic.com/issues/show_bug.cgi?id=4179


Jonathan M Davis <jmdavisp...@gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jmdavisp...@gmx.com


--- Comment #4 from Jonathan M Davis <jmdavisp...@gmx.com> 2011-03-29 08:26:59 
PDT ---
SafeD refers to memory safety. The current behavior is completely memory safe.
The same could happen with any container whose iterators/ranges are invalidated
by the removal of an element from the container. It would be nice if removing
elements from an AA while looping over it worked, but it's not at all
surprising that it doesn't, and it may not be reasonable to require that it
does. And it's easy enough to get around this. You just save a list of the
items that you want to remove, and then you remove them after you're done
iterating over the AA.

There's nothing unsafe about the current behavior. It may be a bit bug-prone
for the unwary, but this sort of things is normal when dealing with iterators
or ranges. If it were unsafe, it wouldn't be throwing a RangeViolation but
would keep trying to iterate using invalid data and do who-knows-what.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------

Reply via email to