https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112307
--- Comment #17 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Note the original didn't:
```
auto b = range_.begin();
bool result = (b != range_.end());
begin_ = std::move(b);
return result;
```
