[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