https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61088
--- Comment #3 from Paolo Carlini <paolo.carlini at oracle dot com> --- As testcase, this can do, I think: void f() { typedef void (X) (); X x[] = { [x](){} }; // { dg-error "incomplete" } } something even closer to the original one is of course welcome.