PR c++/81917 - ICE with void_t and partial specialization.
[official-gcc.git] / gcc / testsuite / g++.dg / template / access2.C
blob0620c10f79dc0125ed36906a1cc0a5380b531e89
1 // { dg-do compile }
3 // PR c++/5387
4 // Enforcing access of typename type.
6 template <class T> struct A {
7   typename T::X x;                      // { dg-error "this context" }
8   int f() { return T::i; }              // { dg-error "this context" }
9 };
11 class B {
12   typedef int X;                        // { dg-message "private" }
13   static int i;                         // { dg-message "private" }
16 int main()
18   A<B> ab;                              // { dg-message "required" }
19   ab.f();                               // { dg-message "required" }