https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108090

            Bug ID: 108090
           Summary: pack expansion of using declarations doesn't properly
                    handle dependent conversion function names
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: richard-gccbugzilla at metafoo dot co.uk
  Target Milestone: ---

Testcase, which I believe is valid, and other compilers accept:

template<typename T> struct As { operator T(); };
template<typename ...T> struct AsAll : As<T>... {
  using As<T>::operator T...;
};
AsAll<int, float, char> x;

But GCC rejects:

<source>:3:26: error: parameter packs not expanded with '...':
    3 |   using As<T>::operator T...;
      |                          ^~~
<source>:3:26: note:         'T'
  • [Bug c++/108090] New... richard-gccbugzilla at metafoo dot co.uk via Gcc-bugs

Reply via email to