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
Remove basic_string<unsigned char> from embind (#23070)
Only `char`, `wchar`, `char8`, `char16`, and `char32` are valid
specializations for `std::basic_string`:
https://en.cppreference.com/w/cpp/string/basic_string
But libc++ had a base template for `basic_string` that allowed any type
to be passed for a long time. It looks there have been several attempts
to remove this after which they restored it due to complaints, in
chronological order:
llvm/llvm-project@aeecef0llvm/llvm-project@08a0fafllvm/llvm-project@e30a148llvm/llvm-project#66153llvm/llvm-project#72694
The last one, llvm/llvm-project#72694,
eventually removed it. So `std::basic_string<unsigned char>` is not
allowed anymore. This removes all uses of `std::basic_string<unsigned
char>` from embind.
This needs to be done to update libc++ to LLVM 19 (#22994). I'm
uploading this as a separate PR because this removes a functionality
from embind.
0 commit comments