https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66985
Bug ID: 66985 Summary: [concept] template introduction with template template parameter and template parameter pack causes ICE Product: gcc Version: c++-concepts Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eric.niebler at gmail dot com Target Milestone: --- Code: template <template <class...> class T, class... U> concept bool _Valid = requires { typename T<U...>; }; template <template <class...> class T, class... U> struct __defer { }; _Valid{T, ...U} struct __defer<T, U...> { using type = T<U...>; }; Result: $ /usr/local/gcc-concepts/bin/g++.exe -std=gnu++1z -c bug.cpp bug.cpp:8:15: internal compiler error: in cp_parser_single_declaration, at cp/parser.c:24808 _Valid{T, ...U} ^ bug.cpp:8:15: internal compiler error: Aborted g++: internal compiler error: Aborted (program cc1plus) Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions.