[Bug c++/46394] [C++0X] [4.6 Regression] no matching function with default template parameter
dodji at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Jan 4 15:33:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46394
--- Comment #4 from Dodji Seketeli <dodji at gcc dot gnu.org> 2011-01-04 15:32:53 UTC ---
I think what's happening is, at some point during template parameters
fixup (to build proper canonical types for dependent parms) we try to
substitute the U template parameter pack [and the the remaining unamed
template parm] into the pattern of the default argument
std::remote_reference<U>::type... . The TYPENAME_TYPE case of tsubst then
logically calls tsubst_aggr_type on 'std::remote_reference<U>'. That
later function in turn calls lookup_template_class with
std::remote_reference as argument to D1 and a TYPE_PACK_EXPANSION
built for the template parameter U (by template_parm_to_arg) and
argument to ARGLIST.
At that point we are trying to match a template argument which is
a pack expansion with a template parameter that is not a
parameter pack - and we hit
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35722.
So I think I am going to focus on that bug and see.
More information about the Gcc-bugs
mailing list