https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92894
--- Comment #4 from Patrick Palka <ppalka at gcc dot gnu.org> --- Created attachment 48428 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48428&action=edit avoid defining _IMove::operator() with a deduced return type With this patch both of the above testcases successfully compile, which seems to suggest that ranges::iter_move's deduced return type is indeed the problem.