https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106211
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- MSVC also rejects this code: <source>(8): error C2672: 'operator __surrogate_func': no matching overloaded function found <source>(8): error C2780: 'auto f::<lambda_1>::()::<lambda_1>::operator ()(_T3...,_T4) const': expects 2 arguments - 2 provided <source>(7): note: see declaration of 'f::<lambda_1>::()::<lambda_1>::operator ()' I am suspecting a bug in clang.