This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/40155] [c++0x] variadic template pack problem
- From: "dodji at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 5 Jan 2010 11:43:50 -0000
- Subject: [Bug c++/40155] [c++0x] variadic template pack problem
- References: <bug-40155-102@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #2 from dodji at gcc dot gnu dot org 2010-01-05 11:43 -------
FWIW, I think this code is valid.
The A template parameter in "typename identity<A>::type..." is in a non-deduced
context, so it's argument should not be deduced from there. The argument of A
should be re-used from the deduction done using "RT (*) (A...)".
And I think that's where the problem is. Once the compiler figured the second
argument of forward_call is a non-deduced context, it fails to re-use the
argument of A that was deduced in the context of the first argument of
forward_call.
I believe this should be flagged P1, even if it doesn't seem to be a
regression.
--
dodji at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |rejects-valid
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40155