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.