[libcxx-commits] [libcxx] [libcxx] adds ranges::fold_left_with_iter and ranges::fold_left (PR #75259)
Christopher Di Bella via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Dec 14 16:09:20 PST 2023
================
@@ -0,0 +1,203 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// UNSUPPORTED: c++03, c++11, c++14, c++17, c++20
+
+// Checks that `std::ranges::fold_left_with_iter`'s requirements are correct.
+
+#include <algorithm>
+#include <concepts>
+#include <functional>
+#include <iterator>
+#include <ranges>
+
+#include "test_range.h"
+#include "test_iterators.h"
+#include "../requirements.h"
+
+// expected-error@*:* 19 {{no matching function for call to object of type 'const __fold_left_with_iter'}}
+
+void test_iterator() {
----------------
cjdb wrote:
These were originally static_asserts, but you'd mentioned that you didn't like those, and that a verify test would be better. We need a way to ensure that the requirements are present, and this is the only alternative.
https://github.com/llvm/llvm-project/pull/75259
More information about the libcxx-commits
mailing list