https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112477
Dave Martin <dave.martin at giref dot ulaval.ca> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dave.martin at giref dot ulaval.ca --- Comment #3 from Dave Martin <dave.martin at giref dot ulaval.ca> --- I have a very similar issue using operator= (https://godbolt.org/z/cj7Gbn1e8) #define _GLIBCXX_DEBUG #include <set> int main() { using S = std::set<int>; S set {1}; auto it = set.begin(); it = S::const_iterator(); auto it2 = it; return 0; } Results in Error: attempt to copy-construct an iterator from a singular iterator. I am also confused as to why this shouldn't "just work".