Skip to content

Commit 13eed4a

Browse files
var-consttru
authored andcommitted
[libc++][ranges] Temporarily mark ranges::join_view as experimental.
This is in anticipation of https://isocpp.org/files/papers/D2770R0.html, which is ABI-breaking for `join_view`. Differential Revision: https://reviews.llvm.org/D142520 (cherry picked from commit c2b3986)
1 parent eeb925a commit 13eed4a

28 files changed

+35
-3
lines changed

libcxx/include/__ranges/join_view.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,10 @@
4040

4141
_LIBCPP_BEGIN_NAMESPACE_STD
4242

43-
#if _LIBCPP_STD_VER > 17
43+
// Note: `join_view` is still marked experimental because there is an ABI-breaking change that affects `join_view` in
44+
// the pipeline (https://isocpp.org/files/papers/D2770R0.html).
45+
// TODO: make `join_view` non-experimental once D2770 is implemented.
46+
#if _LIBCPP_STD_VER > 17 && defined(_LIBCPP_ENABLE_EXPERIMENTAL)
4447

4548
namespace ranges {
4649
template<class>
@@ -445,7 +448,7 @@ struct __segmented_iterator_traits<ranges::__join_view_iterator<_View, _Const>>
445448
}
446449
};
447450

448-
#endif // _LIBCPP_STD_VER > 17
451+
#endif // #if _LIBCPP_STD_VER > 17 && defined(_LIBCPP_ENABLE_EXPERIMENTAL)
449452

450453
_LIBCPP_END_NAMESPACE_STD
451454

libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.segmented.pass.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
//===----------------------------------------------------------------------===//
88

99
// UNSUPPORTED: c++03, c++11, c++14, c++17
10+
// TODO: make `join_view` non-experimental once D2770 is implemented.
11+
// UNSUPPORTED: !c++experimental
1012

1113
#include <algorithm>
1214
#include <array>

libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99
// <algorithm>
1010

1111
// UNSUPPORTED: c++03, c++11, c++14, c++17
12-
12+
// TODO: make `join_view` non-experimental once D2770 is implemented.
13+
// UNSUPPORTED: !c++experimental
1314

1415
// template<bidirectional_iterator I1, sentinel_for<I1> S1, bidirectional_iterator I2>
1516
// requires indirectly_copyable<I1, I2>

libcxx/test/std/library/description/conventions/customization.point.object/cpo.compile.pass.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
//===----------------------------------------------------------------------===//
88

99
// UNSUPPORTED: c++03, c++11, c++14, c++17
10+
// TODO: make `join_view` non-experimental once D2770 is implemented.
11+
// UNSUPPORTED: !c++experimental
1012

1113
// [customization.point.object]
1214
// [range.adaptor.object] "A range adaptor object is a customization point object..."

libcxx/test/std/ranges/range.adaptors/range.join.view/adaptor.pass.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
//===----------------------------------------------------------------------===//
88

99
// UNSUPPORTED: c++03, c++11, c++14, c++17
10+
// UNSUPPORTED: !c++experimental
1011

1112
// std::views::join
1213

libcxx/test/std/ranges/range.adaptors/range.join.view/base.pass.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
//===----------------------------------------------------------------------===//
88

99
// UNSUPPORTED: c++03, c++11, c++14, c++17
10+
// UNSUPPORTED: !c++experimental
1011

1112
// constexpr V base() const& requires copy_constructible<V>;
1213
// constexpr V base() &&;

libcxx/test/std/ranges/range.adaptors/range.join.view/begin.pass.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
//===----------------------------------------------------------------------===//
88

99
// UNSUPPORTED: c++03, c++11, c++14, c++17
10+
// UNSUPPORTED: !c++experimental
1011

1112
// constexpr auto begin();
1213
// constexpr auto begin() const

libcxx/test/std/ranges/range.adaptors/range.join.view/ctad.compile.pass.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
//===----------------------------------------------------------------------===//
88

99
// UNSUPPORTED: c++03, c++11, c++14, c++17
10+
// UNSUPPORTED: !c++experimental
1011

1112
// template<class R>
1213
// explicit join_view(R&&) -> join_view<views::all_t<R>>;

libcxx/test/std/ranges/range.adaptors/range.join.view/ctad.verify.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
//===----------------------------------------------------------------------===//
88

99
// UNSUPPORTED: c++03, c++11, c++14, c++17
10+
// UNSUPPORTED: !c++experimental
1011

1112
// template<class R>
1213
// explicit join_view(R&&) -> join_view<views::all_t<R>>;

libcxx/test/std/ranges/range.adaptors/range.join.view/ctor.default.pass.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
//===----------------------------------------------------------------------===//
88

99
// UNSUPPORTED: c++03, c++11, c++14, c++17
10+
// UNSUPPORTED: !c++experimental
1011

1112
// join_view() requires default_initializable<V> = default;
1213

0 commit comments

Comments
 (0)