You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Unconditionally change std::string's alignment to 8.
Save memory by providing the allocator more freedom to allocate the most
efficient size class by dropping the alignment requirements for std::string's
pointer from 16 to 8. This changes the output of std::string::max_size,
which makes it ABI breaking.
That said, the discussion concluded that we don't care about this ABI
break and would like this change enabled universally.
The ABI break isn't one of layout or "class size", but rather the value of
"max_size()" changes, which in turn changes whether std::bad_alloc or
std::length_error is thrown for large allocations.
This change is the child of PR #68807, which enabled the change behind an ABI
flag.
0 commit comments