https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61726
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |12944 --- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- ICC and GCC rejects this code while clang and MSVC accept it. If we change it to a normal function rather than an operator, then all 4 compilers reject it as ambiguous. Are operators handled differently here for namelookup? Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=12944 [Bug 12944] [meta-bug] C++ name-lookup problems