http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50830
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-10-22 20:57:04 UTC --- The reduced example compiles if the partial specialization is declared so the pack expansion is last: template<class T, template<class> class... F> struct test<list_templates<F...>, T> { struct inner {}; };