https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82882
--- Comment #11 from Ville Voutilainen <ville.voutilainen at gmail dot com> --- Also happens with a member function of a class template, thus: template<typename = int> struct X { void f(const char* a = ([]() noexcept -> const char* { enum { Size = 42 - 1 }; return ""; }())); }; void g() { X<int>().f(); }