diff options
-rw-r--r-- | libstdc++-v3/include/std/ranges | 2 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/std/ranges/istream_view.cc | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/libstdc++-v3/include/std/ranges b/libstdc++-v3/include/std/ranges index df74ac9..d791e15 100644 --- a/libstdc++-v3/include/std/ranges +++ b/libstdc++-v3/include/std/ranges @@ -1232,7 +1232,7 @@ namespace views::__adaptor _M_get(const _Range&) const { __glibcxx_assert(false); - return {}; + __builtin_unreachable(); } constexpr void diff --git a/libstdc++-v3/testsuite/std/ranges/istream_view.cc b/libstdc++-v3/testsuite/std/ranges/istream_view.cc index 369790e..2f15f78 100644 --- a/libstdc++-v3/testsuite/std/ranges/istream_view.cc +++ b/libstdc++-v3/testsuite/std/ranges/istream_view.cc @@ -83,6 +83,17 @@ test04() static_assert(!std::forward_iterator<It>); } +void +test05() +{ + // PR libstdc++/101231 + auto words = std::istringstream{"42"}; + auto is = ranges::istream_view<int>(words); + auto r = is | views::filter([](auto) { return true; }); + for (auto x : r) + ; +} + int main() { @@ -90,4 +101,5 @@ main() test02(); test03(); test04(); + test05(); } |