This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [C++ Patch] PR 57543


Hi,

On 05/28/2014 05:49 PM, Jason Merrill wrote:
On 05/28/2014 11:38 AM, Paolo Carlini wrote:
But unconditionally doesn't work, without doing something more. For
example for the first test, as reported: when current_class_type is set
and equal to "struct X<int>", class_of_this_parm is "struct X<
<template-parameter-1-1> >".

Right, it needs to be the substituted this parameter.

Let's remember when we had a trailing return type (probably by setting a flag in splice_late_return_type and then preserving it when we rebuild METHOD/FUNCTION_TYPEs) and if it's set, tsubst the return type after the argument types rather than before so that SFINAE consistently works in lexical order.
I see. Even not considering this issue, there are many regression if I inject for all method types. I'm afraid the issue turns out to be much more tricky than I hoped, I guess I'm going to unassign myself, for now, and work on some other pending issues in my todo. You are of course more than welcome to take it and include my additional tests in your work!

Thanks,
Paolo.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]