-
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
Removing weak_equality And strong_equality #381
Removing weak_equality And strong_equality #381
Conversation
We need to ask compiler maintainers if they are prepared for such a change. |
Can we just run the tests and see if C1XX, Clang, etc. experience failures due to this removal? |
As long as that includes their tests, sure. But there are Core wording changes in that paper, and the Core features look for those names we remove here, so that seems unlikely... |
Clang doesn't yet support |
I'm told the compiler will crash and burn on any use of Ideally this will happen in time for VS 16.5p2, and we'll be able to complete the removals once it's released. |
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.
Updated with changes from the integration with the compiler.
- We decided to have the compiler predefine a macro (
__cpp_impl_p1959r0
) to indicate that it won't crash and burn ifweak_equality
andstrong_equality
aren't defined. This will go away (both here and in the compiler) in a future update. - STL noticed that we could make some other drive-by cleanups while we're here.
Thanks for improving the spaceship implementation! This will ship in VS 2019 16.5 Preview 2 (it's actually the last STL feature change to be merged, so congratulations). |
Description
Partial implementation of #64
Checklist
Be sure you've read README.md and understand the scope of this repo.
If you're unsure about a box, leave it unchecked. A maintainer will help you.
_Ugly
as perhttps://eel.is/c++draft/lex.name#3.1 or there are no product code changes.
verified by an STL maintainer before automated testing is enabled on GitHub,
leave this unchecked for initial submission).
members, adding virtual functions, changing whether a type is an aggregate
or trivially copyable, etc.).
the C++ Working Draft (including any cited standards), other WG21 papers
(excluding reference implementations outside of proposed standard wording),
and LWG issues as reference material. If they were derived from a project
that's already listed in NOTICE.txt, that's fine, but please mention it.
If they were derived from any other project (including Boost and libc++,
which are not yet listed in NOTICE.txt), you must mention it here,
so we can determine whether the license is compatible and what else needs
to be done.