On 27 October 2016 at 14:52, Edward Diener wrote: > It sounds like you are also saying that there is no way to catch the old > type, even if I wanted to, since the header file declaration has the > decorated attribute. No, the attribute is only present conditionally, see https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html If you compile with _GLIBCXX_USE_CXX11_ABI defined to zero then you get the declaration of the old type (and the old COW std::string, and the old std::list with O(n) size()).