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