[libcxx-commits] [libcxx] [libc++] Fix adjacent_view iterator member_types test for ForwardSizedView (PR #201853)

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Thu Jul 30 05:27:04 PDT 2026


https://github.com/ldionne updated https://github.com/llvm/llvm-project/pull/201853

>From c16111150833fc53bc17dedd69b47ff68e846b1c Mon Sep 17 00:00:00 2001
From: Zibi Sarbinowski <zibi at ca.ibm.com>
Date: Fri, 5 Jun 2026 10:39:26 -0400
Subject: [PATCH 1/3] Fix adjacent_view iterator member_types test for
 ForwardSizedView

---
 .../range.adjacent/iterator/member_types.compile.pass.cpp   | 2 +-
 .../iterator/member_types.compile.pass.cpp                  | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/member_types.compile.pass.cpp b/libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/member_types.compile.pass.cpp
index f333d0200365e..8fb5bdd1b1ebf 100644
--- a/libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/member_types.compile.pass.cpp
+++ b/libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/member_types.compile.pass.cpp
@@ -110,7 +110,7 @@ void test() {
 
     static_assert(std::is_same_v<typename Iter::iterator_concept, std::forward_iterator_tag>);
     static_assert(std::is_same_v<typename Iter::iterator_category, std::input_iterator_tag>);
-    static_assert(std::is_same_v<typename Iter::difference_type, std::ptrdiff_t>);
+    static_assert(std::is_same_v<typename Iter::difference_type, std::intptr_t>);
     static_assert(std::is_same_v<typename Iter::value_type, expected_value_type>);
   }
 
diff --git a/libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/member_types.compile.pass.cpp b/libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/member_types.compile.pass.cpp
index 222f9e43974fb..02ae77108b7cb 100644
--- a/libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/member_types.compile.pass.cpp
+++ b/libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/member_types.compile.pass.cpp
@@ -102,7 +102,7 @@ void test() {
 
     static_assert(std::is_same_v<Iter::iterator_concept, std::forward_iterator_tag>);
     static_assert(std::is_same_v<Iter::iterator_category, std::forward_iterator_tag>);
-    static_assert(std::is_same_v<Iter::difference_type, std::ptrdiff_t>);
+    static_assert(std::is_same_v<Iter::difference_type, std::intptr_t>);
     static_assert(std::is_same_v<Iter::value_type, int>);
     static_assert(HasIterCategory<Iter>);
   }
@@ -114,7 +114,7 @@ void test() {
 
     static_assert(std::is_same_v<Iter::iterator_concept, std::forward_iterator_tag>);
     static_assert(std::is_same_v<Iter::iterator_category, std::input_iterator_tag>);
-    static_assert(std::is_same_v<Iter::difference_type, std::ptrdiff_t>);
+    static_assert(std::is_same_v<Iter::difference_type, std::intptr_t>);
     static_assert(std::is_same_v<Iter::value_type, std::tuple<int>>);
     static_assert(HasIterCategory<Iter>);
   }
@@ -125,7 +125,7 @@ void test() {
     using Iter = decltype(v.begin());
 
     static_assert(std::is_same_v<Iter::iterator_concept, std::input_iterator_tag>);
-    static_assert(std::is_same_v<Iter::difference_type, std::ptrdiff_t>);
+    static_assert(std::is_same_v<Iter::difference_type, std::intptr_t>);
     static_assert(std::is_same_v<Iter::value_type, int>);
     static_assert(!HasIterCategory<Iter>);
   }

>From dd99dc685490053ae09e14c4ab37af287ba7fd80 Mon Sep 17 00:00:00 2001
From: Zibi Sarbinowski <zibi at ca.ibm.com>
Date: Mon, 8 Jun 2026 12:59:41 +0000
Subject: [PATCH 2/3] Fix adjacent_transform_view iterator member_types test
 for ForwardSizedView

---
 .../iterator/member_types.compile.pass.cpp                      | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/iterator/member_types.compile.pass.cpp b/libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/iterator/member_types.compile.pass.cpp
index 684569516d747..364c61ce147f3 100644
--- a/libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/iterator/member_types.compile.pass.cpp
+++ b/libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/iterator/member_types.compile.pass.cpp
@@ -97,7 +97,7 @@ void test() {
 
     static_assert(std::is_same_v<typename Iter::iterator_concept, std::forward_iterator_tag>);
     static_assert(std::is_same_v<typename Iter::iterator_category, Cat>);
-    static_assert(std::is_same_v<typename Iter::difference_type, std::ptrdiff_t>);
+    static_assert(std::is_same_v<typename Iter::difference_type, std::intptr_t>);
     static_assert(std::is_same_v<typename Iter::value_type, ExpectedValueType>);
   }
 

>From c59da0573330330d3bb0d306ecbc8622aa37b3ce Mon Sep 17 00:00:00 2001
From: Louis Dionne <ldionne.2 at gmail.com>
Date: Thu, 30 Jul 2026 08:26:38 -0400
Subject: [PATCH 3/3] Add missing includes

---
 .../iterator/member_types.compile.pass.cpp                       | 1 +
 .../range.adjacent/iterator/member_types.compile.pass.cpp        | 1 +
 .../range.zip.transform/iterator/member_types.compile.pass.cpp   | 1 +
 3 files changed, 3 insertions(+)

diff --git a/libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/iterator/member_types.compile.pass.cpp b/libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/iterator/member_types.compile.pass.cpp
index 364c61ce147f3..fb810327a1541 100644
--- a/libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/iterator/member_types.compile.pass.cpp
+++ b/libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/iterator/member_types.compile.pass.cpp
@@ -11,6 +11,7 @@
 // Iterator traits and member typedefs in adjacent_transform_view::iterator.
 
 #include <array>
+#include <cstdint>
 #include <iterator>
 #include <ranges>
 #include <tuple>
diff --git a/libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/member_types.compile.pass.cpp b/libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/member_types.compile.pass.cpp
index 8fb5bdd1b1ebf..d2408f00fb770 100644
--- a/libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/member_types.compile.pass.cpp
+++ b/libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/member_types.compile.pass.cpp
@@ -11,6 +11,7 @@
 // Iterator traits and member typedefs in adjacent_view::iterator.
 
 #include <array>
+#include <cstdint>
 #include <iterator>
 #include <ranges>
 #include <tuple>
diff --git a/libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/member_types.compile.pass.cpp b/libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/member_types.compile.pass.cpp
index 02ae77108b7cb..07f06440ca3ef 100644
--- a/libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/member_types.compile.pass.cpp
+++ b/libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/member_types.compile.pass.cpp
@@ -11,6 +11,7 @@
 // Iterator traits and member typedefs in zip_transform_view::iterator.
 
 #include <array>
+#include <cstdint>
 #include <ranges>
 
 #include "test_iterators.h"



More information about the libcxx-commits mailing list