https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119415
--- Comment #4 from Tomasz KamiĆski <tkaminsk at gcc dot gnu.org> --- If want to support user-defined containers, I think we should check if iterator_traits<It>::iterator category exists, before calling insert(Iterator, Iterator) overload. This will prevent hard-errors from older code, that do not handle C++20 iterators. In case where they are supported, users can add insert_range overload.