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.
Jason