[libcxx-commits] [libcxx] libc++ test: update MinSequenceContainer.h to make some tests pass on MSVC STL (PR #140287)

Alex Guteniev via libcxx-commits libcxx-commits at lists.llvm.org
Fri May 16 11:13:39 PDT 2025


https://github.com/AlexGuteniev updated https://github.com/llvm/llvm-project/pull/140287

>From 3cc37fb1039f5895f9c35cf4fe1dea8e88a5a566 Mon Sep 17 00:00:00 2001
From: Alex Guteniev <gutenev at gmail.com>
Date: Fri, 16 May 2025 20:50:08 +0300
Subject: [PATCH 1/3] libc++ test: update MinSequenceContainer.h to make some
 tests pass on MSVC STL

---
 libcxx/test/support/MinSequenceContainer.h | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/libcxx/test/support/MinSequenceContainer.h b/libcxx/test/support/MinSequenceContainer.h
index 6e61aff06344b..b17ced6dfc2ff 100644
--- a/libcxx/test/support/MinSequenceContainer.h
+++ b/libcxx/test/support/MinSequenceContainer.h
@@ -28,6 +28,13 @@ struct MinSequenceContainer {
   template <class It>
   explicit MinSequenceContainer(It first, It last) : data_(first, last) {}
   MinSequenceContainer(std::initializer_list<T> il) : data_(il) {}
+
+  template <class It>
+  void assign(It first, It last) {
+    data_.assign(first, last);
+  }
+  void assign(std::initializer_list<T> il) { data_.assign(il); }
+  void assign(size_type n, value_type t) { data_.assign(n, t); }
   iterator begin() { return iterator(data_.data()); }
   const_iterator begin() const { return const_iterator(data_.data()); }
   const_iterator cbegin() const { return const_iterator(data_.data()); }
@@ -47,6 +54,8 @@ struct MinSequenceContainer {
     return from_vector_iterator(data_.insert(to_vector_iterator(p), std::move(value)));
   }
 
+  iterator insert_range(const_iterator p, auto rg) { return data_.insert_range((to_vector_iterator(p), rg); }
+
   iterator erase(const_iterator first, const_iterator last) {
     return from_vector_iterator(data_.erase(to_vector_iterator(first), to_vector_iterator(last)));
   }

>From 80c9da7280cab868d5ea2c0550a85b91d8b9e41a Mon Sep 17 00:00:00 2001
From: Alex Guteniev <gutenev at gmail.com>
Date: Fri, 16 May 2025 20:57:31 +0300
Subject: [PATCH 2/3] Update MinSequenceContainer.h

---
 libcxx/test/support/MinSequenceContainer.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libcxx/test/support/MinSequenceContainer.h b/libcxx/test/support/MinSequenceContainer.h
index b17ced6dfc2ff..db875b9243579 100644
--- a/libcxx/test/support/MinSequenceContainer.h
+++ b/libcxx/test/support/MinSequenceContainer.h
@@ -54,7 +54,8 @@ struct MinSequenceContainer {
     return from_vector_iterator(data_.insert(to_vector_iterator(p), std::move(value)));
   }
 
-  iterator insert_range(const_iterator p, auto rg) { return data_.insert_range((to_vector_iterator(p), rg); }
+  iterator insert_range(const_iterator p, auto rg) { return data_.insert_range((to_vector_iterator(p), rg);
+  }
 
   iterator erase(const_iterator first, const_iterator last) {
     return from_vector_iterator(data_.erase(to_vector_iterator(first), to_vector_iterator(last)));

>From 3a0bcac1b8a8ae983fe92f2feff03f18981efb60 Mon Sep 17 00:00:00 2001
From: Alex Guteniev <gutenev at gmail.com>
Date: Fri, 16 May 2025 21:13:31 +0300
Subject: [PATCH 3/3] remove extra `(`

---
 libcxx/test/support/MinSequenceContainer.h | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/libcxx/test/support/MinSequenceContainer.h b/libcxx/test/support/MinSequenceContainer.h
index db875b9243579..3a7d4df7fb058 100644
--- a/libcxx/test/support/MinSequenceContainer.h
+++ b/libcxx/test/support/MinSequenceContainer.h
@@ -54,8 +54,7 @@ struct MinSequenceContainer {
     return from_vector_iterator(data_.insert(to_vector_iterator(p), std::move(value)));
   }
 
-  iterator insert_range(const_iterator p, auto rg) { return data_.insert_range((to_vector_iterator(p), rg);
-  }
+  iterator insert_range(const_iterator p, auto rg) { return data_.insert_range(to_vector_iterator(p), rg); }
 
   iterator erase(const_iterator first, const_iterator last) {
     return from_vector_iterator(data_.erase(to_vector_iterator(first), to_vector_iterator(last)));



More information about the libcxx-commits mailing list