Skip to content

Conversation

@StephanTLavavej
Copy link
Member

Fixes #62.

This merges feature/spaceship into main with one additional commit. That commit fixes the default template argument of take_view::sentinel to follow WG21-N4878 [range.take.sentinel], which was the only remaining work for Clause 24 Ranges. (Note that take_while_view::sentinel was already doing the right thing.)

I plan to mark this feature as complete after merging this PR, with a small amount of remaining work tracked by various issues:

This feature sets a record for the largest number of contributors in the STL's history! (The previous record-holder was C++17 <filesystem>.) Thanks to everyone who implemented spaceship machinery:

🚀 🛸 🪐

StephanTLavavej and others added 30 commits July 20, 2020 18:40
feature/spaceship: Merge microsoft#1049 (fix <compare> and simplify guards)
Co-authored-by: Casey Carter <[email protected]>
Co-authored-by: Stephan T. Lavavej <[email protected]>
feature/spaceship: Merge VS 2019 16.8 Preview 1 toolset update
feature/spaceship: Merge Standard_D16as_v4 VM update
Co-authored-by: Casey Carter <[email protected]>
Co-authored-by: Curtis Bezault <[email protected]>
feature/spaceship: Merge fix for test timing assumption
feature/spaceship: Merge VS 2019 16.8 Preview 2 toolset update
Co-authored-by: Ahana Mukhopadhyay <[email protected]>
Co-authored-by: Casey Carter <[email protected]>
Co-authored-by: Stephan T. Lavavej <[email protected]>
feature/spaceship: Merge toolset update
feature/spaceship: Merge CI changes to pick up microsoft#1337. This is a clean merge with no additional edits.
feature/spaceship: Merge toolset update
feature/spaceship: Merge toolset update
feature/spaceship: Merge CI update
NOTE: there was much complicated conflict resolution in `<vector>` to reconcile the work on this branch with the `constexpr vector` work from main.
StephanTLavavej and others added 12 commits February 17, 2021 19:16
Co-authored-by: Anju Del Moral Gonzalez <[email protected]>
Co-authored-by: Casey Carter <[email protected]>
Co-authored-by: Stephan T. Lavavej <[email protected]>
feature/spaceship: Merge duration/time_point tests from main
Co-authored-by: Ahana Mukhopadhyay <[email protected]>
Co-authored-by: Casey Carter <[email protected]>
Co-authored-by: Curtis Bezault <[email protected]>
Co-authored-by: Stephan T. Lavavej <[email protected]>
@StephanTLavavej StephanTLavavej added cxx20 C++20 feature spaceship C++20 operator <=> labels Feb 23, 2021
@StephanTLavavej StephanTLavavej requested a review from a team as a code owner February 23, 2021 01:42
@StephanTLavavej StephanTLavavej mentioned this pull request Feb 23, 2021
@StephanTLavavej
Copy link
Member Author

Mirrored to internal MSVC-PR-306138 after I had a successful x86chk build and stl compiler test run.

@AnjuDel
Copy link
Member

AnjuDel commented Feb 23, 2021

I checked that all my work was correctly merged and it looks it is, with a small minor exception.

Copy link
Contributor

@mnatsuhara mnatsuhara left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only comments I could find were pathetic whitespace issues - feel free to ignore to avoid rerunning the tests! A monumental amount of work - looks good to me!

_NODISCARD strong_ordering operator<=>(const shared_ptr<_Ty1>& _Left, const shared_ptr<_Ty2>& _Right) noexcept {
return _Left.get() <=> _Right.get();
}

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just so I can comment on something, do we need this blank line here? :)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll remove these lines in a followup PR 😺

_NODISCARD strong_ordering operator<=>(const shared_ptr<_Ty>& _Left, nullptr_t) noexcept {
return _Left.get() <=> static_cast<typename shared_ptr<_Ty>::element_type*>(nullptr);
}

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ditto!

Suggested change

@mnatsuhara mnatsuhara removed their assignment Feb 24, 2021
@StephanTLavavej StephanTLavavej merged commit b52c379 into microsoft:main Feb 25, 2021
@StephanTLavavej StephanTLavavej deleted the land_the_spaceship branch February 25, 2021 00:20
@StephanTLavavej
Copy link
Member Author

Thanks everyone - we're now a warp-capable civilization!

🚀 🛸 ☄️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cxx20 C++20 feature spaceship C++20 operator <=>

Projects

None yet

Development

Successfully merging this pull request may close these issues.

P1614R2 Adding Spaceship <=> To The Library

9 participants