https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68348
--- Comment #3 from Marek Polacek <mpolacek at gcc dot gnu.org> --- A bit shorter: struct C { constexpr C() : w(), x(), y() {} constexpr double fn() const noexcept; double w; double x; double y; }; constexpr double C::fn() const noexcept { return w; } C foo() { C c; c.fn (); return c; }