https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113021
--- Comment #2 from Miro Palmu <miro.palmu at helsinki dot fi> --- (In reply to Andrew Pinski from comment #1) > Confirmed. We should reduce this to remove the include file too ... Here is somewhat reduced: ``` #include <memory> auto alloc = std::allocator<int>{}; constexpr auto n = 3; struct vec { int* data; constexpr vec() { this->data = alloc.allocate(n); } constexpr ~vec() { alloc.deallocate(this->data, n); } }; struct A { vec v; int a; }; consteval auto foo() { A temp1{{}, 42}; // This compiles fine const A tmp2{{}, 42}; // This does not } int main() { foo(); } ```