AntonBikineev added a comment. @rsmith Thanks for pointing out this example. Now I see that I misunderstood the wording. Another question is that in the provided example you say that the following line
template<typename T> A::B x<T*>; // ok! should suppress the error of accessing private A::B. But in the wording it's said that > The usual access checking rules do not apply to non-dependent names used to > specify **template arguments of the simple-template-id** of the partial > specialization. So it gave me the impression that only names used as template arguments should be exempted from checks. But here `A::B` is a non-dependent name that's part of the declaration-specifier. So is my impression wrong and names in declaration-specifiers/declarators of partial-specialiations of variable-templates should be exempted from checks as well? Thanks. Repository: rC Clang https://reviews.llvm.org/D43153 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits