[PATCH] D43153: [clang] Implement P0692 "Access Checking on Specializations"

Anton Bikineev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sat Feb 10 17:55:20 PST 2018


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





More information about the cfe-commits mailing list