https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115216
--- Comment #3 from Olaf Krzikalla <olaf.krzikalla at dlr dot de> --- (In reply to Andrew Pinski from comment #2) > MSVC and ICC (EDG in GCC compat mode) also rejects the code for the same > reason as GCC. Are you sure this is not a clang issue? To be honest I don't know. I have no idea, if a compiler is allowed to convert a type before applying a operator, if there is already such an operator available in the genuine class. Someone who knows the respective details in the standard is required.