The following valid code snippet with variadic templates triggers an ICE on mainline:
============================================= template<typename...> struct A; template<template<int> class... T> struct A<T<0>...> { template<int> struct B {}; B<0> b; }; ============================================= bug.cc:6: internal compiler error: tree check: expected tree that contains 'decl non-common' structure, have 'template_template_parm' in convert_template_argument, at cp/pt.c:4665 Please submit a full bug report, [etc.] -- Summary: [4.3 regression] ICE with template class in variadic template class Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: ice-on-valid-code, 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=31993