This program

#include <iostream>

template <typename ...Bases>
struct S : Bases...
{
    using Bases::Bases...;
};

int main()
{
}

does not compile using gcc HEAD 10.0.0 20190.

The error message is

rog.cc:6:23: error: parameter packs not expanded with '...':
    6 |     using Bases::Bases...;
      |                       ^~~
prog.cc:6:23: note:         'Bases'

 However it compiles using Clang HEAD 9.0.0.

So the question is Is it a valid using declaration or is there a gcc bug?

 

With best regards,
Vlad from Moscow

You can meet me at http://cpp.forum24.ru/ or www.stackoverflow.com or http://ru.stackoverflow.com