Aujourd'hui, j'ai trouvé ce code
#include <cstdio>
auto terminal = [](auto term)
{
return [=] (auto func)
{
return terminal(func(term));
};
};
Étonnamment, GCC l'accepte . Clang le rejette car il utilise terminal
dans son propre initialiseur et est déclaré auto
.
Je m'attendais à l'erreur que clang a donnée, mais est-elle en fait mal formée? Ou le code doit-il être accepté?