-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
<xstring>
: Restrict enabled hash
specializations as required by the standard
#2741
<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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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! 🎉 😻 ✅ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 <stl@nuwen.net>
Fixes #757. Perhaps libcxx tests are enough.
I also move
_Is_EcharT
to<xstring>
because I think its usage may be more general.