------- Comment #20 from jason at gcc dot gnu dot org 2009-07-27 05:46 ------- Actually, no. It seems that T<X::C> being invalid doesn't result in a SFINAE situation.
14.9.2/8: Only invalid types and expressions in the immediate context of the function type and its template parameter types can result in a deduction failure. [ Note: The evaluation of the substituted types and expressions can result in side effects such as the instantiation of class template specializations and/or function template specializations, the generation of implicitly-defined functions, etc. Such side effects are not in the immediate context and can result in the program being ill-formed. end note ] -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40497