https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107850
--- Comment #8 from Charles-Henri Gros <chgros at synopsys dot com> --- Thanks for all the comments. I agree that for consistency this should be rejected, though my preference would still be to make remove_if/erase_if more useful in practical cases (this happens dozens of times in codebase, just for map. For vector, it's likely a lot more). The predicate should be called exactly once per element so lack of side effect on the element is not really relevant. Anyway, that's a discussion for another forum.