https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103110
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I think this is a bug in clang as GCC, ICC (EDG) and MSVC all reject the code for the same reason. GCC even warns about it: <source>:3:14: warning: use of 'auto' in member template conversion operator can never be deduced 3 | operator auto() const { return 2; } | ^~~~