More fallout from the variadic templates on mainline: =========================================================== template<typename> struct A;
template<typename T, typename... U> struct A<T(U)> { template<typename X> A(X); }; A<void(int)> a(0); =========================================================== bug.cc:3: error: parameter packs not expanded with `...': bug.cc:3: note: 'U' bug.cc:4: error: parameter packs not expanded with `...': bug.cc:4: note: 'U' bug.cc:5: error: parameter packs not expanded with `...': bug.cc:5: note: 'U' bug.cc:8: internal compiler error: tree check: expected tree_vec, have error_mark in expand_template_argument_pack, at cp/pt.c:2647 Please submit a full bug report, [etc.] -- Summary: [4.3 regression] ICE with invalid use of parameter pack in specialization Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: ice-on-invalid-code, error-recovery, monitored Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: reichelt at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31438