http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54440

             Bug #: 54440
           Summary: [c++11] g++ prematurely applying rule that a template
                    parameter pack cannot be followed by a template
                    parameter
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: eric.nieb...@gmail.com


The following code:

  template<int...I>
  struct S
  {
    template<template<decltype(I)> class...A, template<int> class B>
    struct T;
  };

yields:

  main.cpp:5:12: error: parameter pack ‘A’ must be at the end of the template
parameter list

I believe this is erroneous, as does clang developer Richard Smith. After S is
instantiated, A instantiates to a non-pack.

Reply via email to