http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61022
Bug ID: 61022 Summary: [C++11] Bogus "error: parameter packs not expanded with '...'" Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: ppluzhnikov at google dot com Google ref: b/14441040 // --- cut --- template <typename T> struct Template {}; template <typename O> struct TemplateAliasStruct { template <typename T> using TemplateAlias = Template<T>; }; template <template <typename> class... T> struct Templates {}; // Using this alternate definition of Templates compiles: // template <template <typename> class... W> void Templates() {} template <typename... W> void DoTest() { Templates<TemplateAliasStruct<W>::template TemplateAlias...>(); } int main(int argc, char* argv[]) { DoTest<int, int>(); return 0; } // --- cut --- Using trunk @r209848: g++ -c -std=c++11 t.cc t.cc: In function 'void DoTest()': t.cc:14:65: error: parameter packs not expanded with '...': Templates<TemplateAliasStruct<W>::template TemplateAlias...>(); ^ t.cc:14:65: note: 'W' The test compiles cleanly with Clang.