https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117630
--- Comment #9 from Jonathan Wakely <redi at gcc dot gnu.org> --- The exception types in <stdexcept> require a COW string of some kind so that copies are no except. Since we already have one, that's what we use. I'd like to have a more lightweight COW string that is A I compatible with the COW std::string but only provides what's needed for the exceptions (basically just construction, c_str(), copy and move) but that's a longer term project.