On 07/10/2015 07:26 AM, Paolo Carlini wrote:
I have an old question about an issue which I noticed a while ago, and for example clearly shows up in c++/62085: in a few places in pt.c we call complete_type from functions getting a tsubst_flags_t. Clearly, complete_type often calls instantiate_class_template_1, which, in turn, often calls tsubst with an hard-coded tf_error. Thus possible errors coming from an initial tf_none.
Yep. Those errors are outside the "immediate context" of the substitution, so SFINAE doesn't apply to them. In C++ we don't back out of a class instantiation.
Jason