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 @@ -15,6 +15,8 @@ #include +#include "test_macros.h" + using iterator = std::unordered_map::iterator; using const_iterator = std::unordered_map::const_iterator; using local_iterator = std::unordered_map::local_iterator; @@ -22,42 +24,32 @@ using value_type = std::pair; static_assert(std::forward_iterator); -static_assert(!std::bidirectional_iterator); +LIBCPP_STATIC_ASSERT(!std::bidirectional_iterator); static_assert(!std::indirectly_writable); static_assert(std::sentinel_for); static_assert(std::sentinel_for); -static_assert(!std::sentinel_for); -static_assert(!std::sentinel_for); static_assert(!std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); -static_assert(!std::sized_sentinel_for); -static_assert(!std::sized_sentinel_for); static_assert(std::indirectly_movable*>); static_assert(!std::indirectly_movable_storable*>); static_assert(!std::indirectly_swappable); static_assert(std::forward_iterator); -static_assert(!std::bidirectional_iterator); +LIBCPP_STATIC_ASSERT(!std::bidirectional_iterator); static_assert(!std::indirectly_writable); static_assert(std::sentinel_for); static_assert(std::sentinel_for); -static_assert(!std::sentinel_for); -static_assert(!std::sentinel_for); static_assert(!std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); -static_assert(!std::sized_sentinel_for); -static_assert(!std::sized_sentinel_for); +static_assert(std::indirectly_movable*>); +static_assert(!std::indirectly_movable_storable*>); static_assert(!std::indirectly_swappable); static_assert(std::forward_iterator); -static_assert(!std::bidirectional_iterator); +LIBCPP_STATIC_ASSERT(!std::bidirectional_iterator); static_assert(!std::indirectly_writable); -static_assert(!std::sentinel_for); -static_assert(!std::sentinel_for); static_assert(std::sentinel_for); static_assert(std::sentinel_for); -static_assert(!std::sized_sentinel_for); -static_assert(!std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); static_assert(std::indirectly_movable*>); @@ -65,14 +57,12 @@ static_assert(!std::indirectly_swappable); static_assert(std::forward_iterator); -static_assert(!std::bidirectional_iterator); +LIBCPP_STATIC_ASSERT(!std::bidirectional_iterator); static_assert(!std::indirectly_writable); -static_assert(!std::sentinel_for); -static_assert(!std::sentinel_for); static_assert(std::sentinel_for); static_assert(std::sentinel_for); -static_assert(!std::sized_sentinel_for); -static_assert(!std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); +static_assert(std::indirectly_movable*>); +static_assert(!std::indirectly_movable_storable*>); static_assert(!std::indirectly_swappable); diff --git a/libcxx/test/std/containers/unord/unord.map/range_concept_conformance.compile.pass.cpp b/libcxx/test/std/containers/unord/unord.map/range_concept_conformance.compile.pass.cpp --- a/libcxx/test/std/containers/unord/unord.map/range_concept_conformance.compile.pass.cpp +++ b/libcxx/test/std/containers/unord/unord.map/range_concept_conformance.compile.pass.cpp @@ -17,13 +17,15 @@ #include #include +#include "test_macros.h" + using range = std::unordered_map; static_assert(std::same_as, range::iterator>); static_assert(std::ranges::common_range); static_assert(std::ranges::forward_range); -static_assert(!std::ranges::bidirectional_range); +LIBCPP_STATIC_ASSERT(!std::ranges::bidirectional_range); static_assert(!std::ranges::view); static_assert(std::ranges::sized_range); static_assert(!std::ranges::borrowed_range); @@ -32,7 +34,7 @@ static_assert(std::same_as, range::const_iterator>); static_assert(std::ranges::common_range); static_assert(std::ranges::forward_range); -static_assert(!std::ranges::bidirectional_range); +LIBCPP_STATIC_ASSERT(!std::ranges::bidirectional_range); static_assert(!std::ranges::view); static_assert(std::ranges::sized_range); static_assert(!std::ranges::borrowed_range); 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 @@ -15,6 +15,8 @@ #include +#include "test_macros.h" + using iterator = std::unordered_multimap::iterator; using const_iterator = std::unordered_multimap::const_iterator; using local_iterator = std::unordered_multimap::local_iterator; @@ -22,42 +24,32 @@ using value_type = std::pair; static_assert(std::forward_iterator); -static_assert(!std::bidirectional_iterator); +LIBCPP_STATIC_ASSERT(!std::bidirectional_iterator); static_assert(!std::indirectly_writable); static_assert(std::sentinel_for); static_assert(std::sentinel_for); -static_assert(!std::sentinel_for); -static_assert(!std::sentinel_for); static_assert(!std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); -static_assert(!std::sized_sentinel_for); -static_assert(!std::sized_sentinel_for); static_assert(std::indirectly_movable*>); static_assert(!std::indirectly_movable_storable*>); static_assert(!std::indirectly_swappable); static_assert(std::forward_iterator); -static_assert(!std::bidirectional_iterator); +LIBCPP_STATIC_ASSERT(!std::bidirectional_iterator); static_assert(!std::indirectly_writable); static_assert(std::sentinel_for); static_assert(std::sentinel_for); -static_assert(!std::sentinel_for); -static_assert(!std::sentinel_for); static_assert(!std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); -static_assert(!std::sized_sentinel_for); -static_assert(!std::sized_sentinel_for); +static_assert(std::indirectly_movable*>); +static_assert(!std::indirectly_movable_storable*>); static_assert(!std::indirectly_swappable); static_assert(std::forward_iterator); -static_assert(!std::bidirectional_iterator); +LIBCPP_STATIC_ASSERT(!std::bidirectional_iterator); static_assert(!std::indirectly_writable); -static_assert(!std::sentinel_for); -static_assert(!std::sentinel_for); static_assert(std::sentinel_for); static_assert(std::sentinel_for); -static_assert(!std::sized_sentinel_for); -static_assert(!std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); static_assert(std::indirectly_movable*>); @@ -65,14 +57,12 @@ static_assert(!std::indirectly_swappable); static_assert(std::forward_iterator); -static_assert(!std::bidirectional_iterator); +LIBCPP_STATIC_ASSERT(!std::bidirectional_iterator); static_assert(!std::indirectly_writable); -static_assert(!std::sentinel_for); -static_assert(!std::sentinel_for); static_assert(std::sentinel_for); static_assert(std::sentinel_for); -static_assert(!std::sized_sentinel_for); -static_assert(!std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); +static_assert(std::indirectly_movable*>); +static_assert(!std::indirectly_movable_storable*>); static_assert(!std::indirectly_swappable); diff --git a/libcxx/test/std/containers/unord/unord.multimap/range_concept_conformance.compile.pass.cpp b/libcxx/test/std/containers/unord/unord.multimap/range_concept_conformance.compile.pass.cpp --- a/libcxx/test/std/containers/unord/unord.multimap/range_concept_conformance.compile.pass.cpp +++ b/libcxx/test/std/containers/unord/unord.multimap/range_concept_conformance.compile.pass.cpp @@ -17,13 +17,15 @@ #include #include +#include "test_macros.h" + using range = std::unordered_multimap; static_assert(std::same_as, range::iterator>); static_assert(std::ranges::common_range); static_assert(std::ranges::forward_range); -static_assert(!std::ranges::bidirectional_range); +LIBCPP_STATIC_ASSERT(!std::ranges::bidirectional_range); static_assert(!std::ranges::view); static_assert(std::ranges::sized_range); static_assert(!std::ranges::borrowed_range); @@ -32,7 +34,7 @@ static_assert(std::same_as, range::const_iterator>); static_assert(std::ranges::common_range); static_assert(std::ranges::forward_range); -static_assert(!std::ranges::bidirectional_range); +LIBCPP_STATIC_ASSERT(!std::ranges::bidirectional_range); static_assert(!std::ranges::view); static_assert(std::ranges::sized_range); static_assert(!std::ranges::borrowed_range); 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 @@ -15,6 +15,8 @@ #include +#include "test_macros.h" + using iterator = std::unordered_multiset::iterator; using const_iterator = std::unordered_multiset::const_iterator; using local_iterator = std::unordered_multiset::local_iterator; @@ -22,42 +24,32 @@ using value_type = int; static_assert(std::forward_iterator); -static_assert(!std::bidirectional_iterator); +LIBCPP_STATIC_ASSERT(!std::bidirectional_iterator); static_assert(!std::indirectly_writable); static_assert(std::sentinel_for); static_assert(std::sentinel_for); -static_assert(!std::sentinel_for); -static_assert(!std::sentinel_for); static_assert(!std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); -static_assert(!std::sized_sentinel_for); -static_assert(!std::sized_sentinel_for); static_assert(std::indirectly_movable); static_assert(std::indirectly_movable_storable); static_assert(!std::indirectly_swappable); static_assert(std::forward_iterator); -static_assert(!std::bidirectional_iterator); +LIBCPP_STATIC_ASSERT(!std::bidirectional_iterator); static_assert(!std::indirectly_writable); static_assert(std::sentinel_for); static_assert(std::sentinel_for); -static_assert(!std::sentinel_for); -static_assert(!std::sentinel_for); static_assert(!std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); -static_assert(!std::sized_sentinel_for); -static_assert(!std::sized_sentinel_for); +static_assert(std::indirectly_movable); +static_assert(std::indirectly_movable_storable); static_assert(!std::indirectly_swappable); static_assert(std::forward_iterator); -static_assert(!std::bidirectional_iterator); +LIBCPP_STATIC_ASSERT(!std::bidirectional_iterator); static_assert(!std::indirectly_writable); -static_assert(!std::sentinel_for); -static_assert(!std::sentinel_for); static_assert(std::sentinel_for); static_assert(std::sentinel_for); -static_assert(!std::sized_sentinel_for); -static_assert(!std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); static_assert(std::indirectly_movable); @@ -65,14 +57,12 @@ static_assert(!std::indirectly_swappable); static_assert(std::forward_iterator); -static_assert(!std::bidirectional_iterator); +LIBCPP_STATIC_ASSERT(!std::bidirectional_iterator); static_assert(!std::indirectly_writable); -static_assert(!std::sentinel_for); -static_assert(!std::sentinel_for); static_assert(std::sentinel_for); static_assert(std::sentinel_for); -static_assert(!std::sized_sentinel_for); -static_assert(!std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); +static_assert(std::indirectly_movable); +static_assert(std::indirectly_movable_storable); static_assert(!std::indirectly_swappable); diff --git a/libcxx/test/std/containers/unord/unord.multiset/range_concept_conformance.compile.pass.cpp b/libcxx/test/std/containers/unord/unord.multiset/range_concept_conformance.compile.pass.cpp --- a/libcxx/test/std/containers/unord/unord.multiset/range_concept_conformance.compile.pass.cpp +++ b/libcxx/test/std/containers/unord/unord.multiset/range_concept_conformance.compile.pass.cpp @@ -17,13 +17,15 @@ #include #include +#include "test_macros.h" + using range = std::unordered_multiset; static_assert(std::same_as, range::iterator>); static_assert(std::ranges::common_range); static_assert(std::ranges::forward_range); -static_assert(!std::ranges::bidirectional_range); +LIBCPP_STATIC_ASSERT(!std::ranges::bidirectional_range); static_assert(!std::ranges::view); static_assert(std::ranges::sized_range); static_assert(!std::ranges::borrowed_range); @@ -32,7 +34,7 @@ static_assert(std::same_as, range::const_iterator>); static_assert(std::ranges::common_range); static_assert(std::ranges::forward_range); -static_assert(!std::ranges::bidirectional_range); +LIBCPP_STATIC_ASSERT(!std::ranges::bidirectional_range); static_assert(!std::ranges::view); static_assert(std::ranges::sized_range); static_assert(!std::ranges::borrowed_range); 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 @@ -15,6 +15,8 @@ #include +#include "test_macros.h" + using iterator = std::unordered_set::iterator; using const_iterator = std::unordered_set::const_iterator; using local_iterator = std::unordered_set::local_iterator; @@ -22,41 +24,31 @@ using value_type = int; static_assert(std::forward_iterator); -static_assert(!std::bidirectional_iterator); +LIBCPP_STATIC_ASSERT(!std::bidirectional_iterator); static_assert(!std::indirectly_writable); static_assert(std::sentinel_for); static_assert(std::sentinel_for); -static_assert(!std::sentinel_for); -static_assert(!std::sentinel_for); static_assert(!std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); -static_assert(!std::sized_sentinel_for); -static_assert(!std::sized_sentinel_for); static_assert(std::indirectly_movable); static_assert(std::indirectly_movable_storable); static_assert(!std::indirectly_swappable); static_assert(std::forward_iterator); -static_assert(!std::bidirectional_iterator); +LIBCPP_STATIC_ASSERT(!std::bidirectional_iterator); static_assert(!std::indirectly_writable); static_assert(std::sentinel_for); static_assert(std::sentinel_for); -static_assert(!std::sentinel_for); -static_assert(!std::sentinel_for); static_assert(!std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); -static_assert(!std::sized_sentinel_for); -static_assert(!std::sized_sentinel_for); +static_assert(std::indirectly_movable); +static_assert(std::indirectly_movable_storable); static_assert(!std::indirectly_swappable); static_assert(std::forward_iterator); -static_assert(!std::bidirectional_iterator); -static_assert(!std::sentinel_for); -static_assert(!std::sentinel_for); +LIBCPP_STATIC_ASSERT(!std::bidirectional_iterator); static_assert(std::sentinel_for); static_assert(std::sentinel_for); -static_assert(!std::sized_sentinel_for); -static_assert(!std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); static_assert(std::indirectly_movable); @@ -64,14 +56,12 @@ static_assert(!std::indirectly_swappable); static_assert(std::forward_iterator); -static_assert(!std::bidirectional_iterator); +LIBCPP_STATIC_ASSERT(!std::bidirectional_iterator); static_assert(!std::indirectly_writable); -static_assert(!std::sentinel_for); -static_assert(!std::sentinel_for); static_assert(std::sentinel_for); static_assert(std::sentinel_for); -static_assert(!std::sized_sentinel_for); -static_assert(!std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); static_assert(!std::sized_sentinel_for); +static_assert(std::indirectly_movable); +static_assert(std::indirectly_movable_storable); static_assert(!std::indirectly_swappable); diff --git a/libcxx/test/std/containers/unord/unord.set/range_concept_conformance.compile.pass.cpp b/libcxx/test/std/containers/unord/unord.set/range_concept_conformance.compile.pass.cpp --- a/libcxx/test/std/containers/unord/unord.set/range_concept_conformance.compile.pass.cpp +++ b/libcxx/test/std/containers/unord/unord.set/range_concept_conformance.compile.pass.cpp @@ -17,13 +17,15 @@ #include #include +#include "test_macros.h" + using range = std::unordered_set; static_assert(std::same_as, range::iterator>); static_assert(std::ranges::common_range); static_assert(std::ranges::forward_range); -static_assert(!std::ranges::bidirectional_range); +LIBCPP_STATIC_ASSERT(!std::ranges::bidirectional_range); static_assert(!std::ranges::view); static_assert(std::ranges::sized_range); static_assert(!std::ranges::borrowed_range); @@ -32,7 +34,7 @@ static_assert(std::same_as, range::const_iterator>); static_assert(std::ranges::common_range); static_assert(std::ranges::forward_range); -static_assert(!std::ranges::bidirectional_range); +LIBCPP_STATIC_ASSERT(!std::ranges::bidirectional_range); static_assert(!std::ranges::view); static_assert(std::ranges::sized_range); static_assert(!std::ranges::borrowed_range);