https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102358
--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> --- I don't understand what you're saying. __miter_base is not make_move_iterator, so what do you mean? std::make_move_iterator is constexpr for C++17 and up. That's true in GCC 12 and in every release since GCC 7.1 because I added it in commit r7-2774-g06db992005654e https://godbolt.org/z/W3qsnbvoE Do you have code using std::make_move_iterator that fails to compile with GCC 12? If so, please show that code instead of whatever it is you're saying about __miter_base and __niter_base, because those do not affect std::make_move_iterator in any way.