diff --git a/libcxx/docs/Status/RangesPaper.csv b/libcxx/docs/Status/RangesPaper.csv --- a/libcxx/docs/Status/RangesPaper.csv +++ b/libcxx/docs/Status/RangesPaper.csv @@ -32,8 +32,8 @@ | `ranges::destroy `_ | `ranges::destroy_at `_ | `ranges::destroy_n `_",[special.mem.concepts],Konstantin Varlamov,✅ -`[strings] `_,Adds begin/end and updates const_iterator.,[iterator.concepts],Unassigned,Not started -`[views.span] `_,Same as [strings],[iterator.concepts],Unassigned,Not started +`[strings] `_,`Adds begin/end and updates const_iterator. `_,[iterator.concepts],Konstantin Varlamov,✅ +`[views.span] `_,`Same as [strings] `_,[iterator.concepts],Konstantin Varlamov,✅ `[iterator.cust.move] `_,`ranges::iter_move `_,,Zoe Carver,✅ `[iterator.cust.swap] `_,`ranges::iter_swap `_,iter_value_t,Zoe Carver,✅ `[iterator.concepts] `_,"| `indirectly_readable `_ diff --git a/libcxx/test/std/containers/views/span.iterators/iterator_concept_conformance.compile.pass.cpp b/libcxx/test/std/containers/views/span.iterators/iterator_concept_conformance.compile.pass.cpp --- a/libcxx/test/std/containers/views/span.iterators/iterator_concept_conformance.compile.pass.cpp +++ b/libcxx/test/std/containers/views/span.iterators/iterator_concept_conformance.compile.pass.cpp @@ -14,12 +14,14 @@ #include #include +#include "test_macros.h" using iterator = std::span::iterator; using reverse_iterator = std::span::reverse_iterator; using value_type = int; static_assert(std::contiguous_iterator); +LIBCPP_STATIC_ASSERT(std::__is_cpp17_random_access_iterator::value); static_assert(std::indirectly_writable); static_assert(std::sentinel_for); static_assert(!std::sentinel_for); diff --git a/libcxx/test/std/strings/string.view/string.view.iterators/iterator_concept_conformance.compile.pass.cpp b/libcxx/test/std/strings/string.view/string.view.iterators/iterator_concept_conformance.compile.pass.cpp --- a/libcxx/test/std/strings/string.view/string.view.iterators/iterator_concept_conformance.compile.pass.cpp +++ b/libcxx/test/std/strings/string.view/string.view.iterators/iterator_concept_conformance.compile.pass.cpp @@ -15,12 +15,15 @@ #include +#include "test_macros.h" + using iterator = std::string_view::iterator; using const_iterator = std::string_view::const_iterator; using reverse_iterator = std::string_view::reverse_iterator; using const_reverse_iterator = std::string_view::const_reverse_iterator; static_assert(std::contiguous_iterator); +LIBCPP_STATIC_ASSERT(std::__is_cpp17_random_access_iterator::value); static_assert(!std::indirectly_writable); static_assert(std::sentinel_for); static_assert(std::sentinel_for); @@ -35,6 +38,7 @@ static_assert(!std::indirectly_swappable); static_assert(std::contiguous_iterator); +LIBCPP_STATIC_ASSERT(std::__is_cpp17_random_access_iterator::value); static_assert(!std::indirectly_writable); static_assert(std::sentinel_for); static_assert(std::sentinel_for);