The 21.string.insert.cpp test has been failing a number of assertions for self-referential test cases that exercise the ability to insert a substring of a string into itself using the insert(iterator, InputIterator, InputIterator) member template specialization for InputIterator being an actual Input Iterator. The program below reproduces the problem in a small isolated test case.
int main ()
std::string s ("abc");
typedef const unsigned char UChar;
s.insert (s.begin (), (UChar*)&s , (UChar*)&s );
assert ("babc" == s);