https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91263
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- No, a==b is equivalent to std::equal(a.begin(), a.end(), b.begin(), b.end()) which doesn't have access to the container's equality predicate.