On 03/17/2015 10:03 PM, Paolo Carlini wrote:
Hi,
On 03/18/2015 01:11 AM, Jason Merrill wrote:
On 03/17/2015 01:09 PM, Paolo Carlini wrote:
- require_deduced_type (decl);
+ if (complain & tf_error)
+ require_deduced_type (decl);
I think we want to return false if there's a problem here so that we
don't just silently accept this in SFINAE context. So probably we
want to replace the call with an inlined form like earlier in mark_used.
Indeed, I was a bit nervous about that, should have asked... Anyway, the
below is finishing testing.
OK.
Are there other places that still need to pass complain to mark_used?
Well, if we are talking about functions getting a tsubst_flags_t and
*not* passing it down to mark_used, there are quite a few - see
attached. I didn't feel like raising the issue at this time because in
all those cases, at variance with the specific case we are changing for
the bug, the return value of mark_used is *not* checked, thus is we
suppress the errors in SFINAE context we would like to also add a check
and return early, but in general, doing that when we are *outside*
SFINAE changes what happens during error recovery, thus it seems a bit
risky fiddling with those right now...
Agreed, let's defer this until stage 1.
Jason