https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84667
--- Comment #3 from Elmar Stellnberger <estellnb at elstel dot org> --- if I unify the implicit copy constructor with my own one then it also works for g++: xstr_mutable( const xstr& s ) : xstr(s) {}