(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
cpp1y/
pr79937-4.C
// PR c++/79937
// { dg-do run { target c++14 } }

struct X {
  unsigned i;
  unsigned n = i;
};

X
bar (X x)
{
  return x;
}

struct Y
{
  static Y bar (Y y) { return y; }
  unsigned i;
  unsigned n = bar (Y{2,i}).n;
};

int
main ()
{
  X x { 1, bar (X{2}).n };
  if (x.n != 2)
    __builtin_abort ();

  Y y { 1 };
  if (y.n != 1)
    __builtin_abort ();
}