[pushed] libstdc++: Fix template-head of repeat_view::_Iterator [PR109111]

Message ID 20230314232005.1575584-1-ppalka@redhat.com
State Committed
Commit 578f633ddabd62b41beed635697c95ee2aaa39c0
Headers
Series [pushed] libstdc++: Fix template-head of repeat_view::_Iterator [PR109111] |

Commit Message

Patrick Palka March 14, 2023, 11:20 p.m. UTC
  Tested on x86_64-pc-linux-gnu, pushed to trunk as obvious.

-- >8 --

	PR libstdc++/109111

libstdc++-v3/ChangeLog:

	* include/std/ranges (repeat_view): Remove redundant parentheses
	in requires-clause.
	(repeat_view::_Iterator): Correct the requires-clause.
---
 libstdc++-v3/include/std/ranges | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
  

Patch

diff --git a/libstdc++-v3/include/std/ranges b/libstdc++-v3/include/std/ranges
index 0725e700c47..b230ebefcf5 100644
--- a/libstdc++-v3/include/std/ranges
+++ b/libstdc++-v3/include/std/ranges
@@ -7407,8 +7407,8 @@  namespace views::__adaptor
 #define __cpp_lib_ranges_repeat 202207L
 
   template<copy_constructible _Tp, semiregular _Bound = unreachable_sentinel_t>
-    requires (is_object_v<_Tp> && same_as<_Tp, remove_cv_t<_Tp>>
-      && (__detail::__is_integer_like<_Bound> || same_as<_Bound, unreachable_sentinel_t>))
+    requires is_object_v<_Tp> && same_as<_Tp, remove_cv_t<_Tp>>
+      && (__detail::__is_integer_like<_Bound> || same_as<_Bound, unreachable_sentinel_t>)
   class repeat_view : public view_interface<repeat_view<_Tp, _Bound>>
   {
     __detail::__box<_Tp> _M_value;
@@ -7472,7 +7472,8 @@  namespace views::__adaptor
     repeat_view(_Tp, _Bound) -> repeat_view<_Tp, _Bound>;
 
   template<copy_constructible _Tp, semiregular _Bound>
-    requires __detail::__is_integer_like<_Bound> || same_as<_Bound, unreachable_sentinel_t>
+    requires is_object_v<_Tp> && same_as<_Tp, remove_cv_t<_Tp>>
+      && (__detail::__is_integer_like<_Bound> || same_as<_Bound, unreachable_sentinel_t>)
   class repeat_view<_Tp, _Bound>::_Iterator
   {
     using __index_type