https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97731
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- Looks like I fixed it for std::filesystem::recursive_directory_iterator but not the experimental version: if (ecptr ? sp->top().advance(*ecptr) : sp->top().advance()) _M_dirs.swap(sp);