https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94489
--- Comment #5 from Patrick Palka <ppalka at gcc dot gnu.org> --- If we change std::plus<void> to std::plus<void>{} in order to make the testcase valid, then we accept ever since the PR94490 fix. The comment #4 testcase can be further reduced to: template<int...> struct A; template<int... Ns> A<__integer_pack(Ns)...>* f(); int main() { f<5, 6>(); } This seems invalid indeed, how should we even expand __integer_pack(Ns)... when Ns itself is a pack?