LWG Issue 280 added a template assignment operator to reverse_iterator:
http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#280
It doesn't look like we ever added the function.
I'm having trouble coming up with a test case that would reveal its absence so this is just a placeholder to remind us to look into this in more detail to make sure the function really is needed (if not, there's no need to complicate the interface of the template).
int a [10] = {0}; std::reverse_iterator< int*> rvi (&a [0]); std::reverse_iterator<const int*> crvi (&a [0]); // this is std::operator== (const std::reverse_iterator<int*>&, // const std::reverse_iterator<const int*>&) rvi == crvi; // also for !=, <, <=, >, >= and - crvi == rvi;The above code would compile with new versions of the library, but not with older versions of the library. Is this change suitable for 4.2.1? It seems that it should not be.
As an aside, I'm with John Potter on wg issues 179 and 280... I think the issue is in support of bad code. Compares should be between two iterators of the same type.