PR c++/81917 - ICE with void_t and partial specialization.
[official-gcc.git] / gcc / testsuite / g++.dg / template / using16.C
blob96ef8204d4f29cf52d315d221601243070c40617
1 // { dg-do compile }
3 template <class T>
4 struct A
6     typedef T type;
7 };
9 template <class T>
10 struct B
12     class type
13     {
14         type(); // { dg-message "private" }
15     };
18 template <class T>
19 struct C : A<T>, B<T>
21     using typename B<T>::type;
23     void f()
24     {
25         type j; // { dg-error "context" }
26     }
29 template class C<int>; // { dg-message "required" }
31 template <class T>
32 struct D
34     typedef T type;
37 template <class T>
38 class E : D<T>
40     using typename D<T>::type; // { dg-message "previous" }
41     using typename D<T>::type; // { dg-error "redeclaration" }