Skip to content
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

P1614R2 Adding Spaceship <=> To The Library #62

Closed
StephanTLavavej opened this issue Sep 6, 2019 · 1 comment · Fixed by #1678
Closed

P1614R2 Adding Spaceship <=> To The Library #62

StephanTLavavej opened this issue Sep 6, 2019 · 1 comment · Fixed by #1678
Labels
cxx20 C++20 feature fixed Something works now, yay!
Milestone

Comments

@StephanTLavavej
Copy link
Member

StephanTLavavej commented Sep 6, 2019

P1614R2 Adding Spaceship <=> To The Library

LWG-3324 Special-case std::strong/weak/partial_order for pointers
LWG-3347 std::pair<T, U> now requires T and U to be less-than-comparable
LWG-3350 Simplify return type of lexicographical_compare_three_way
LWG-3354 has_strong_structural_equality has a meaningless definition
LWG-3380 common_type and comparison categories
LWG-3426 operator<=>(const unique_ptr<T, D>&, nullptr_t) can't get no satisfaction
LWG-3427 operator<=>(const shared_ptr<T>&, nullptr_t) definition ill-formed
LWG-3432 Missing requirement for comparison_category

Feature-test macro as of WG21-N4842 (note that WG21-P1614 proposed __cpp_lib_spaceship which was removed by WG21-P1902. Instead, __cpp_lib_three_way_comparison which was added for #64 WG21-P0768 "Library Support For The Spaceship Comparison Operator <=>" is being increased):
#define __cpp_lib_three_way_comparison 201907L

@StephanTLavavej StephanTLavavej added the cxx20 C++20 feature label Sep 6, 2019
@StephanTLavavej StephanTLavavej changed the title P1614R2 Adding <=> To The Library P1614R2 Adding Spaceship <=> To The Library Nov 27, 2019
@CaseyCarter
Copy link
Member

CaseyCarter commented Jan 24, 2020

NOTE: This proposal's changes to common_type are unnecessary after application of P1959R0 "Remove std::weak_equality and std::strong_equality". We have test coverage to validate this, and have submitted LWG-3380 to revert P1614R2's change to common_type.

@StephanTLavavej StephanTLavavej added fixed Something works now, yay! and removed work in progress labels Feb 25, 2021
@StephanTLavavej StephanTLavavej removed their assignment Feb 25, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cxx20 C++20 feature fixed Something works now, yay!
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants