|
This is similar to
But we fixed
This issue talking about __rw_debug_iter wraper class, that used in debug builds in all container classes when _RWSTD_NO_DEBUG_ITER macro is not defined.
I realize that, but I still don't understand why the debugging iterators shouldn't provide the same guarantees as the ordinary ones. If anything, they should be more robust, i.e., provide additional guarantees beyond those required of the ordinary ones.
Then we should eliminate the debugging iterators at all, because all checks in it's members are using pointer to associated container and this pointer becomes invalid after swap operation.
Well, that sounds like a design problem with the debugging iterators. It may not be one that can be fixed without breaking binary compatibility but I think if it is, in fact, a problem (there's some question regarding what iterator validity means for non-invalidating operations like swap() or list::splice()), we must fix it.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Closing as Won't Fix.