<xstring>: Restrict enabled hash specializations as required by the standard#2741
Conversation
Also move _Is_EcharT from <filesystem> to <xstring>
|
failed Same thing. I ran into the issue yesterday: #2739 (comment) template <class>
_INLINE_VAR constexpr bool _Is_EcharT = false;
template <>
_INLINE_VAR constexpr bool _Is_EcharT<char> = true;in two different cpp files gives I think you can use |
CaseyCarter
left a comment
There was a problem hiding this comment.
I agree the existing test coverage suffices.
Only specialize on char_traits<_Elem>
|
I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed. |
|
This breaks the compiler backend with: This isn't necessarily blocking (we could change the backend to use a custom hash), but it indicates that this change will be highly breaking. I think we should speculatively implement LWG-3705 "Hashability shouldn't depend on |
|
Thanks for improving conformance here and fixing these libcxx skips! 🎉 😻 ✅ |
CaseyCarter
left a comment
There was a problem hiding this comment.
For posterity: this is my late approval of STL's final changes, which are exactly how I'd planned to implement LWG-3705.
…he standard (microsoft#2741) Co-authored-by: Stephan T. Lavavej <[email protected]>
Fixes #757. Perhaps libcxx tests are enough.
I also move
_Is_EcharTto<xstring>because I think its usage may be more general.