// PR c++/94066
// { dg-do compile { target c++14 } }

struct A { long x; };

union U;
constexpr A foo(U *up);

union U {
  A a = foo(this); int y;
};

constexpr A foo(U *up) {
  up->y = 11;  // { dg-error "'U::a' to 'U::y'" }
  return {42};
}

extern constexpr U u = {};
