[libcxx-commits] [PATCH] D138307: [libc++] Remove default definition of std::char_traits
Louis Dionne via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Nov 21 10:52:35 PST 2022
ldionne added a comment.
In D138307#3941734 <https://reviews.llvm.org/D138307#3941734>, @tahonermann wrote:
> I'm concerned that this change will break "working" code. While the standard does not specify specializations for `signed char` and `unsigned char`, it isn't hard to find cases of people using `basic_string<unsigned char>`. I didn't look hard, but it looks like Emscripten would be broken by this change based on https://github.com/emscripten-core/emscripten/issues/7362.
>
> All major compilers appear to "support" specializations for `signed char` and `unsigned char`: https://godbolt.org/z/h3xG7T48T. There is an old paper that argues for standardizing such specializations: https://wg21.link/n1985.
I think a common ground here could be to support `signed char` and `unsigned char` explicitly as extensions. But do we agree that `std::string<int>` makes no sense and if it breaks some users that's fine?
Also, would you have an appetite for reviving https://wg21.link/n1985?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D138307/new/
https://reviews.llvm.org/D138307
More information about the libcxx-commits
mailing list