[Bug c++/45236] [C++0x] unhelpful diagnostic for parameter pack that is not last
jason at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Aug 9 17:34:00 GMT 2010
------- Comment #6 from jason at gcc dot gnu dot org 2010-08-09 17:34 -------
14.1 paragraph 11 says,
If a template-parameter of a class template is a template parameter pack, it
shall be the last template-parameter.
This isn't quite right: what we really want to require is that if a
partial-specialization argument (or the equivalent transformed parameter for a
primary template) is a pack expansion, it is the last one. But that also
applies to your testcase #5, which is ill-formed. Your testcase in comment #4
is OK because none of the partial specialization arguments are pack expansions.
As Paolo says, we ought to give a better error.
--
jason at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Keywords| |diagnostic
Last reconfirmed|0000-00-00 00:00:00 |2010-08-09 17:34:37
date| |
Summary|[C++0x] Can't access nested |[C++0x] unhelpful diagnostic
|type of a partial class |for parameter pack that is
|specialization involving |not last
|variadic parameters |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45236
More information about the Gcc-bugs
mailing list