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'