On Tue, Apr 3, 2018 at 3:54 AM, Alexandre Oliva <aol...@redhat.com> wrote:
> On Apr  2, 2018, Jason Merrill <ja...@redhat.com> wrote:
>
>> On Sat, Mar 31, 2018 at 4:23 AM, Alexandre Oliva <aol...@redhat.com> wrote:
>>> On Mar 30, 2018, Jason Merrill <ja...@redhat.com> wrote:
>>> template <typename T>
>>> void foo(T t) {
>>>   typename T::template C<auto> u = t;
>>>   T::template C<auto> (t);
>>>   T::template C<auto>::f (t, u);
>>> }
>
>> We should be able to distinguish those cases based on tag_type.

>[...]
> And then, while we're parsing "template C<auto>", we haven't yet reached
> the '::' after the closing angle bracket that would tell us to regard
> the id necessarily as a typename, so I don't see how we'd get a
> scope_type in tag_type for the third case.

Ah, good point.  Then perhaps put the new function in pt.c and also
call it from tsubst_copy_and_build?

Jason

Reply via email to