http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57384
Bug ID: 57384 Summary: can't expand a parameter pack into a list of function types or function pointer types Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com I believe all of the following 4 test cases should pass: template<typename ...Ts> struct list {}; template<typename ...Ts> struct S { using type1 = void(int...(Ts)); // fails using type2 = list<int...(Ts)>; // fails using type3 = void(int(*...)(Ts)); // fails using type4 = list<int(*...)(Ts)>; // works with 4.7, fails with 4.8 }; Currently (i.e. with gcc-4.8), 1-4 all fail. With gcc-4.7, (4) worked. I'm compiling with -std=gnu++11