1 // RUN: %clang_cc1 -fsyntax-only -verify %s 2 3 class X { 4 template <typename T> class Y {}; 5 }; 6 7 class A { 8 class B {}; 9 class C {}; 10 }; 11 12 // C++0x [temp.explicit] 14.7.2/11: 13 // The usual access checking rules do not apply to names used to specify 14 // explicit instantiations. 15 template class X::Y<A::B>; 16 17 // As an extension, this rule is applied to explicit specializations as well. 18 template <> class X::Y<A::C> {}; 19