https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83607
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> --- Bad example, because the BM searcher uses std::equal_to<void>, not std::equal_to<E>, but overloading operator==(E, E) would still break the searcher if it used the array optimization for enum E.