https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101850
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Target Milestone|--- |11.0 Status|UNCONFIRMED |RESOLVED --- Comment #6 from Jonathan Wakely <redi at gcc dot gnu.org> --- extern "C" char* strdup(const char*); extern "C" void free(void*); namespace std { struct string { string() { } string(string const& s) : data(strdup(s.data)) { } string& operator=(string const& s) { free(data); strdup(s.data); return *this; } ~string() { free(data); } char* data = nullptr; }; } class M { std::string s; public: M(std::string t) : s(t) {} }; int main() { M m = m; } This started to warn with r11-959 "Implement a solution for PR middle-end/10138 and PR middle-end/95136." I think this can be considered FIXED for GCC 11.