Please consider the example here:
Clang up to version 3.9.1 and all recent versions of other compilers accept the code. Clang version >=4.0 fails.
If you move the definition of AccessorPointersT to Foo, it works again and the partial specialization is deduced correctly.
Is this a bug or a pedantic interpretation of the c++ standard by clang?
Best Olaf
Please consider the example here:
https://godbolt.org/z/4AwrXz
Clang up to version 3.9.1 and all recent versions of other compilers accept the code. Clang version >=4.0 fails.
If you move the definition of AccessorPointersT to Foo, it works again and the partial specialization is deduced correctly.
Is this a bug or a pedantic interpretation of the c++ standard by clang?
I am guessing it is a bug having to do with the template from whose specialization’s arguments we should deduce from being dependent.