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.

Reply via email to