[libcxx-commits] [libcxx] [libc++][ranges][enumerate_view] Update `size.pass.cpp` (PR #233777)
Lucas Mellone via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Oct 20 03:35:25 PDT 2026
https://github.com/lknknm updated https://github.com/llvm/llvm-project/pull/233777
>From af26d31c9a67eeb6c8b028fd0e1a332f8b068be4 Mon Sep 17 00:00:00 2001
From: Lucas Mellone <github.snugness349 at passinbox.com>
Date: Tue, 20 Oct 2026 12:25:25 +0200
Subject: [PATCH 1/3] update: enumerate/size.pass.cpp
---
.../range.adaptors/range.enumerate/size.pass.cpp | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/libcxx/test/std/ranges/range.adaptors/range.enumerate/size.pass.cpp b/libcxx/test/std/ranges/range.adaptors/range.enumerate/size.pass.cpp
index 3e641d97ebecb3..a6b471405a3c2b 100644
--- a/libcxx/test/std/ranges/range.adaptors/range.enumerate/size.pass.cpp
+++ b/libcxx/test/std/ranges/range.adaptors/range.enumerate/size.pass.cpp
@@ -38,6 +38,18 @@ static_assert(!std::ranges::sized_range<const NonSizedRangeView>);
static_assert(!HasMemberSize<std::ranges::enumerate_view<NonSizedRangeView>>);
static_assert(!HasMemberSize<const std::ranges::enumerate_view<NonSizedRangeView>>);
+struct NonConstSizedView : std::ranges::view_base {
+ using iterator = forward_iterator<int*>;
+ iterator begin() const;
+ iterator end() const;
+ std::size_t size();
+};
+
+static_assert(std::ranges::sized_range<NonConstSizedView>);
+static_assert(!std::ranges::sized_range<const NonConstSizedView>);
+static_assert(HasMemberSize<std::ranges::enumerate_view<NonConstSizedView>>);
+static_assert(!HasMemberSize<const std::ranges::enumerate_view<NonConstSizedView>>);
+
constexpr bool test() {
int buffer[] = {1, 2, 3};
>From b396b79e503c22a55c85c0a74cbfd2a8fd56e2c2 Mon Sep 17 00:00:00 2001
From: Lucas Mellone <github.snugness349 at passinbox.com>
Date: Tue, 20 Oct 2026 12:30:46 +0200
Subject: [PATCH 2/3] add comment
---
.../test/std/ranges/range.adaptors/range.enumerate/size.pass.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/libcxx/test/std/ranges/range.adaptors/range.enumerate/size.pass.cpp b/libcxx/test/std/ranges/range.adaptors/range.enumerate/size.pass.cpp
index a6b471405a3c2b..84a2c6331df40f 100644
--- a/libcxx/test/std/ranges/range.adaptors/range.enumerate/size.pass.cpp
+++ b/libcxx/test/std/ranges/range.adaptors/range.enumerate/size.pass.cpp
@@ -45,6 +45,7 @@ struct NonConstSizedView : std::ranges::view_base {
std::size_t size();
};
+// Test the pathological type where it is sized if it's const but not sized if it's const.
static_assert(std::ranges::sized_range<NonConstSizedView>);
static_assert(!std::ranges::sized_range<const NonConstSizedView>);
static_assert(HasMemberSize<std::ranges::enumerate_view<NonConstSizedView>>);
>From b5547a2543228944c3949737002329f2d26672e0 Mon Sep 17 00:00:00 2001
From: Lucas Mellone <github.snugness349 at passinbox.com>
Date: Tue, 20 Oct 2026 12:35:13 +0200
Subject: [PATCH 3/3] fix: clang-format
---
.../ranges/range.adaptors/range.enumerate/size.pass.cpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/libcxx/test/std/ranges/range.adaptors/range.enumerate/size.pass.cpp b/libcxx/test/std/ranges/range.adaptors/range.enumerate/size.pass.cpp
index 84a2c6331df40f..5e303ceff48f13 100644
--- a/libcxx/test/std/ranges/range.adaptors/range.enumerate/size.pass.cpp
+++ b/libcxx/test/std/ranges/range.adaptors/range.enumerate/size.pass.cpp
@@ -39,10 +39,10 @@ static_assert(!HasMemberSize<std::ranges::enumerate_view<NonSizedRangeView>>);
static_assert(!HasMemberSize<const std::ranges::enumerate_view<NonSizedRangeView>>);
struct NonConstSizedView : std::ranges::view_base {
- using iterator = forward_iterator<int*>;
- iterator begin() const;
- iterator end() const;
- std::size_t size();
+ using iterator = forward_iterator<int*>;
+ iterator begin() const;
+ iterator end() const;
+ std::size_t size();
};
// Test the pathological type where it is sized if it's const but not sized if it's const.
More information about the libcxx-commits
mailing list