1 // PR c++/66383
2 // { dg-do compile { target c++11 } }
3 
4 namespace N1 {
5   struct B;
6 
7   struct A
8   {
9     B* b;
10     A(B* b);
11   };
12 
13   struct B
14   {
15     A a{ this };
16   };
17 
A(B * b)18   A::A(B* b): b{ b } {}
19 
foo()20   void foo()
21   {
22     auto b = B{};
23   }
24 }
25 
26 namespace N2 {
27   struct B;
28 
29   struct A
30   {
31     B* b;
32   };
33 
34   struct B
35   {
36     A a{ this };
37   };
38 
foo()39   void foo()
40   {
41     auto b = B{};
42   }
43 }
44