------- Comment #19 from paolo dot carlini at oracle dot com 2010-01-01 10:14 ------- (In reply to comment #18) > It does happen when swapping arrays. I believe that array::swap does have a > strong requirement via 23.2.1 p 10, but have xfailed this for the moment.
In that case we have clearly a defect in the standard, because std::array doesn't dynamically allocate memory and in general you can't play tricks with pointers, it all comes down to this. > > it in the framework, since the value_type must be a POD! > > Four specializations are defined: char, wchar_t, char16_t, char32_t. That is > the only part of basic_string that is special WRT container requirements that > I > can see. > > ? Benjamin, we all know that traditionally basic_string can be instantiated only for PODs, per 21/1. Certainly a POD can't throw. For the C++0x basic_string there are some news in this area, still I'm pretty sure there are no changes in this area. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21772