From a6aab45b60ef61d96f47fa382f1139135c8fb461 Mon Sep 17 00:00:00 2001 From: Michael Schellenberger Costa Date: Wed, 9 Jun 2021 12:12:04 +0200 Subject: [PATCH 1/2] Adopt LWG-3553 as this is only internal machinery, I did not add any tests Adresses #1965 --- stl/inc/ranges | 8 +------- stl/inc/yvals_core.h | 1 + 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/stl/inc/ranges b/stl/inc/ranges index 7f50c4a62e3..7ecb958a01f 100644 --- a/stl/inc/ranges +++ b/stl/inc/ranges @@ -3074,16 +3074,10 @@ namespace ranges { is_nothrow_move_constructible_v<_Outer_iter>) // strengthened : _First{_STD move(_First_)} {} - _NODISCARD constexpr auto begin() const requires copyable<_Outer_iter> { + _NODISCARD constexpr auto begin() const { return _Inner_iter<_Const>{_First}; } - // clang-format off - _NODISCARD constexpr auto begin() requires (!copyable<_Outer_iter>) { - return _Inner_iter<_Const>{_STD move(_First)}; - } - // clang-format on - _NODISCARD constexpr default_sentinel_t end() const noexcept { return default_sentinel; } diff --git a/stl/inc/yvals_core.h b/stl/inc/yvals_core.h index 3b2c62061be..24ac860bd97 100644 --- a/stl/inc/yvals_core.h +++ b/stl/inc/yvals_core.h @@ -249,6 +249,7 @@ // _HAS_CXX20 indirectly controls: // P0619R4 Removing C++17-Deprecated Features +// LWG-3553 Remove constraint in split_view::outer-iterator::value_type::begin() // _HAS_CXX20 and _SILENCE_ALL_CXX20_DEPRECATION_WARNINGS control: // P0767R1 Deprecating is_pod From ca1ff899496940c4b98edea78d6788b8e2918011 Mon Sep 17 00:00:00 2001 From: Michael Schellenberger Costa Date: Thu, 10 Jun 2021 13:58:05 +0200 Subject: [PATCH 2/2] drop mentions in yvals_core --- stl/inc/yvals_core.h | 1 - 1 file changed, 1 deletion(-) diff --git a/stl/inc/yvals_core.h b/stl/inc/yvals_core.h index 24ac860bd97..3b2c62061be 100644 --- a/stl/inc/yvals_core.h +++ b/stl/inc/yvals_core.h @@ -249,7 +249,6 @@ // _HAS_CXX20 indirectly controls: // P0619R4 Removing C++17-Deprecated Features -// LWG-3553 Remove constraint in split_view::outer-iterator::value_type::begin() // _HAS_CXX20 and _SILENCE_ALL_CXX20_DEPRECATION_WARNINGS control: // P0767R1 Deprecating is_pod