https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115079
Bug ID: 115079 Summary: unexpected error with partial specialization of template<auto...> Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: 420 at zerberste dot es Target Milestone: --- Consider the following code snippet ```cpp template <typename...> struct TypeList {}; template <auto...> struct Proxy; template <typename U, typename... Ts, Ts U::*... Ptr> struct Proxy<Ptr...> { using alternatives = TypeList<Ts...>; }; struct Bare { int alt_0; }; template struct Proxy<&Bare::alt_0>; ``` https://gcc.godbolt.org/z/41T89b64a Clang accepts this, GCC does not. Up until GCC 8 it did provide a slightly more helpful error message, but I do not think it should error to begin with.