https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103769
--- Comment #8 from Sergei Trofimovich <slyfox at gcc dot gnu.org> --- Slightly simpler executable example without recursion: template <typename T> using t = T; template <typename...> struct s {}; template <typename...Args> s<t<Args>...> f() { return {};} int main() { f<void>(); }