http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60448
--- Comment #13 from Marc Glisse <glisse at gcc dot gnu.org> --- (In reply to Jonathan Wakely from comment #10) > (In reply to Marc Glisse from comment #6) > > libc++ sfinae constrains std::swap. > > Aha! I suppose we could do that too, Indeed. I could never estimate the drawbacks properly. Doesn't it force types to be complete earlier than it would otherwise? It probably isn't that bad if libc++ got away with it.