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.

Reply via email to