Created on 2011-09-29.00:00:00 last changed 142 months ago
[Moved to DR at the October, 2012 meeting.]
Proposed resolution (February, 2012):
This issue is resolved by the resolution of issue 1388.
Consider:
    template <class... T>
    void f(T..., int, T...) { }
    int main() {
       f(0);          // OK
       f<int>(0,0,0); // OK
       f(0,0,0);      // error
    }
It seems clear that the third call is ill-formed because by the time we get to the second function parameter pack we've already assumed that T is empty, so deducing anything for T would be nonsensical. But I don't think this is expressed anywhere in the standard.
One way to handle this would be to say that a template parameter pack is not deducible if it is used in a function parameter pack not at the end of the parameter list.
| History | |||
|---|---|---|---|
| Date | User | Action | Args | 
| 2014-03-03 00:00:00 | admin | set | status: drwp -> cd3 | 
| 2013-05-03 00:00:00 | admin | set | status: dr -> drwp | 
| 2012-11-03 00:00:00 | admin | set | messages: + msg4164 | 
| 2012-11-03 00:00:00 | admin | set | status: ready -> dr | 
| 2012-09-24 00:00:00 | admin | set | status: drafting -> ready | 
| 2012-02-27 00:00:00 | admin | set | messages: + msg3774 | 
| 2012-02-27 00:00:00 | admin | set | status: open -> drafting | 
| 2011-09-29 00:00:00 | admin | create | |