https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97328
--- Comment #4 from Patrick Palka <ppalka at gcc dot gnu.org> --- (In reply to Marek Polacek from comment #3) > (In reply to Patrick Palka from comment #2) > > When 'storage' is a struct instead of a union, i.e. for the testcase > > > > template <typename T, int N> > > struct vector { > > struct storage { > > T t; > > constexpr storage() {} > > } data[N]; > > }; > > > > constexpr auto foo() { > > vector<char, 8> i; > > return i; > > } > > auto f = foo(); > > > > we started to ICE earlier, since r279019: > > > > PR c++/91353 - P1331R2: Allow trivial default init in constexpr contexts. > > Ah. Feel free to hand this PR to me then (that is, if you don't want it > anymore). I have a fix, I think :) Will post it to the ML soon.