https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118398
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- lambda are not considered an immediate context which is why func1 fails for GCC and clang. Also unused template arguments for concepts are not taken into account so in this cases the lambdas for C2 are ignored. This is why GCC works (clang has a bug in this area; let me find that issue).