https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79070
--- Comment #1 from Björn Fahller <gccbugbjorn at fahller dot se> --- More info: adding an alias for a function signature involving the ambiguous Foo in the above program gives a directly misleading error message: using type = void(Foo); c.cpp:12:18: error: expected ';' before '(' token using type = void(Foo); ^