1 // { dg-do assemble  }
2 // GROUPS passed scoping
3 // This is fixed when NEW_CLASS_SCOPING is on.
4 
5 template<class T>
6 class ArrayG {
7 public:
8     ArrayG();
9 protected:
10     const unsigned INITIAL;
11     T* array;
12 };
13 
14 template<class T>
ArrayG()15 ArrayG<T>::ArrayG():
16 array(new T[INITIAL])
17 { }
18 
19 struct X {
20     struct Correspondence {
21 	int i;
22     };
23 
24     void fill(ArrayG<Correspondence>& a);
25 };
26