Commit 3f91db69 by Jason Merrill Committed by Jason Merrill

re PR c++/70141 (template parameter not deducible in partial specialization of…

re PR c++/70141 (template parameter not deducible in partial specialization of template inside template)

	PR c++/70141
	* pt.c (for_each_template_parm_r): Always walk into TYPENAME_TYPE.

From-SVN: r234228
parent 82b1c550
2016-03-15 Jason Merrill <jason@redhat.com>
PR c++/70141
* pt.c (for_each_template_parm_r): Always walk into TYPENAME_TYPE.
2016-03-14 Casey Carter <casey@carter.net>
Jason Merrill <jason@redhat.com>
......
......@@ -8851,8 +8851,9 @@ for_each_template_parm_r (tree *tp, int *walk_subtrees, void *d)
break;
case TYPENAME_TYPE:
if (!fn)
WALK_SUBTREE (TYPENAME_TYPE_FULLNAME (t));
/* A template-id in a TYPENAME_TYPE might be a deduced context after
partial instantiation. */
WALK_SUBTREE (TYPENAME_TYPE_FULLNAME (t));
break;
case CONSTRUCTOR:
......
// PR c++/70141
template <typename T>
struct outer
{
template <typename U>
struct inner
{
};
};
template <typename T>
struct is_inner_for
{
template <typename Whatever>
struct predicate;
template <typename U>
struct predicate<typename outer<T>::template inner<U> >
{
};
};
is_inner_for<int>::predicate<outer<int>::inner<double> > p;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment