1 // Circular implicit declarations were causing errors
2 // { dg-do compile { target c++11 } }
3 
4 struct Ray;
5 
6 struct Vector
7 {
8   virtual void f();		// make non-trivially-copyable
9   Vector(const Ray &) ;
10 };
11 
12 struct array
13 {
14   Vector v;
15 };
16 
17 struct Ray
18 {
19   array a;
20 };
21 
22 extern Ray r1;
23 Ray r2=r1;
24