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

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
clang++ rejects it (version 3.6.1):

> clang++ -S t.C -std=c++11
t.C:21:39: error: extraneous template parameter list in alias template
      declaration
template <typename> template <a... i> using n = g<unsigned long, i...>;
                    ~~~~~~~~~~~~~~~~~ ^
t.C:23:34: error: template argument for template type parameter must be a type
template <a i> void increasing(n<i>) {
                                 ^
t.C:21:11: note: template parameter is declared here
template <typename> template <a... i> using n = g<unsigned long, i...>;
          ^
t.C:24:16: error: implicit instantiation of undefined template
      'g<unsigned long, 1>'
    increasing(o<10>{});
               ^
t.C:5:36: note: template is declared here
template <typename f, f...> struct g;
                                   ^
3 errors generated.

Reply via email to