------- 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

Reply via email to