On 08/08/2013 03:54 PM, Paolo Carlini wrote:
the really interesting one is decltype28.C, which we don't reject anymore, we simply accept it. What is happening is that the overload which leads to excessive template instantiation depth is SFINAE-ed away and the other one "wins"! Thus, this is the core of my message: it seems that we behave wrt this issue - SFINAE vs template instantiation depth - in a different way vs current clang++ and icc: we produce hard error messages in SFINAE contexts. Is that intended?
Yes, that is intended. Changing that could mean that the meaning of code depends on what max depth the user selected.
Jason