http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58358
--- Comment #9 from Daniel Krügler <daniel.kruegler at googlemail dot com> --- (In reply to Paolo Carlini from comment #8) > About the duplication, you may want to review what Francois posted to the > mailing list a few days ago and send your comments. Personally, I agree it > would be very nice to avoid the duplication, but at the same time when I > discussed the topic with Howard a few years ago he explained that there are > some tricky details, in particular vs proxy-iterators, we want to be really > sure that nothing breaks vs those, the "natural" idea of using std::less & > co doesn't work, a beefed up version is required (this is horrible IMHO, but > we may have to live with it). Shouldn't the library be able to use the new diamond operators (specializations in void) that use perfect forwarding for both arguments and result? User-code cannot specialize these operations.