Skip to content

Commit d6c4ebb

Browse files
authored
[libc++][ranges] Exports operator|. (#90071)
This was omitted in c108653 and not detected by the CI since clang-tidy is not running. This fixes the exports. Fixes: #89898
1 parent 37a92f9 commit d6c4ebb

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

libcxx/modules/std/ranges.inc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,17 @@ export namespace std {
141141
#if _LIBCPP_STD_VER >= 23
142142
// [range.adaptor.object], range adaptor objects
143143
using std::ranges::range_adaptor_closure;
144+
// Note: This declaration not in the synopsis or explicitly in the wording.
145+
// However it is needed for the range adaptors.
146+
// [range.adaptor.object]/3
147+
// The template parameter D for range_adaptor_closure may be an
148+
// incomplete type. If an expression of type cv D is used as an operand
149+
// to the | operator, D shall be complete and model
150+
// derived_from<range_adaptor_closure<D>>. The behavior of an expression
151+
// involving an object of type cv D as an operand to the | operator is
152+
// undefined if overload resolution selects a program-defined operator|
153+
// function.
154+
using std::ranges::operator|;
144155
#endif
145156

146157
// [range.all], all view

0 commit comments

Comments
 (0)