You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If there is no special specification, the expansion is defined as [temp.variadic] p8
The instantiation of a pack expansion considers items E1,E2,…,EN, where N is the number of elements in the pack expansion parameters. Each Ei is generated by instantiating the pattern and replacing each pack expansion parameter with its ith element.
[temp.variadic] p11
The instantiation of any other pack expansion produces a list of elements E1,E2,…,EN.
That is, given Align<int, short> will instantiate the pack expansion to produce alignas(int), alignas(short), which is not a valid attribute-specifier-seq in a declaration. That is, a valid attribute-specifier-seq in a declaration is not comma-separated. Even if the note in the [temp.variadic] p11 may imply the intent, however, it's not a formal rule
[Note 1: The variety of list varies with the context: expression-list, base-specifier-list, template-argument-list, etc.
— end note]