Implement LWG-3717 common_view::end should improve random_access_range case#3266
Implement LWG-3717 common_view::end should improve random_access_range case#3266StephanTLavavej merged 3 commits intomicrosoft:mainfrom
common_view::end should improve random_access_range case#3266Conversation
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
That was a weird error - looks like the |
|
Looking at the logs for the initial failed test run, I see that "Checkout boost-math source" was displayed as successful, but actually logged: This also affected the LLVM and google/benchmark submodule checkouts, but the microsoft/STL repo checkout succeeded. I'm not sure what could have caused this, especially with how each of the 8 VMs experienced the same thing. |
| friend constexpr bool operator==(difference_type_only_iterator, difference_type_only_iterator) = default; | ||
| friend constexpr auto operator<=>(difference_type_only_iterator, difference_type_only_iterator) = default; |
There was a problem hiding this comment.
No change requested: This is correct, but defaulting just the spaceship would be sufficient. This is WG21-N4917 [class.compare.default]/4.
| friend constexpr auto operator<=>(difference_type_only_iterator, difference_type_only_iterator) = default; | ||
|
|
||
| using iterator_concept = contiguous_iterator_tag; | ||
| using value_type = remove_cvref_t<T>; |
There was a problem hiding this comment.
No change requested: After static_assert(is_object_v<T>) which forbids references, it would be sufficient to say remove_cv_t<T>.
|
I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed. |
|
Thanks for these endless conformance improvements! ♾️ 😻 🎉 |
Fixes #3221.
Perhaps "random access iterators that only work with its difference type" is useful for conformance test and can be used elsewhere....