Is this change in overload resolution between Clang 3.5 and 3.6 correct or a bug?

I believe Clang is correct to produce this error:

The [temp.inst] section of the C++ standard in paragraph 10 says:

If a function template or a member function template specialization is
used in a way that involves overload resolution, a declaration of the
specialization is implicitly instantiated (14.8.3).

Forming the implicit conversion sequence necessary to rank the overload candidates for the call to TYPE_VALUE’s constructor requires the instantiation of the conversion operator. And the use of an incomplete type parameter to the trait doesn’t form an invalid type, so this isn’t a substitution failure, it is a hard error.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)