https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82882
--- Comment #10 from Ville Voutilainen <ville.voutilainen at gmail dot com> --- Reproducer: template<typename = int> void f(const char* a = ([]() noexcept -> const char* { enum { Size = 42 - 1 }; return ""; }())); void g() { f(); } Looks like we don't handle lambda invocation as a default argument of a function parameter of a function template.