[libcxx-commits] [libcxx] [libc++][ranges][enumerate_view] Update sentinel `equal` test (PR #222331)

Lucas Mellone via libcxx-commits libcxx-commits at lists.llvm.org
Thu Sep 17 06:47:38 PDT 2026


https://github.com/lknknm updated https://github.com/llvm/llvm-project/pull/222331

>From 0f30945d5de035b6108d9ff0cfb976ccb3b9a3ea Mon Sep 17 00:00:00 2001
From: Lucas Mellone <github.snugness349 at passinbox.com>
Date: Wed, 9 Sep 2026 15:30:53 +0200
Subject: [PATCH 1/3] add: OtherConst test case

---
 .../range.enumerate/sentinel/equal.pass.cpp     | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/libcxx/test/std/ranges/range.adaptors/range.enumerate/sentinel/equal.pass.cpp b/libcxx/test/std/ranges/range.adaptors/range.enumerate/sentinel/equal.pass.cpp
index 7bf2898bcd158..b7058ee359c15 100644
--- a/libcxx/test/std/ranges/range.adaptors/range.enumerate/sentinel/equal.pass.cpp
+++ b/libcxx/test/std/ranges/range.adaptors/range.enumerate/sentinel/equal.pass.cpp
@@ -37,20 +37,31 @@ constexpr void test() {
   std::array array{0, 1, 2, 3, 84};
 
   View mv{Iterator(std::to_address(base(array.begin()))), Sentinel(Iterator(std::to_address(base(array.end()))))};
-  std::ranges::enumerate_view view(std::move(mv));
+  std::ranges::enumerate_view v(std::move(mv));
 
-  auto const it = view.begin();
-  auto const s  = view.end();
+  auto const it   = v.begin();
+  auto const c_it = std::as_const(v).begin();
+  auto const s    = v.end();
 
   std::same_as<bool> decltype(auto) eqItSResult = (it == s);
   assert(!eqItSResult);
   std::same_as<bool> decltype(auto) eqSItResult = (s == it);
   assert(!eqSItResult);
 
+  std::same_as<bool> decltype(auto) eqConstItSResult = (c_it == s);
+  assert(!eqConstItSResult);
+  std::same_as<bool> decltype(auto) eqSConstItResult = (s == c_it);
+  assert(!eqSConstItResult);
+
   std::same_as<bool> decltype(auto) neqItSResult = (it != s);
   assert(neqItSResult);
   std::same_as<bool> decltype(auto) neqSItResult = (s != it);
   assert(neqSItResult);
+
+  std::same_as<bool> decltype(auto) neqConstItSResult = (c_it != s);
+  assert(neqConstItSResult);
+  std::same_as<bool> decltype(auto) neqSConstItResult = (s != c_it);
+  assert(neqSConstItResult);
 }
 
 constexpr bool tests() {

>From 3564d10138235cfc2404a28aaba9b258502fc3f6 Mon Sep 17 00:00:00 2001
From: Lucas Mellone <github.snugness349 at passinbox.com>
Date: Mon, 14 Sep 2026 15:14:05 +0200
Subject: [PATCH 2/3] Update
 libcxx/test/std/ranges/range.adaptors/range.enumerate/sentinel/equal.pass.cpp

Co-authored-by: Hristo Hristov <zingam at outlook.com>
---
 .../range.adaptors/range.enumerate/sentinel/equal.pass.cpp      | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libcxx/test/std/ranges/range.adaptors/range.enumerate/sentinel/equal.pass.cpp b/libcxx/test/std/ranges/range.adaptors/range.enumerate/sentinel/equal.pass.cpp
index b7058ee359c15..f8197dfb7a9d9 100644
--- a/libcxx/test/std/ranges/range.adaptors/range.enumerate/sentinel/equal.pass.cpp
+++ b/libcxx/test/std/ranges/range.adaptors/range.enumerate/sentinel/equal.pass.cpp
@@ -37,7 +37,7 @@ constexpr void test() {
   std::array array{0, 1, 2, 3, 84};
 
   View mv{Iterator(std::to_address(base(array.begin()))), Sentinel(Iterator(std::to_address(base(array.end()))))};
-  std::ranges::enumerate_view v(std::move(mv));
+  std::ranges::enumerate_view ev(std::move(mv));
 
   auto const it   = v.begin();
   auto const c_it = std::as_const(v).begin();

>From 278b8a31e09e08726d6051dea91f816e20365e8d Mon Sep 17 00:00:00 2001
From: Lucas Mellone <github.snugness349 at passinbox.com>
Date: Mon, 14 Sep 2026 15:14:23 +0200
Subject: [PATCH 3/3] Apply batched suggestions from code review

Co-authored-by: Hristo Hristov <zingam at outlook.com>
---
 .../range.adaptors/range.enumerate/sentinel/equal.pass.cpp    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libcxx/test/std/ranges/range.adaptors/range.enumerate/sentinel/equal.pass.cpp b/libcxx/test/std/ranges/range.adaptors/range.enumerate/sentinel/equal.pass.cpp
index f8197dfb7a9d9..1264f8d99a2db 100644
--- a/libcxx/test/std/ranges/range.adaptors/range.enumerate/sentinel/equal.pass.cpp
+++ b/libcxx/test/std/ranges/range.adaptors/range.enumerate/sentinel/equal.pass.cpp
@@ -41,7 +41,7 @@ constexpr void test() {
 
   auto const it   = v.begin();
   auto const c_it = std::as_const(v).begin();
-  auto const s    = v.end();
+  auto const st    = v.end();
 
   std::same_as<bool> decltype(auto) eqItSResult = (it == s);
   assert(!eqItSResult);
@@ -64,7 +64,7 @@ constexpr void test() {
   assert(neqSConstItResult);
 }
 
-constexpr bool tests() {
+constexpr bool test() {
   test<cpp17_input_iterator<int*>>();
   test<cpp20_input_iterator<int*>>();
   test<forward_iterator<int*>>();



More information about the libcxx-commits mailing list