diff --git a/libcxx/test/std/containers/associative/map/iterator_concept_conformance.compile.pass.cpp b/libcxx/test/std/containers/associative/map/iterator_concept_conformance.compile.pass.cpp --- a/libcxx/test/std/containers/associative/map/iterator_concept_conformance.compile.pass.cpp +++ b/libcxx/test/std/containers/associative/map/iterator_concept_conformance.compile.pass.cpp @@ -21,7 +21,7 @@ using const_iterator = std::map::const_iterator; using reverse_iterator = std::map::reverse_iterator; using const_reverse_iterator = std::map::const_reverse_iterator; -using value_type = iterator::value_type; +using value_type = std::pair; static_assert(std::indirectly_readable); static_assert(!std::indirectly_writable); diff --git a/libcxx/test/std/containers/associative/multimap/iterator_concept_conformance.compile.pass.cpp b/libcxx/test/std/containers/associative/multimap/iterator_concept_conformance.compile.pass.cpp --- a/libcxx/test/std/containers/associative/multimap/iterator_concept_conformance.compile.pass.cpp +++ b/libcxx/test/std/containers/associative/multimap/iterator_concept_conformance.compile.pass.cpp @@ -21,7 +21,7 @@ using const_iterator = std::multimap::const_iterator; using reverse_iterator = std::multimap::reverse_iterator; using const_reverse_iterator = std::multimap::const_reverse_iterator; -using value_type = iterator::value_type; +using value_type = std::pair; static_assert(std::indirectly_readable); static_assert(!std::indirectly_writable); diff --git a/libcxx/test/std/containers/associative/multiset/iterator_concept_conformance.compile.pass.cpp b/libcxx/test/std/containers/associative/multiset/iterator_concept_conformance.compile.pass.cpp --- a/libcxx/test/std/containers/associative/multiset/iterator_concept_conformance.compile.pass.cpp +++ b/libcxx/test/std/containers/associative/multiset/iterator_concept_conformance.compile.pass.cpp @@ -21,7 +21,7 @@ using const_iterator = std::multiset::const_iterator; using reverse_iterator = std::multiset::reverse_iterator; using const_reverse_iterator = std::multiset::const_reverse_iterator; -using value_type = iterator::value_type; +using value_type = int; static_assert(std::indirectly_readable); static_assert(!std::indirectly_writable); diff --git a/libcxx/test/std/containers/associative/set/iterator_concept_conformance.compile.pass.cpp b/libcxx/test/std/containers/associative/set/iterator_concept_conformance.compile.pass.cpp --- a/libcxx/test/std/containers/associative/set/iterator_concept_conformance.compile.pass.cpp +++ b/libcxx/test/std/containers/associative/set/iterator_concept_conformance.compile.pass.cpp @@ -21,7 +21,7 @@ using const_iterator = std::set::const_iterator; using reverse_iterator = std::set::reverse_iterator; using const_reverse_iterator = std::set::const_reverse_iterator; -using value_type = iterator::value_type; +using value_type = int; static_assert(std::indirectly_readable); static_assert(!std::indirectly_writable); diff --git a/libcxx/test/std/containers/sequences/deque/iterator_concept_conformance.compile.pass.cpp b/libcxx/test/std/containers/sequences/deque/iterator_concept_conformance.compile.pass.cpp --- a/libcxx/test/std/containers/sequences/deque/iterator_concept_conformance.compile.pass.cpp +++ b/libcxx/test/std/containers/sequences/deque/iterator_concept_conformance.compile.pass.cpp @@ -21,7 +21,7 @@ using const_iterator = std::deque::const_iterator; using reverse_iterator = std::deque::reverse_iterator; using const_reverse_iterator = std::deque::const_reverse_iterator; -using value_type = iterator::value_type; +using value_type = int; static_assert(std::indirectly_readable); static_assert(std::indirectly_writable); diff --git a/libcxx/test/std/containers/sequences/forwardlist/forwardlist.iter/iterator_concept_conformance.compile.pass.cpp b/libcxx/test/std/containers/sequences/forwardlist/forwardlist.iter/iterator_concept_conformance.compile.pass.cpp --- a/libcxx/test/std/containers/sequences/forwardlist/forwardlist.iter/iterator_concept_conformance.compile.pass.cpp +++ b/libcxx/test/std/containers/sequences/forwardlist/forwardlist.iter/iterator_concept_conformance.compile.pass.cpp @@ -19,7 +19,7 @@ using iterator = std::forward_list::iterator; using const_iterator = std::forward_list::const_iterator; -using value_type = iterator::value_type; +using value_type = int; static_assert(std::indirectly_readable); static_assert(std::indirectly_writable); diff --git a/libcxx/test/std/containers/sequences/list/iterator_concept_conformance.compile.pass.cpp b/libcxx/test/std/containers/sequences/list/iterator_concept_conformance.compile.pass.cpp --- a/libcxx/test/std/containers/sequences/list/iterator_concept_conformance.compile.pass.cpp +++ b/libcxx/test/std/containers/sequences/list/iterator_concept_conformance.compile.pass.cpp @@ -21,7 +21,7 @@ using const_iterator = std::list::const_iterator; using reverse_iterator = std::list::reverse_iterator; using const_reverse_iterator = std::list::const_reverse_iterator; -using value_type = iterator::value_type; +using value_type = int; static_assert(std::indirectly_readable); static_assert(std::indirectly_writable); diff --git a/libcxx/test/std/containers/sequences/vector.bool/iterator_concept_conformance.compile.pass.cpp b/libcxx/test/std/containers/sequences/vector.bool/iterator_concept_conformance.compile.pass.cpp --- a/libcxx/test/std/containers/sequences/vector.bool/iterator_concept_conformance.compile.pass.cpp +++ b/libcxx/test/std/containers/sequences/vector.bool/iterator_concept_conformance.compile.pass.cpp @@ -21,7 +21,7 @@ using const_iterator = std::vector::const_iterator; using reverse_iterator = std::vector::reverse_iterator; using const_reverse_iterator = std::vector::const_reverse_iterator; -using value_type = iterator::value_type; +using value_type = bool; static_assert(std::indirectly_readable); static_assert(!std::indirectly_writable); diff --git a/libcxx/test/std/containers/sequences/vector/iterator_concept_conformance.compile.pass.cpp b/libcxx/test/std/containers/sequences/vector/iterator_concept_conformance.compile.pass.cpp --- a/libcxx/test/std/containers/sequences/vector/iterator_concept_conformance.compile.pass.cpp +++ b/libcxx/test/std/containers/sequences/vector/iterator_concept_conformance.compile.pass.cpp @@ -21,7 +21,7 @@ using const_iterator = std::vector::const_iterator; using reverse_iterator = std::vector::reverse_iterator; using const_reverse_iterator = std::vector::const_reverse_iterator; -using value_type = iterator::value_type; +using value_type = int; static_assert(std::indirectly_readable); static_assert(std::indirectly_writable); diff --git a/libcxx/test/std/containers/unord/unord.map/iterator_concept_conformance.compile.pass.cpp b/libcxx/test/std/containers/unord/unord.map/iterator_concept_conformance.compile.pass.cpp --- a/libcxx/test/std/containers/unord/unord.map/iterator_concept_conformance.compile.pass.cpp +++ b/libcxx/test/std/containers/unord/unord.map/iterator_concept_conformance.compile.pass.cpp @@ -21,7 +21,7 @@ using const_iterator = std::unordered_map::const_iterator; using local_iterator = std::unordered_map::local_iterator; using const_local_iterator = std::unordered_map::const_local_iterator; -using value_type = iterator::value_type; +using value_type = std::pair; static_assert(std::indirectly_readable); static_assert(!std::indirectly_writable); diff --git a/libcxx/test/std/containers/unord/unord.multimap/iterator_concept_conformance.compile.pass.cpp b/libcxx/test/std/containers/unord/unord.multimap/iterator_concept_conformance.compile.pass.cpp --- a/libcxx/test/std/containers/unord/unord.multimap/iterator_concept_conformance.compile.pass.cpp +++ b/libcxx/test/std/containers/unord/unord.multimap/iterator_concept_conformance.compile.pass.cpp @@ -21,7 +21,7 @@ using const_iterator = std::unordered_multimap::const_iterator; using local_iterator = std::unordered_multimap::local_iterator; using const_local_iterator = std::unordered_multimap::const_local_iterator; -using value_type = iterator::value_type; +using value_type = std::pair; static_assert(std::indirectly_readable); static_assert(!std::indirectly_writable); diff --git a/libcxx/test/std/containers/unord/unord.multiset/iterator_concept_conformance.compile.pass.cpp b/libcxx/test/std/containers/unord/unord.multiset/iterator_concept_conformance.compile.pass.cpp --- a/libcxx/test/std/containers/unord/unord.multiset/iterator_concept_conformance.compile.pass.cpp +++ b/libcxx/test/std/containers/unord/unord.multiset/iterator_concept_conformance.compile.pass.cpp @@ -21,7 +21,7 @@ using const_iterator = std::unordered_multiset::const_iterator; using local_iterator = std::unordered_multiset::local_iterator; using const_local_iterator = std::unordered_multiset::const_local_iterator; -using value_type = iterator::value_type; +using value_type = int; static_assert(std::indirectly_readable); static_assert(!std::indirectly_writable); diff --git a/libcxx/test/std/containers/unord/unord.set/iterator_concept_conformance.compile.pass.cpp b/libcxx/test/std/containers/unord/unord.set/iterator_concept_conformance.compile.pass.cpp --- a/libcxx/test/std/containers/unord/unord.set/iterator_concept_conformance.compile.pass.cpp +++ b/libcxx/test/std/containers/unord/unord.set/iterator_concept_conformance.compile.pass.cpp @@ -21,7 +21,7 @@ using const_iterator = std::unordered_set::const_iterator; using local_iterator = std::unordered_set::local_iterator; using const_local_iterator = std::unordered_set::const_local_iterator; -using value_type = iterator::value_type; +using value_type = int; static_assert(std::indirectly_readable); static_assert(!std::indirectly_writable); 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 @@ -19,7 +19,7 @@ using iterator = std::span::iterator; using reverse_iterator = std::span::reverse_iterator; -using value_type = iterator::value_type; +using value_type = int; static_assert(std::indirectly_readable); static_assert(std::indirectly_writable); diff --git a/libcxx/test/std/input.output/filesystems/class.directory_iterator/iterator_concept_conformance.compile.pass.cpp b/libcxx/test/std/input.output/filesystems/class.directory_iterator/iterator_concept_conformance.compile.pass.cpp --- a/libcxx/test/std/input.output/filesystems/class.directory_iterator/iterator_concept_conformance.compile.pass.cpp +++ b/libcxx/test/std/input.output/filesystems/class.directory_iterator/iterator_concept_conformance.compile.pass.cpp @@ -17,8 +17,10 @@ #include +using value_type = fs::directory_entry; + static_assert(std::indirectly_readable); -static_assert(!std::indirectly_writable); +static_assert(!std::indirectly_writable); static_assert(std::weakly_incrementable); static_assert(!std::incrementable); static_assert(std::input_or_output_iterator); @@ -26,8 +28,7 @@ static_assert(!std::sized_sentinel_for); static_assert(std::indirectly_readable); -static_assert( - !std::indirectly_writable); +static_assert(!std::indirectly_writable); static_assert(std::weakly_incrementable); static_assert(!std::incrementable); static_assert(std::input_or_output_iterator); diff --git a/libcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/incrementable.traits/iter_difference_t.pass.cpp b/libcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/incrementable.traits/iter_difference_t.pass.cpp --- a/libcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/incrementable.traits/iter_difference_t.pass.cpp +++ b/libcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/incrementable.traits/iter_difference_t.pass.cpp @@ -37,7 +37,7 @@ static_assert(check_iter_difference_t()); static_assert(check_iter_difference_t()); -static_assert(check_iter_difference_t::iterator, std::vector::iterator::difference_type>()); +static_assert(check_iter_difference_t::iterator, std::ptrdiff_t>()); struct int_subtraction { friend int operator-(int_subtraction, int_subtraction) noexcept; diff --git a/libcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/readable.traits/iter_value_t.pass.cpp b/libcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/readable.traits/iter_value_t.pass.cpp --- a/libcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/readable.traits/iter_value_t.pass.cpp +++ b/libcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/readable.traits/iter_value_t.pass.cpp @@ -39,8 +39,8 @@ static_assert(check_iter_value_t()); static_assert(check_iter_value_t()); static_assert(check_iter_value_t()); -static_assert(check_iter_value_t::iterator, std::vector::iterator::value_type>()); -static_assert(check_iter_value_t, std::shared_ptr::element_type>()); +static_assert(check_iter_value_t::iterator, int>()); +static_assert(check_iter_value_t, int>()); struct both_members { using value_type = double; diff --git a/libcxx/test/std/strings/basic.string/string.iterators/iterator_concept_conformance.compile.pass.cpp b/libcxx/test/std/strings/basic.string/string.iterators/iterator_concept_conformance.compile.pass.cpp --- a/libcxx/test/std/strings/basic.string/string.iterators/iterator_concept_conformance.compile.pass.cpp +++ b/libcxx/test/std/strings/basic.string/string.iterators/iterator_concept_conformance.compile.pass.cpp @@ -21,7 +21,7 @@ using const_iterator = std::string::const_iterator; using reverse_iterator = std::string::reverse_iterator; using const_reverse_iterator = std::string::const_reverse_iterator; -using value_type = iterator::value_type; +using value_type = char; static_assert(std::indirectly_readable); static_assert(std::indirectly_writable);