https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107085
--- Comment #10 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Even more simplified:
struct X {
virtual void f();
};
struct Z : X {};
constexpr X x = X(Z());
I guess we shouldn't try to force_elide X::X(X&&) here because X is a
potentially-overlapping subobject.
