aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2020-09-07 20:09:17 +0100
committerJonathan Wakely <jwakely@redhat.com>2020-09-07 20:09:17 +0100
commit00ffe730072f5e2e1923692163dc37db7b3784cb (patch)
treeb08c7da59a99cecb1ca705f3b1dee9e94fe1805f
parente147bb0faad95ed8699c426484ed3dd026fd3366 (diff)
downloadgcc-00ffe730072f5e2e1923692163dc37db7b3784cb.zip
gcc-00ffe730072f5e2e1923692163dc37db7b3784cb.tar.gz
gcc-00ffe730072f5e2e1923692163dc37db7b3784cb.tar.bz2
libstdc++: Simplify constraints for semiregular-box [LWG 3477]
libstdc++-v3/ChangeLog: * include/std/ranges (__box): Simplify constraints as per LWG 3477.
-rw-r--r--libstdc++-v3/include/std/ranges6
1 files changed, 4 insertions, 2 deletions
diff --git a/libstdc++-v3/include/std/ranges b/libstdc++-v3/include/std/ranges
index 054ffe8..23a04d6 100644
--- a/libstdc++-v3/include/std/ranges
+++ b/libstdc++-v3/include/std/ranges
@@ -494,10 +494,12 @@ namespace ranges
using std::optional<_Tp>::operator=;
+ // _GLIBCXX_RESOLVE_LIB_DEFECTS
+ // 3477. Simplify constraints for semiregular-box
__box&
operator=(const __box& __that)
noexcept(is_nothrow_copy_constructible_v<_Tp>)
- requires (!assignable_from<_Tp&, const _Tp&>)
+ requires (!copyable<_Tp>)
{
if ((bool)__that)
this->emplace(*__that);
@@ -509,7 +511,7 @@ namespace ranges
__box&
operator=(__box&& __that)
noexcept(is_nothrow_move_constructible_v<_Tp>)
- requires (!assignable_from<_Tp&, _Tp>)
+ requires (!movable<_Tp>)
{
if ((bool)__that)
this->emplace(std::move(*__that));