[all-commits] [llvm/llvm-project] 11b58f: [libc++][ranges] P3059R2: Making user-defined cons...
Hristo Hristov via All-commits
all-commits at lists.llvm.org
Thu Jul 30 07:57:34 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 11b58f0e4c84437b2c39e0e5cc415077b3fe06d3
https://github.com/llvm/llvm-project/commit/11b58f0e4c84437b2c39e0e5cc415077b3fe06d3
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-07-30 (Thu, 30 Jul 2026)
Changed paths:
M libcxx/docs/ReleaseNotes/24.rst
M libcxx/docs/Status/Cxx26Papers.csv
M libcxx/include/__ranges/elements_view.h
M libcxx/include/__ranges/filter_view.h
M libcxx/include/__ranges/iota_view.h
M libcxx/include/__ranges/istream_view.h
M libcxx/include/__ranges/join_view.h
M libcxx/include/__ranges/lazy_split_view.h
M libcxx/include/__ranges/split_view.h
M libcxx/include/__ranges/take_view.h
M libcxx/include/__ranges/take_while_view.h
M libcxx/include/__ranges/transform_view.h
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/base.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.elements/iterator/ctor.base.compile.pass.cpp
R libcxx/test/std/ranges/range.adaptors/range.elements/iterator/ctor.base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/base.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/ctor.base.compile.pass.cpp
R libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/ctor.base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/ctor.convert.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/arrow.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/base.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.filter/iterator/ctor.parent.iter.compile.pass.cpp
R libcxx/test/std/ranges/range.adaptors/range.filter/iterator/ctor.parent_iter.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/deref.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.filter/sentinel/ctor.parent.compile.pass.cpp
R libcxx/test/std/ranges/range.adaptors/range.filter/sentinel/ctor.parent.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/ctor.parent.compile.pass.cpp
R libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/ctor.parent.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/ctor.outer_iterator.compile.pass.cpp
R libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/ctor.outer_iterator.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/ctor.parent.base.compile.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/ctor.parent.compile.pass.cpp
R libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/ctor.parent.pass.cpp
R libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/ctor.parent_base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.split/iterator/base.pass.cpp
R libcxx/test/std/ranges/range.adaptors/range.split/iterator/ctor.base.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.split/iterator/ctor.parent.iter.subrange.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.split/iterator/deref.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.split/sentinel/ctor.parent.compile.pass.cpp
R libcxx/test/std/ranges/range.adaptors/range.split/sentinel/ctor.parent.pass.cpp
R libcxx/test/std/ranges/range.adaptors/range.take.while/sentinel/ctor.base.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.take.while/sentinel/ctor.base.pred.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take.while/sentinel/ctor.convert.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.take/range.take.sentinel/ctor.base.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take/range.take.sentinel/ctor.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.transform/iterator/ctor.parent.iter.compile.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.transform/sentinel/ctor.base.compile.pass.cpp
A libcxx/test/std/ranges/range.factories/range.iota.view/iterator/ctor.value.compile.pass.cpp
R libcxx/test/std/ranges/range.factories/range.iota.view/iterator/ctor.value.pass.cpp
A libcxx/test/std/ranges/range.factories/range.iota.view/sentinel/ctor.value.compile.pass.cpp
R libcxx/test/std/ranges/range.factories/range.iota.view/sentinel/ctor.value.pass.cpp
M libcxx/test/std/ranges/range.factories/range.istream.view/ctor.pass.cpp
A libcxx/test/std/ranges/range.factories/range.istream.view/iterator/ctor.parent.compile.pass.cpp
R libcxx/test/std/ranges/range.factories/range.istream.view/iterator/ctor.pass.cpp
M libcxx/test/std/ranges/range.factories/range.istream.view/iterator/deref.pass.cpp
Log Message:
-----------
[libc++][ranges] P3059R2: Making user-defined constructors of view iterators/sentinels private (#193891)
Implements https://wg21.link/P3059R2 (DR)
Closes #189599
1. Made constructors of iterator and sentinel types of the following
views private:
- `iota_view`
- `basic_istream_view`
- `filter_view`
- `transform_view`
- `take_view`
- `take_while_view`
- `join_view`
- `lazy_split_view`
- `split_view`
- `elements_view`
2. Updated all relevant tests to fix the usages of the now private
constructor, including:
1. Removed now obsolete tests (files and cases).
2. Updated all relevant tests to get the iterators and the sentinels via
`begin()` and `end()`, wherever applicable .
3. Added test cases to confirm that P3059R2 was implemented properly.
4. Minor other (necessary) tweaks.
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Co-authored-by: A. Jiang <de34 at live.cn>
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list