llvm-project
llvm-project copied to clipboard
`basic_string::substr()` passes the allocator to the newly created string
libc++ is currently non-conforming in basic_string::substr()
, because it returns basic_string(*this, __pos, __n, __alloc())
while the standard says it should return basic_string(*this, __pos, __n)
. See https://wg21.link/LWG3752.