Seems fine to me if (1) CI is green and (2) we're all on board for breaking Hyrum's Law this month. I believe I've heard rumors to that effect — "it's very early in the 15.x release cycle, so let's remove all these redundant includes now and give people plenty of time to adjust and/or complain" — but I'll post in the Discord to get some nice explicit confirmation.
Could drive-by fix this to std::distance while you're here, if you like...
Thanks for doing this! (It removes an item of my todo list :-) )
- mention in the commit message that this removes several includes that people accidentally depend on. (in fact the addition in some headers show we already do this ourselves.) This isn't entirely obvious from the current message.
- mention the changes in the release notes. @ldionne do you want one note or should we mention all includes we removed?
LGTM, I leave the final approval this first cleanup for @ldionne.
Slight preference to do that in a separate commit, just in case this one needs to be reverted.
I am fine with this direction, however I agree CI should be green, and also we need to release-note this. I think the release note can only say that we removed transitive includes of <algorithm>, so if users see issues related to that, they know what the cause is. I don't think it's really useful to list all the headers that we removed <algorithm> *from*.
Requesting changes until those issues are fixed. Also, pinging libc++ vendors just so they are aware of this.