1 // PR c++/79937
2 // { dg-do run { target c++14 } }
3 
4 struct X {
5   unsigned i;
6   unsigned n = i;
7 };
8 
9 X
bar(X x)10 bar (X x)
11 {
12   return x;
13 }
14 
15 struct Y
16 {
barY17   static Y bar (Y y) { return y; }
18   unsigned i;
19   unsigned n = bar (Y{2,i}).n;
20 };
21 
22 int
main()23 main ()
24 {
25   X x { 1, bar (X{2}).n };
26   if (x.n != 2)
27     __builtin_abort ();
28 
29   Y y { 1 };
30   if (y.n != 1)
31     __builtin_abort ();
32 }
33