[libcxx-commits] [libcxx] 5c7dc8e - [libc++][ranges] Add missing test cases for `[[nodiscard]]` tests in `enumerate_view` (#209289)
via libcxx-commits
libcxx-commits at lists.llvm.org
Sun Jul 19 06:37:10 PDT 2026
Author: Lucas Mellone
Date: 2026-07-19T16:37:05+03:00
New Revision: 5c7dc8e7d72e8f833e5fa4d4790e93ff76b51304
URL: https://github.com/llvm/llvm-project/commit/5c7dc8e7d72e8f833e5fa4d4790e93ff76b51304
DIFF: https://github.com/llvm/llvm-project/commit/5c7dc8e7d72e8f833e5fa4d4790e93ff76b51304.diff
LOG: [libc++][ranges] Add missing test cases for `[[nodiscard]]` tests in `enumerate_view` (#209289)
Addresses missing `[[nodiscard]]` test cases for
`std::views::enumerate`.
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Added:
Modified:
libcxx/test/libcxx/ranges/range.adaptors/range.enumerate/nodiscard.verify.cpp
Removed:
################################################################################
diff --git a/libcxx/test/libcxx/ranges/range.adaptors/range.enumerate/nodiscard.verify.cpp b/libcxx/test/libcxx/ranges/range.adaptors/range.enumerate/nodiscard.verify.cpp
index 06b0d6a8c148b..99b57f6c5465c 100644
--- a/libcxx/test/libcxx/ranges/range.adaptors/range.enumerate/nodiscard.verify.cpp
+++ b/libcxx/test/libcxx/ranges/range.adaptors/range.enumerate/nodiscard.verify.cpp
@@ -12,10 +12,21 @@
#include <ranges>
#include <utility>
-#include <vector>
+
+struct View : std::ranges::view_interface<View> {
+ int* begin();
+ const int* begin() const;
+ volatile int* end();
+ const volatile int* end() const;
+};
+static_assert(!std::ranges::common_range<View>);
+static_assert(!std::same_as<std::ranges::iterator_t<View>, std::ranges::iterator_t<const View>>);
+static_assert(!std::same_as<std::ranges::sentinel_t<View>, std::ranges::sentinel_t<const View>>);
+static_assert(std::ranges::sized_range<View>);
+static_assert(std::ranges::forward_range<View>);
void test() {
- std::vector<int> range;
+ View range;
std::ranges::enumerate_view ev{range};
// [range.enumerate.view]
@@ -55,6 +66,8 @@ void test() {
// expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
it + 1;
// expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ 1 + it;
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
it - 1;
// expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
it - it;
@@ -78,4 +91,4 @@ void test() {
// expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
std::views::enumerate(range);
-}
\ No newline at end of file
+}
More information about the libcxx-commits
mailing list